首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于ESL python的Freeswitt1.6安装

用于ESL python的Freeswitt1.6安装
EN

Stack Overflow用户
提问于 2016-06-28 09:41:52
回答 1查看 564关注 0票数 2

我正在运行Freeswitt1.6和Mac10.10.5,我的Freeswitch服务器将在AWS中运行,需要在本地环境中安装Python模块,才能开始使用ESL进行开发。我还没有找到ESL模块。我得到了整个源代码,并且只尝试构建Python库。

我使用了指令。

代码语言:javascript
复制
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文件夹并键入:

代码语言:javascript
复制
make pymod -v

我得到:

代码语言:javascript
复制
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

当我跑步时:

代码语言:javascript
复制
make pymod

我知道这个错误:

代码语言:javascript
复制
/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里我有这样的东西:

代码语言:javascript
复制
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
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-28 09:44:14

以下解决方案为我解决了这个问题:

来自https://freeswitch.org/jira/browse/ESL-92

Mac Maverick附带的ld命令中有一个bug,因此"-x“标志会删除额外的符号。-x链接标志导致MacOSX10.9上的链接错误(bug?)在这里描述了这个bug (我已经在bug.cgi?id=23337上游提交了一张罚单)。

工作:

链接-x时移除“_ESL.so”标志

代码语言:javascript
复制
cd libs/esl 
sed -i '' 's/\(SOLINK = .*\)-x/\1/p' Makefile 
make pymod 
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38072591

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档