Closed GoogleCodeExporter closed 8 years ago
Original comment by javier.barreiro@gmail.com
on 22 Nov 2010 at 10:29
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
Original comment by javier.barreiro@gmail.com
on 22 Nov 2010 at 10:48
Original comment by javier.barreiro@gmail.com
on 22 Nov 2010 at 10:49
Original comment by javier.barreiro@gmail.com
on 22 Nov 2010 at 10:50
Original comment by javier.barreiro@gmail.com
on 24 Nov 2010 at 11:36
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
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
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
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
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
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
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
Original issue reported on code.google.com by
jasongho85@gmail.com
on 14 Sep 2010 at 12:34