rpgoldman / europa-pso

Automatically exported from code.google.com/p/europa-pso
0 stars 0 forks source link

Mac 64 bit libraries #87

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
Kohala Autobuild currently generates only 32 bit binaries for Java 1.5  The 
latest standard for Macs is 64 bit for Java 1.6.  

Forcing Kohala on Leopard 10.5.8 with Jam 64 bit flag options proved 
unsuccessful.  

Test libraries using lipo -info <name of library file> for _86

Kohala is running an Intel Core 2 Duo processor and should be theoretically 
capable of running Snow Leopard in 64 bit mode.

Original issue reported on code.google.com by jasongho85@gmail.com on 14 Sep 2010 at 12:34

GoogleCodeExporter commented 8 years ago

Original comment by javier.barreiro@gmail.com on 22 Nov 2010 at 10:29

GoogleCodeExporter commented 8 years ago
Let's try to do this for 2.5.
I've modified the master build file to read 64bit-ness from java's os.arch.
If you build with java6, the c++ compiler will generate 64bit objs correctly, 
but the linker seems to be choking, hopefully if we examine the flags passed to 
the linker, this will be fixed easily.

Original comment by javier.barreiro@gmail.com on 22 Nov 2010 at 10:40

GoogleCodeExporter commented 8 years ago

Original comment by javier.barreiro@gmail.com on 22 Nov 2010 at 10:48

GoogleCodeExporter commented 8 years ago

Original comment by javier.barreiro@gmail.com on 22 Nov 2010 at 10:49

GoogleCodeExporter commented 8 years ago

Original comment by javier.barreiro@gmail.com on 22 Nov 2010 at 10:50

GoogleCodeExporter commented 8 years ago

Original comment by javier.barreiro@gmail.com on 24 Nov 2010 at 11:36

GoogleCodeExporter commented 8 years ago
TinyXML seems to be taking issue with the current configuration option of 64 
bit libraries built on Intel Mac OS X 10.5 (Kohala).    Glancing through the 
ant and jam configurations seem to suggest that there are some loose ends that 
need to be tied for 64 bit configurations.  Kohala currently runs 
i686-apple-darwin9-gcc-4.0.1.  

-------------------------------------------------------------

kohala:europa jho4$ ant -Dlocal.os.is64bit="true" -Djam.64bit="-s64BIT=1" build

     [echo] jam   -s64BIT=1 -sLOGGER_TYPE= -sVARIANTS=DEV -sLIBRARIES=SHARED -sPLATFORM_FLAGS="-I/Users/jho4/Public/ANTLR3C/include -m64" -sLINKLIBS="-Wl,-L/Users/jho4/Public/ANTLR3C/lib" -j1 build

     [exec] SharedArchive /Users/jho4/Public/europa/build/lib/libUtils_g.dylib 
     [exec] ld warning: in /Users/jho4/Public/europa/build/objects/Utils/Factory_g.o, file is not of required architecture
     [exec] ld warning: in /Users/jho4/Public/europa/build/objects/Utils/Engine_g.o, file is not of required architecture
     [exec] ld warning: in /Users/jho4/Public/europa/build/objects/Utils/Entity_g.o, file is not of required architecture
     [exec] ld warning: in /Users/jho4/Public/europa/build/objects/Utils/Error_g.o, file is not of required architecture
     [exec] ld warning: in /Users/jho4/Public/europa/build/objects/Utils/IdTable_g.o, file is not of required architecture
     [exec] ld warning: in /Users/jho4/Public/europa/build/objects/Utils/LabelStr_g.o, file is not of required architecture
     [exec] ld warning: in /Users/jho4/Public/europa/build/objects/Utils/Mutex_g.o, file is not of required architecture
     [exec] ld warning: in /Users/jho4/Public/europa/build/objects/Utils/TestData_g.o, file is not of required architecture
     [exec] ld warning: in /Users/jho4/Public/europa/build/objects/Utils/Utils_g.o, file is not of required architecture
     [exec] ld warning: in /Users/jho4/Public/europa/build/objects/Utils/XMLUtils_g.o, file is not of required architecture

kohala:utils jho4$ lipo -info *
Non-fat file: CommonDefs_g.o is architecture: i386
Non-fat file: Debug_g.o is architecture: i386
Non-fat file: Engine_g.o is architecture: x86_64
Non-fat file: Entity_g.o is architecture: x86_64
Non-fat file: Error_g.o is architecture: x86_64
Non-fat file: Factory_g.o is architecture: x86_64
Non-fat file: IdTable_g.o is architecture: x86_64
Non-fat file: LabelStr_g.o is architecture: x86_64
Non-fat file: Mutex_g.o is architecture: x86_64
Non-fat file: TestData_g.o is architecture: x86_64
Non-fat file: Utils_g.o is architecture: x86_64
Non-fat file: XMLUtils_g.o is architecture: x86_64

Original comment by jasongho85@gmail.com on 15 Dec 2010 at 1:02

GoogleCodeExporter commented 8 years ago
http://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/
man1/ld.1.html

There is an option to invoke 64 bit directly

     -arch arch_name
                 Specifies which architecture (e.g. ppc, ppc64, i386, x86_64) the output file should be.

Original comment by jasongho85@gmail.com on 15 Dec 2010 at 1:12

GoogleCodeExporter commented 8 years ago
http://www.perzl.org/aix/index.php?n=Main.Tinyxml

tinyxml

The library is available as 32-bit and 64-bit: 

If you are compiling a 64-bit program, you have to compile and link your 
application with "xlC -q64" or "g++ -maix64". 

Original comment by jasongho85@gmail.com on 16 Dec 2010 at 8:37

GoogleCodeExporter commented 8 years ago
I added that flag (see r6235), but there are still some warnings :

{{{
ld warning: in /usr/lib/gcc/i686-apple-darwin9/4.0.1/libgcc.a, file is not of 
required architecture
}}}

we may need some other flags?

Original comment by javier.barreiro@gmail.com on 16 Dec 2010 at 9:04

GoogleCodeExporter commented 8 years ago
got compiler and linker to work in r6238, but now need to rebuild antlrc on 
kohala to get 64bit libs. 

Original comment by javier.barreiro@gmail.com on 17 Dec 2010 at 1:15

GoogleCodeExporter commented 8 years ago
this is now working, except for the fact that plan diff is failing in the 
test-dist step of the autobuild.
64 binaries generate different outputs for some numeric values (because some 64 
but data types have different ranges).
off the top of my head, we should be able to deal with that, since this should 
only be an issue for infinity values (int and float), and we should be able to 
identify those and print them out as strings.
Jason, I'm making this your top priority before you leave, talk to Mike on 
Monday or to me on Tue (I'll be out on Mon) to get some pointers.

Original comment by javier.barreiro@gmail.com on 17 Dec 2010 at 11:22

GoogleCodeExporter commented 8 years ago
64-bit libs for mac have been working correctly for a while now so I'm 
resolving this one. 
I've opened issue 138 to deal with the plan diff problem.

Original comment by javier.barreiro@gmail.com on 17 Aug 2011 at 10:24