Reputation: 10058
I'm running Freeswitch 1.6 and Mac 10.10.5 My Freeswitch server will be in AWS and need to install Python ESL module in my local environment to start development using ESL. I havent been able to find ESL module. I got the whole source and tried to build only Python library.
I used this instructions.
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
When I go to libs/esl
folder and type:
make pymod -v
I get:
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
When I run:
make pymod
I get this error:
/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 my Makefile I have this:
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
Upvotes: 2
Views: 713
Reputation: 10058
The following solution solved it for me:
From https://freeswitch.org/jira/browse/ESL-92
There is a bug in the ld
command that ships with Mac OS X post Mavericks, due to which the "-x" flag strips extra symbols. The bug is described here -x link flag causing link errors on Mac OSX 10.9 (bug?) (I've filed a ticket upstream https://llvm.org/bugs/show_bug.cgi?id=23337).
Workraround:
Remove the "-x" flag when linking _ESL.so
cd libs/esl
sed -i '' 's/\(SOLINK = .*\)-x/\1/p' Makefile
make pymod
Upvotes: 2