Re: Compiling Pythonika on MacOS
- To: mathgroup at smc.vnet.net
- Subject: [mg116880] Re: Compiling Pythonika on MacOS
- From: Steve Wilson <stevew at wolfram.com>
- Date: Thu, 3 Mar 2011 05:57:58 -0500 (EST)
With a current MathLink from Mathematica 8.0, you need to add the following linker flags: -lstdc++ -framework Foundation Steve ----- Original Message ----- > From: "Yaroslav Bulatov" <yaroslavvb at gmail.com> > To: mathgroup at smc.vnet.net > Sent: Wednesday, March 2, 2011 2:34:30 AM > Subject: [mg116845] Compiling Pythonika on MacOS > Did anybody try to compile Pythonika on MacOS recently? I'm trying to > compile it to get access to CVXOPT package from inside Mathematica > > http://library.wolfram.com/infocenter/MathSource/6622/ > > I've gone through instruction in package readme, and the errors I'm > getting from make suggest I'm missing some standard flag > > cc > -I/Applications/Mathematica.app/SystemFiles/Links/MathLink/DeveloperKit/CompilerAdditions > -I/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7/ > Pythonika.o Pythonikatm.o > -L/Applications/Mathematica.app/SystemFiles/Links/MathLink/DeveloperKit/CompilerAdditions > -lMLi3 -F/Library/Frameworks/Python.framework/Versions/2.7/ -framework > Python -o Pythonika > Undefined symbols: > "std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::reserve(unsigned long)", referenced from: > _mlfile_get_exe_name_from_command in libMLi3.a(mlfileops.c.o) > _mlfile_get_exe_name_from_command in libMLi3.a(mlfileops.c.o) > _mlfile_get_exe_name_from_command in libMLi3.a(mlfileops.c.o) > _mlfile_get_exe_name_from_command in libMLi3.a(mlfileops.c.o) > "std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::find(char const*, unsigned long, unsigned long) const", referenced > from: > _mlipinterfacecontainer_get_domain_names in > libMLi3.a(mlipinterface.c.o) > MLDevices::MLTCPIPDevice::OldConnectServer() in > libMLi3.a(mltcpip.cpp.o) > "std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::append(char const*, unsigned long)", referenced from: > _mlfile_get_exe_name_from_command in libMLi3.a(mlfileops.c.o) > _mlfile_get_exe_name_from_command in libMLi3.a(mlfileops.c.o) > MLNetwork::MLIPAddress::AddInterfaceQualifier(std::basic_string<char,std::char_traits<char>, > std::allocator<char> > const&)in libMLi3.a(mlipaddress.cpp.o) > MLNetwork::MLIPAddress::LoadIPFromString(std::basic_string<char, > std::char_traits<char>, std::allocator<char> > const&)in > libMLi3.a(mlipaddress. cpp.o) > std::basic_string<char, std::char_traits<char>, std::allocator<char> > std::operator+<char, std::char_traits<char>, std::allocator<char> > >(std::basic_string<char, std::char_traits<char>, std::allocator<char> > > const&, char const*)in libMLi3.a(mlinterface.cpp.o) > std::basic_string<char, std::char_traits<char>, std::allocator<char> > > std::operator+<char, std::char_traits<char>, std::allocator<char> > >(std::basic_string<char, std::char_traits<char>, std::allocator<char> > > const&, char const*)in libMLi3.a(mltcpip.cpp.o) > std::basic_string<char, std::char_traits<char>, std::allocator<char> > > std::operator+<char, std::char_traits<char>, std::allocator<char> > >(std::basic_string<char, std::char_traits<char>, std::allocator<char> > > const&, char const*)in libMLi3.a(mlplatformthreads.cpp.o) > MLObjectBrokers::MLUnixNameBrokerCore::MLUnixNameBrokerCore(std::basic_string<char, > std::char_traits<char>, std::allocator<char> >&)in > libMLi3.a(mlplatformobjectbrokers.cpp.o) > "_kCFUserNotificationAlternateButtonTitleKey", referenced from: > _MLRequest_darwin in libMLi3.a(mlosx.c.o) > _MLConfirm_darwin in libMLi3.a(mlosx.c.o) > "std::basic_istringstream<char, std::char_traits<char>, > std::allocator<char> >::basic_istringstream(std::basic_string<char, > std::char_traits<char>, std::allocator<char> > const&, > std::_Ios_Openmode)", referenced from: > MLNetwork::MLIPAddress::AddPort(std::basic_string<char, > std::char_traits<char>, std::allocator<char> > const&)in > libMLi3.a(mlipaddress.cpp.o) > MLNetwork::MLIPAddress::MLIPAddress(char const*, char const*)in > libMLi3.a(mlipaddress.cpp.o) > MLNetwork::MLIPAddress::MLIPAddress(std::basic_string<char, > std::char_traits<char>, std::allocator<char> > const&, > std::basic_string<char, std::char_traits<char>, std::allocator<char> > > const&)in libMLi3.a(mlipaddress.cpp.o) > MLDevices::MLDeviceParameters::MLDeviceParameters(char*)in > libMLi3.a(mldevices.cpp.o) > MLDevices::MLDeviceParameters::MLDeviceParameters(char*)in > libMLi3.a(mldevices.cpp.o) > "std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::append(std::basic_string<char, std::char_traits<char>, > std::allocator<char>> const&)", referenced from: > _mlfile_get_exe_name_from_command in libMLi3.a(mlfileops.c.o) > MLNetwork::MLIPAddress::LoadIPFromString(std::basic_string<char, > std::char_traits<char>, std::allocator<char> > const&)in > libMLi3.a(mlipaddress.cpp.o) > MLNetwork::MLIPAddress::LoadIPFromString(std::basic_string<char, > std::char_traits<char>, std::allocator<char> > const&)in > libMLi3.a(mlipaddress.cpp.o) > std::basic_string<char, std::char_traits<char>, std::allocator<char> > > std::operator+<char, std::char_traits<char>, std::allocator<char> > >(std::basic_string<char, std::char_traits<char>, std::allocator<char> > > const&, std::basic_string<char, std::char_traits<char>, > std::allocator<char> > const&)in libMLi3.a(mlipaddress.cpp.o) > std::basic_string<char, std::char_traits<char>, std::allocator<char> > > std::operator+<char, std::char_traits<char>, std::allocator<char> > >(std::basic_string<char, std::char_traits<char>, std::allocator<char> > > const&, std::basic_string<char, std::char_traits<char>, > std::allocator<char> > const&)in libMLi3.a(mlinterface.cpp.o) > MLDevices::MLTCPIPDevice::OldConnectServer() in > libMLi3.a(mltcpip.cpp.o) > std::basic_string<char, std::char_traits<char>, std::allocator<char> > > std::operator+<char, std::char_traits<char>, std::allocator<char> > >(std::basic_string<char, std::char_traits<char>, std::allocator<char> > > const&, std::basic_string<char, std::char_traits<char>, > std::allocator<char> > const&)in libMLi3.a(mltcpip.cpp.o) > std::basic_string<char, std::char_traits<char>, std::allocator<char> > > std::operator+<char, std::char_traits<char>, std::allocator<char> > >(std::basic_string<char, std::char_traits<char>, std::allocator<char> > > const&, std::basic_string<char, std::char_traits<char>, > std::allocator<char> > const&)in libMLi3.a(mlplatformthreads.cpp.o) > std::basic_string<char, std::char_traits<char>, std::allocator<char> > > std::operator+<char, std::char_traits<char>, std::allocator<char> > >(std::basic_string<char, std::char_traits<char>, std::allocator<char> > > const&, std::basic_string<char, std::char_traits<char>, > std::allocator<char> > const&)in > libMLi3.a(mlplatformobjectbrokers.cpp.o) > "std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::basic_string()", referenced from: > MLNetwork::MLInitializeIPAddressModule() in > libMLi3.a(mlipaddress.cpp.o) > MLNetwork::MLIPAddress::LoadIPFromString(std::basic_string<char, > std::char_traits<char>, std::allocator<char> > const&)in > libMLi3.a(mlipaddress. cpp.o) > MLNetwork::MLIPAddress::LoadIPFromString(std::basic_string<char, > std::char_traits<char>, std::allocator<char> > const&)in > libMLi3.a(mlipaddress.cpp.o) > MLExceptions::MLException::MLException(char const*)in > libMLi3.a(mlipaddress.cpp.o) > MLHashTables::MLHashTable<int, std::basic_string<char, > std::char_traits<char>, std::allocator<char> >, > MLHashTables::MLGenericHashFunction<int> >::resize(unsigned long)in > libMLi3.a(mlipaddress.cpp.o) > MLHashTables::MLHashTable<int, std::basic_string<char, > std::char_traits<char>, std::allocator<char> >, > MLHashTables::MLGenericHashFunction<int> >::resize(unsigned long)in > libMLi3.a(mlipaddress.cpp.o) > MLHashTables::MLHashTable<int, std::basic_string<char, > std::char_traits<char>, std::allocator<char> >, > MLHashTables::MLGenericHashFunction<int> >::operator[](int const&)in > libMLi3.a(mlipaddress.cpp.o) > MLHashTables::MLHashTable<int, std::basic_string<char, > std::char_traits<char>, std::allocator<char> >, > MLHashTables::MLGenericHashFunction<int> >::MLHashTable()in > libMLi3.a(mlipaddress.cpp.o) > MLNetwork::MLInterfaceContainer::GetPreferredInterface() in > libMLi3.a(mlinterface.cpp.o) > MLNetwork::MLInterfaceContainer::GetPreferredInterface_c_str() in > libMLi3.a(mlinterface.cpp.o) > MLNetwork::MLInterfaceContainer::GetInterfaceFromHostname(std::basic_string<char, > std::char_traits<char>, std::allocator<char> > const&)in > libMLi3.a(mlinterface.cpp.o) > MLNetwork::MLInterfaceContainer::GetInterfaceFromHostname(char > const*in libMLi3.a(mlinterface.cpp.o) > MLNetwork::MLInterfaceContainer::GetInterfaceFromAddress(MLNetwork::MLIPAddress > const&)in libMLi3.a(mlinterface.cpp.o) > MLNetwork::MLInterfaceContainer::GetInterfaceFromAddress_c_str(MLNetwork::MLIPAddress > const&)in libMLi3.a(mlinterface.cpp.o)