2016-06-28 22 views
2

Ich benutze Freeswitch 1.6 und Mac 10.10.5 Mein Freeswitch-Server wird in AWS sein und muss das Python ESL-Modul in meiner lokalen Umgebung installieren, um die Entwicklung mit ESL zu starten. Ich konnte ESL-Modul nicht finden. Ich habe die ganze Quelle und versuchte, nur Python-Bibliothek zu bauen.Freeswitch 1.6 Installation für ESL python

Ich habe this Anweisungen verwendet.

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 

Als ich libs/esl Ordner und geben gehen:

make pymod -v 

ich:

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 

Wenn ich laufen:

make pymod 

ich diesen Fehler:

/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 

In meinem Makefile Ich habe dies:

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 

Antwort

2

Die folgende Lösung es für mich gelöst:

Von https://freeswitch.org/jira/browse/ESL-92

Es gibt einen Fehler in dem ld Befehl ist, dass Schiffe mit Mac OS X post Mavericks, aufgrund dessen das "-x" Flag zusätzliche Symbole entfernt. Der Fehler ist hier beschrieben -x link flag causing link errors on Mac OSX 10.9 (bug?) (Ich habe ein Ticket stromaufwärts https://llvm.org/bugs/show_bug.cgi?id=23337 eingereicht).

Workraround:

Entfernen Sie die "-x" -Flag bei der Verknüpfung _ESL.so

cd libs/esl 
sed -i '' 's/\(SOLINK = .*\)-x/\1/p' Makefile 
make pymod