Я рассказываю о Pythonika в Ubuntu 14.04. Я скачал файлы Pythonika по следующему адресу. https://github.com/szhorvat/Pythonika
Мне удалось скомпилировать Pythonika в Ubuntu 12.04 с помощью Makefile.linux. Однако я получил следующую ошибку после обновления Ubuntu 14.04. Любая помощь будет оценена.
Regrads, Йошихиро Сато
Моя система - Ubuntu 14.04 64bit и Mathematica 9.0 для Linux x86 (64-bit) (18 февраля 2013 г.).
$ python --version
Python 2.7.7 :: Anaconda 2.0.1 (64-bit)
$ which python
/home/satouy/anaconda/bin/python
$ make -f Makefile.linux
cc -I/usr/local/Wolfram/Mathematica/9.0/SystemFiles/Links/MathLink/DeveloperKit/Linux-x86-
64/CompilerAdditions -I/usr/include/python2.7/ Pythonika.o Pythonikatm.o -
L/usr/local/Wolfram/Mathematica/9.0/SystemFiles/Links/MathLink/DeveloperKit/Linux-x86-
64/CompilerAdditions
/usr/local/Wolfram/Mathematica/9.0/SystemFiles/Links/MathLink/DeveloperKit/Linux-x86-
64/CompilerAdditions/libML64i3.a -lstdc++ -lrt -lpython2.7 -o Pythonika
/usr/bin/ld: /usr/local/Wolfram/Mathematica/9.0/SystemFiles/Links/MathLink/DeveloperKit/
Linux-x86-64/CompilerAdditions/libML64i3.a(mlnumenv.c.o): undefined reference to symbol
'fmod@@GLIBC_2.2.5'
/lib/x86_64-linux-gnu/libm.so.6: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
make: *** [Pythonika] error 1
Я использовал следующий Makefile.linux.
$ cat Makefile.linux
# Set the paths according to your MathLink Developer Kit location.
# (The paths should not contain whitespaces)
MATHEMATICA_INSTALL_DIR = /usr/local/Wolfram/Mathematica/9.0
MLINKDIR = ${MATHEMATICA_INSTALL_DIR}/SystemFiles/Links/MathLink/DeveloperKit
##SYS = Linux
SYS = Linux-x86-64
CADDSDIR = ${MLINKDIR}/${SYS}/CompilerAdditions
INCDIR = ${CADDSDIR}
LIBDIR = ${CADDSDIR}
MPREP = "${CADDSDIR}/mprep"
MCC = "${CADDSDIR}/mcc"
# Modify the following for Python versions other than 2.6
PYTHON_VERSION_MAJOR = 2
##PYTHON_VERSION_MINOR = 6
PYTHON_VERSION_MINOR = 7
# Path to the Python includes (modify according to Python version)
#
PYTHONINC = /usr/include/python${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}/
PYTHONIKA = Pythonika
INCLUDES = -I${INCDIR} -I${PYTHONINC}
# libstdc++ and librt are, apparently, needed for correct compilation under Linux
# with libMLi3 statically linked
#
##LIBS = -L${LIBDIR} ${LIBDIR}/libML32i3.a -lstdc++ -lrt -
lpython${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}
## 64-bit system
LIBS = -L${LIBDIR} ${LIBDIR}/libML64i3.a -lstdc++ -lrt -
lpython${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}
all : Pythonika
Pythonika: ${PYTHONIKA}.o ${PYTHONIKA}tm.o
${CC} ${INCLUDES} ${PYTHONIKA}.o ${PYTHONIKA}tm.o ${LIBS} -o ${PYTHONIKA}
${PYTHONIKA}tm.o: ${PYTHONIKA}.tm
${MPREP} ${PYTHONIKA}.tm -o ${PYTHONIKA}tm.c
${CC} -c ${PYTHONIKA}tm.c ${INCLUDES}
${PYTHONIKA}.o: ${PYTHONIKA}.c
${CC} -c ${PYTHONIKA}.c ${INCLUDES}
clean :
rm -f ${PYTHONIKA}tm.* ${PYTHONIKA}.o ${PYTHONIKA}
После изменения среды Python я попытался скомпилировать ее. У меня почти такое же сообщение об ошибке. Не могли бы вы показать мне, как решить эту проблему?
$ python --version
Python 2.7.6
$ which python
/usr/bin/python
$ make -f Makefile.linux
cc -I/usr/local/Wolfram/Mathematica/9.0/SystemFiles/Links/MathLink/DeveloperKit/Linux-x86-
64/CompilerAdditions -I/usr/include/python2.7/ Pythonika.o Pythonikatm.o
-L/usr/local/Wolfram/Mathematica/9.0/SystemFiles/Links/MathLink/DeveloperKit/Linux-x86-64/CompilerAdditions
/usr/local/Wolfram/Mathematica/9.0/SystemFiles/Links/MathLink/DeveloperKit/Linux-x86-64/CompilerAdditions/libML64i3.a
-lstdc++ -lrt -lpython2.7 -o Pythonika
/usr/bin/ld: /usr/local/Wolfram/Mathematica/9.0/SystemFiles/Links/MathLink/DeveloperKit/
Linux-x86-64/CompilerAdditions/libML64i3.a(mlnumenv.c.o): undefined reference to symbol 'fmod@@GLIBC_2.2.5'
//lib/x86_64-linux-gnu/libm.so.6: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
make: *** [Pythonika] error 1
Я преуспел в том, чтобы компилировать pythonika на Ubuntu 14.04. Я должен добавить-lpthread-lm к командной строке.
## Ununtu 14.04
LIBS = -L${LIBDIR} ${LIBDIR}/libML64i3.a -lstdc++ -lpthread -lm -lrt -lpython${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}
Спасибо, Yoshihiro Sato
Я полагаю, что это может быть проблемой программного обеспечения из загруженных файлов, возможно стерев тех загруженных и найти другой сайт? Если это не работает затем, это, скорее всего - второстепенный вопрос Linux, также попытайтесь проверить свои команды дважды при использовании терминала. Извините, если это не много справки, я - новичок в Linux все еще