MMA9 Pythonika compilando erro no Ubuntu 14.04

3

Estou usando o Pythonika no Ubuntu 14.04. Eu baixei os arquivos do Pythonika do seguinte url. link

Eu consegui compilar o Pythonika no Ubuntu 12.04 usando o Makefile.linux. No entanto, recebi o seguinte erro após a atualização do Ubuntu 14.04. Qualquer ajuda será apreciada.

Regrads, Yoshihiro Sato

Meu sistema é Ubuntu 14.04 64bit e Mathematica 9.0 para Linux x86 (64 bits) (18 de fevereiro de 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

Eu usei o seguinte 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}

Depois de alterar meu ambiente python, tentei compilá-lo. Eu tenho quase a mesma mensagem de erro. Você poderia por favor me mostrar como resolver esse problema?

$ 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
    
por user25076 12.07.2014 / 06:03

2 respostas

1

Eu consegui compilar pythonika no Ubuntu 14.04. Eu preciso adicionar -lpthread -lm para a linha de comando.

##     Ununtu 14.04 
LIBS = -L${LIBDIR} ${LIBDIR}/libML64i3.a -lstdc++ -lpthread -lm -lrt -lpython${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}

Obrigado Yoshihiro Sato

    
por user25076 29.07.2014 / 10:29
0

Eu acredito que isso pode ser um problema de software dos arquivos baixados, possivelmente apagando os arquivos baixados e encontrando outro site? Se isso não funcionar, então provavelmente é um problema do lado do Linux, também tente checar seus comandos se você usou o terminal. Desculpe se isso não é de muita ajuda, sou um novato no Linux ainda

    
por Tator_Soldier 12.07.2014 / 06:08

Tags