2016-06-28 2 views
2

Я запускаю Freeswitch 1.6 и Mac 10.10.5 Мой сервер Freeswitch будет в AWS и должен установить модуль Python ESL в моей локальной среде, чтобы начать разработку с использованием ESL. Мне не удалось найти модуль ESL. Я получил весь источник и попытался создать только библиотеку Python.Установка Freeswitch 1.6 для ESL python

Я использовал this инструкция.

git clone -b v1.6 https://freeswitch.org/stash/scm/fs/freeswitch.git 
cd /usr/src/freeswitch 
./bootstrap.sh -j 
./configure 
cd /usr/src/freeswitch/libs/esl 

Когда я иду в libs/esl папку и введите:

make pymod -v 

я получаю:

GNU Make 3.81 
Copyright (C) 2006 Free Software Foundation, Inc. 
This is free software; see the source for copying conditions. 
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A 
PARTICULAR PURPOSE. 

This program built for i386-apple-darwin11.3.0 

Когда я бегу:

make pymod 

Я получаю эту ошибку:

/Applications/Xcode.app/Contents/Developer/usr/bin/make MYLIB=".././.libs/libesl.a" SOLINK="-shared -Xlinker -x" CFLAGS="-I/Users/spicyramen/Documents/OpenSource/Development/freeswitch.git/libs/esl/src/include -I/Users/spicyramen/Documents/OpenSource/Development/freeswitch.git/src/include -I/Users/spicyramen/Documents/OpenSource/Development/freeswitch.git/src/include -I/Users/spicyramen/Documents/OpenSource/Development/freeswitch.git/libs/libteletone/src -Werror -DMACOSX -DHAVE_OPENSSL" CXXFLAGS="-I/Users/spicyramen/Documents/OpenSource/Development/freeswitch.git/libs/esl/src/include -I/Users/spicyramen/Documents/OpenSource/Development/freeswitch.git/src/include -I/Users/spicyramen/Documents/OpenSource/Development/freeswitch.git/src/include -I/Users/spicyramen/Documents/OpenSource/Development/freeswitch.git/libs/libteletone/src -fPIC" CXX_CFLAGS="" -C python 
c++ -shared -Xlinker -x esl_wrap.o .././.libs/libesl.a `python ./python-config --ldflags` -o _ESL.so -L. 
ld: internal error: atom not found in symbolIndex(__ZN24SWIG_Python_Thread_Allow3endEv) for architecture x86_64 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 
make[1]: *** [_ESL.so] Error 1 
make: *** [pymod] Error 2 

В моей Makefile я это:

PYTHON = /Users/spicyramen/anaconda/bin/python 
PYTHON_CFLAGS = -I/Users/spicyramen/anaconda/include/python2.7 -I/Users/spicyramen/anaconda/include/python2.7 -fno-strict-aliasing -I/Users/spicyramen/anaconda/include -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes 
PYTHON_LDFLAGS = -L/Users/spicyramen/anaconda/lib -ldl -framework CoreFoundation -lpython2.7 
PYTHON_SITE_DIR = /Users/spicyramen/anaconda/lib/python2.7/site-packages 

ответ

2

Следующее решение решить это для меня:

От https://freeswitch.org/jira/browse/ESL-92

Существует ошибка в команде ld, который поставляется с Mac OS X post Mavericks, из-за чего флаг «-x» разделяет дополнительные символы. Ошибка описана здесь -x link flag causing link errors on Mac OSX 10.9 (bug?) (я подал билет вверх по течению https://llvm.org/bugs/show_bug.cgi?id=23337).

Workraround:

Удалить "-x" флаг при связывании _ESL.so

cd libs/esl 
sed -i '' 's/\(SOLINK = .*\)-x/\1/p' Makefile 
make pymod 
Смежные вопросы