[rescue] The Machine Emulator (TME) on a Mac?

r.stricklin bear at typewritten.org
Wed May 7 21:02:16 CDT 2014


Coincidentally I've been working a bit on this lately too.

What I've learned (basically a lot of everything-is-linux assumptions)

1) non-portable use of echo -n. solve this by use of CONFIG_SHELL (on linux
/bin/sh is the same thing as bash, which is a horrible assumption in a shell
script).

    CONFIG_SHELL=/usr/bin/bash ./configure [...]

2) non-portable use of character ranges with tr. There are a number of places
where a shell script needs to mash case and uses "tr a-z A-Z" instead of "tr
[a-z] [A-Z]" and this falls down unless you have gnu tr. this affects building
on solaris 11 for example, but not OS X.

3) assumptions are made around how the shared libraries are loaded that don't
seem to function well on OS X. this is hinted at in the build instructions on
the web site. I haven't come up with a truly satisfying solution to this.
confounding the issue is that if you have built libpng, libtiff, or others to
satisfy GTK dependencies, having them in your library path will screw
everything up as they export function names that are the same as ones in the
built-in frameworks.

4) -Werror, as you've noticed (OS X and Solaris 11 both). ./configure
--disable-warnings

Even after all this there's still something messed up building on Solaris , as
it gets to a certain point and tries to dynamically re-generate some header
files it already generated, with new content (why?!) and that isn't happening
right, causing unterminated #ifndef (and probably other problems).

Some of these failures are silent, even without --disable-warnings.

Here is my patch for fixing the tr atrocities.
    http://www.typewritten.org/junk/tme-fix-tr-use.patch


ok
bear.



On May 7, 2014, at 2:04 PM, Earl Baugh wrote:

>> Date: Wed, 7 May 2014 12:40:07 -0400
>> From: John Ruschmeyer <jruschme at gmail.com>
>>
>> Out of curiousity, I decided to see if I could build it...
>>
>> One issue is that the Makefiles tell the compiler to treat Warnings as
>> Errors (-Werror).
>>
>> Another is the file ic/ieee754/ieee754-misc-auto.c  Apparently, this file
>> is generated by a non-portable shell script as it creates lines in the
file
>> which start with "-n". Removing the "-n"s allows that file to compile.
>>
>> Line 766 of host/gtk/gtk-keyboard.c is a bit of a WTF of preprocessor
>> defines. You can probably just remove the #ifndef and #endif lines.
>>
>> At that point it compiles and installs, but at that point I can't get it
to
>> load any of the dynamic modules.
>>
>
>
> I got the -Werror issue resolved too (that's something that you can drive
> with the configure ( I believe it was --nowarnings or something similar)
> You can turn off the gtk stuff (that was described in README, I believe).
> I got other files that died on compile (I'll have to check to see if it
> was the ic/ieee754/ieee754-misc-auto.c file.  Not sure it was...
>
> Please let me know if you have any further success... I will do the same.
>
> But request is still out there, if folks have it running can they give me
> pointers as to what they had to do to get 0.8 working?
> (and what platform it's on?)
>
>
> Earl
> _______________________________________________
> rescue list - http://www.sunhelp.org/mailman/listinfo/rescue
>


--
until further notice


More information about the rescue mailing list