You are here

Rosetta 3.4 build error on Mac OS X Lion Intel Core i7

4 posts / 0 new
Last post
Rosetta 3.4 build error on Mac OS X Lion Intel Core i7

Dear All,

I got the source code of Rosetta 3.4. I am trying to compile it on Mac OS X 10.7.3 (Lion) Intel Core i7 with scons running the command "scons bin mode=release". At the end of the compilation I got this error (I include the last call to the compiler):

g++ -o build/src/release/macos/10.7/64/x86/gcc/4.6/libObjexxFCL.dylib -dynamiclib -install_name /Users/tanoramb/Software/Rosetta/Rosetta3.4/rosetta3.4/rosetta_source/build/src/release/macos/10.7/64/x86/gcc/4.6/libObjexxFCL.dylib -m64 build/src/release/macos/10.7/64/x86/gcc/4.6/ObjexxFCL/char.functions.os build/src/release/macos/10.7/64/x86/gcc/4.6/ObjexxFCL/Cstring.os build/src/release/macos/10.7/64/x86/gcc/4.6/ObjexxFCL/Dimension.os build/src/release/macos/10.7/64/x86/gcc/4.6/ObjexxFCL/DimensionExpression.os build/src/release/macos/10.7/64/x86/gcc/4.6/ObjexxFCL/DimensionExpressionRef.os build/src/release/macos/10.7/64/x86/gcc/4.6/ObjexxFCL/DynamicIndexRange.os build/src/release/macos/10.7/64/x86/gcc/4.6/ObjexxFCL/format.os build/src/release/macos/10.7/64/x86/gcc/4.6/ObjexxFCL/Fstring.os build/src/release/macos/10.7/64/x86/gcc/4.6/ObjexxFCL/IndexRange.os build/src/release/macos/10.7/64/x86/gcc/4.6/ObjexxFCL/Observer.os build/src/release/macos/10.7/64/x86/gcc/4.6/ObjexxFCL/ObserverGraph.os build/src/release/macos/10.7/64/x86/gcc/4.6/ObjexxFCL/ObserverMediator.os build/src/release/macos/10.7/64/x86/gcc/4.6/ObjexxFCL/ObserverMulti.os build/src/release/macos/10.7/64/x86/gcc/4.6/ObjexxFCL/Star.os build/src/release/macos/10.7/64/x86/gcc/4.6/ObjexxFCL/string.functions.os build/src/release/macos/10.7/64/x86/gcc/4.6/ObjexxFCL/Time_Date.os -Lexternal/lib -Lbuild/src/release/macos/10.7/64/x86/gcc/4.6 -Lsrc -Lbuild/external/release/macos/10.7/64/x86/gcc/4.6 -Lexternal -L/usr/lib -L/usr/local/lib
ld: warning: directory not found for option '-Lbuild/external/release/macos/10.7/64/x86/gcc/4.6'
Undefined symbols for architecture x86_64:
"std::ctype::_M_widen_init() const", referenced from:
ObjexxFCL::get(std::basic_istream >&, ObjexxFCL::Fstring&) in Fstring.os
ObjexxFCL::getline(std::basic_istream >&, ObjexxFCL::Fstring&) in Fstring.os
ObjexxFCL::date(ObjexxFCL::Fstring&) in Time_Date.os
ld: symbol(s) not found for architecture x86_64
collect2: ld returned 1 exit status
scons: *** [build/src/release/macos/10.7/64/x86/gcc/4.6/libObjexxFCL.dylib] Error 1
scons: building terminated because of errors.

I would be very grateful for any help.

Best Regards

Post Situation: 
Sun, 2012-04-22 19:50

"Undefined symbols for architecture x86_64"

This means either something is misconfigured either in your compiler, or scons is detecting the wrong processor and trying to build the wrong binaries.

Is your processor 32 or 64 bits? If the latter, is your gcc installed for 32 or 64 bits? SCons is trying to build in 64 bits but is unable to find the 64 bit versions of the C++ standard libraries (or is finding something that's the wrong thing).

Mon, 2012-04-23 07:04

Hello smlewis,

Thank you for your reply.

Mac OS X Lion is x86-64-native, so I think there shouldn't be problems with that. I suspect that some of the objects were compiled in 32 bit. In that case, I think the scons script would have to be revised.
Can someone please give me some directions to address this?

Best regards

Mon, 2012-04-23 18:58

Dear All,

I finally managed to make it compiled. I had to use another version of the compiler (the current version is 4.6). A friend told me to use version 4.2. The only version 4.2 I found in the system was "llvm-g++-4.2". I went to /usr/bin folder and unlinked "g++" and "gcc". Then I created symbolic links this way: g++ -> llvm-g++-4.2 and gcc -> llvm-gcc-4.2. I had no problems in the compilation process.


Mon, 2012-04-23 22:38