Current state on Snow Leopard

View: New views
2 Messages — Rating Filter:   Alert me  

Current state on Snow Leopard

by Jeremy Tregunna-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Good evening folks;

Okay, after "jbo" (not sure what his name is, just his nick) brought  
to my attention that io doesn't build on Snow Leopard, I dug in. Turns  
out, io isn't in fact, ready for 64-bit prime time on OSX yet. There  
are a plethora of 64-bit cleanliness problems which I'm not addressing  
with this post, nor am I supplying any patches. I am however,  
supplying instructions how to fix yourself, as I'm kinda cramped for  
time at the moment.

Almost every Makefile and Makefile.lib needs to be touched. You'll  
find yourself editing what looks like the same file, but named  
differently, a few times. This is unfortunate that this duplication  
exists, but it does. Let's move past it now.

First we need to find DLL_COMMAND variable definition in all the  
Makefile and Makefile.lib's out there for the Darwin platform only.  
You can search "dynamiclib" and find what we're after. Change "-
dynamiclib" to "-m32 -dynamiclib".

In addition, we need to find every occurance of CFLAGS := in all the  
Makefile and Makefile.lib's out there, and add -m32 to its RHS (right  
hand side).

Finally, we need to open up tools/Makefile and find the two entries on  
or around lines 126 and 130. These start off $(LINK) and build  
io_static and io tool binaries. Just add a -m32 after $(LINK) on each  
line.

YOU NEED TO "make clean" after this. And then you can run "make all  
install" again. Keep in mind, this does not address the addons, I'll  
leave that as an exercise to the reader to fix, as the same things are  
applied there as we've just done with the Makefiles.

If I have some time in the coming days, I'll patch this myself  
properly, but I'm hoping one of you can, as I don't really have the  
time right now.

AGAIN, THIS IS FOR MAC OS X 10.6 ONLY. If you are running 10.5, don't  
fret, everything still works. If you are not running Mac OS X at all,  
then don't worry about it, you can hit that delete button in your MUA  
and be on your way. :)

It should be noted, that this forces building of the object files,  
binaries and dynamic libraries to 32-bit mode. GCC on 10.6 likes to  
produce 64-bit binaries by default. This is NOT a long term solution.

Regards,

Jeremy Tregunna
jeremy.tregunna@...




Re: Current state on Snow Leopard

by Steve Dekorte :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


Thanks for the tips - I'll take a look after I upgrade to OSX 10.6.

On 2009-08-29, at 4:31 PM, Jeremy Tregunna wrote:

> Good evening folks;
>
> Okay, after "jbo" (not sure what his name is, just his nick) brought
> to my attention that io doesn't build on Snow Leopard, I dug in. Turns
> out, io isn't in fact, ready for 64-bit prime time on OSX yet. There
> are a plethora of 64-bit cleanliness problems which I'm not addressing
> with this post, nor am I supplying any patches. I am however,
> supplying instructions how to fix yourself, as I'm kinda cramped for
> time at the moment.
>
> Almost every Makefile and Makefile.lib needs to be touched. You'll
> find yourself editing what looks like the same file, but named
> differently, a few times. This is unfortunate that this duplication
> exists, but it does. Let's move past it now.
>
> First we need to find DLL_COMMAND variable definition in all the
> Makefile and Makefile.lib's out there for the Darwin platform only.
> You can search "dynamiclib" and find what we're after. Change "-
> dynamiclib" to "-m32 -dynamiclib".
>
> In addition, we need to find every occurance of CFLAGS := in all the
> Makefile and Makefile.lib's out there, and add -m32 to its RHS (right
> hand side).
>
> Finally, we need to open up tools/Makefile and find the two entries on
> or around lines 126 and 130. These start off $(LINK) and build
> io_static and io tool binaries. Just add a -m32 after $(LINK) on each
> line.
>
> YOU NEED TO "make clean" after this. And then you can run "make all
> install" again. Keep in mind, this does not address the addons, I'll
> leave that as an exercise to the reader to fix, as the same things are
> applied there as we've just done with the Makefiles.
>
> If I have some time in the coming days, I'll patch this myself
> properly, but I'm hoping one of you can, as I don't really have the
> time right now.
>
> AGAIN, THIS IS FOR MAC OS X 10.6 ONLY. If you are running 10.5, don't
> fret, everything still works. If you are not running Mac OS X at all,
> then don't worry about it, you can hit that delete button in your MUA
> and be on your way. :)
>
> It should be noted, that this forces building of the object files,
> binaries and dynamic libraries to 32-bit mode. GCC on 10.6 likes to
> produce 64-bit binaries by default. This is NOT a long term solution.
>
> Regards,
>
> Jeremy Tregunna
> jeremy.tregunna@...
>
>
>
>
>
> ------------------------------------
>
> Yahoo! Groups Links
>
>
>
>