After macosx 10.9 mavericks upgrade i have a compilation problem, you can see below. Even the examples given in /Applications/Mathematica.app/SystemFiles/Links/MathLink/DeveloperKit/MacOSX-x86-64/MathLinkExamples are not compiling anymore. It throws an error about the architecture. I also followed the solution given by MathLink compile errors, reinstalling the Xcode and command line tools. It didnt work.
I also checked the libMLi3.a for architecture and seems like it is ok
libMLi3.a: Mach-O universal binary with 2 architectures libMLi3.a (for architecture i386): current ar archive random library libMLi3.a (for architecture x86_64): current ar archive random library
and clang/gcc as well
Apple LLVM version 5.0 (clang-500.2.79) (based on LLVM 3.3svn) Target: x86_64-apple-darwin13.0.0 Thread model: posix
gcc -v Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1 Apple LLVM version 5.0 (clang-500.2.79) (based on LLVM 3.3svn) Target: x86_64-apple-darwin13.0.0 Thread model: posix
which are the latest.
I wonder if anyone manages to compile the MathLink examples after the 10.9 upgrade?
Here is the error message:
/Applications/Mathematica.app/SystemFiles/Links/MathLink/DeveloperKit/MacOSX-x86-64/MathLinkExamples]:>
g++ -I/Applications/Mathematica.app/SystemFiles/Links/MathLink/DeveloperKit/MacOSX-x86-64/MathLinkExamples/../CompilerAdditions \
addtwotm.o addtwo.o -L/Applications/Mathematica.app/SystemFiles/Links/MathLink/DeveloperKit/MacOSX-x86-64/MathLinkExamples/../CompilerAdditions \
-lMLi3 -lstdc++ -framework Foundation -o addtwo
Undefined symbols for architecture x86_64:
"std::string::find_last_of(char const*, unsigned long, unsigned long) const", referenced from:
MLThreads::DestroyName(std::string&) in libMLi3.a(mlplatformthreads.cpp.o)
"std::string::find_first_of(char const*, unsigned long, unsigned long) const", referenced from:
MLThreads::NameValidQ(std::string&) in libMLi3.a(mlplatformthreads.cpp.o)
MLThreads::DestroyName(std::string&) in libMLi3.a(mlplatformthreads.cpp.o)
"std::string::find(char const*, unsigned long, unsigned long) const", referenced from:
_mlipinterfacecontainer_get_domain_names in libMLi3.a(mlipinterface.c.o)
MLNetwork::MLIPAddress::LoadDomainName(bool) in libMLi3.a(mlipaddress.cpp.o)
MLNetwork::MLIPAddress::IPV4NameQ(std::string) in libMLi3.a(mlipaddress.cpp.o)
MLNetwork::MLIPAddress::IPV6NameQ(std::string) in libMLi3.a(mlipaddress.cpp.o)
MLNetwork::MLIPAddress::AutoconfiguredQ() const in libMLi3.a(mlipaddress.cpp.o)
_pipe_make in libMLi3.a(_pipe.c.o)
MLDevices::MLTCPIPDevice::OldConnectServer() in libMLi3.a(mltcpip.cpp.o)
.
.
.
.
.
.
...
NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Comments
Post a Comment