在尝试在Mac OSX Lion上使用git构建Freeswitch的最新代码时,我遇到了这个错误,在新结帐并运行./boostraph.sh和./configure之后:
making all mod_amr
Creating mod_amr.so...
i686-apple-darwin11-llvm-gcc-4.2: -bundle not allowed with -dynamiclib
gcc -I/usr/local/src/freeswitch/libs/curl/include -I/usr/local/src/freeswitch/src/include -I/usr/local/src/freeswitch/src/include -I/usr/local/src/freeswitch/libs/libteletone/src -Werror -fvisibility=hidden -DSWITCH_API_VISIBILITY=1 -DHAVE_VISIBILITY=1 -g -ggdb -DMACOSX -DHAVE_OPENSSL -g -O2 -Wall -std=c99 -pedantic -Wdeclaration-after-statement -D_GNU_SOURCE -DAMR_PASSTHROUGH -shared -o .libs/mod_amr.so -dynamic -bundle -force-flat-namespace .libs/mod_amr.o /usr/local/src/freeswitch/.libs/libfreeswitch.dylib -lodbc -lresolv -L/usr/local/src/freeswitch/libs/apr-util/xml/expat/lib -lpq /usr/local/src/freeswitch/libs/apr-util/xml/expat/lib/.libs/libexpat.a /usr/local/src/freeswitch/libs/apr/.libs/libapr-1.a -lpthread -lm -L/usr/local/src/freeswitch/libs/srtp -ldl -lssl -lcrypto -lz -lncurses /usr/local/lib/libjpeg.dylib /usr/local/lib/libodbc.dylib -liconv
make[5]: *** [mod_amr.so] Error 1
make[4]: *** [all] Error 1
make[3]: *** [mod_amr-all] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
如果我要评论有问题的模块,那么任何数量的其他mod都会出现相同的“不允许使用-dynamiclib”。我已经安装了Mac OSX的所有先决条件(据我所知),包括Apple和Unix开发工具。我是100%macports / fink / brew,AFAIK。
我觉得这是我的设置缺少工具或配置问题(非常新鲜的Lion安装)。在此先感谢您的帮助!
答案 0 :(得分:1)
我认为这是Freeswitch构建系统的问题。它向编译器提供了两个互斥的标志-bundle
和-dynamiclib
。
您可能希望查看他们的错误跟踪器,并可能提交错误。
答案 1 :(得分:1)
我得到了同样的错误,但来自不同的起源。我正在编译Cython,我正在链接的外部库有一些额外的CFLAGS
。这些标记包括shared
,而Cython
自动包含-bundle
(使用distutils
内的setup.py
进行编译。
-shared
标志未明确显示在选项中,这令人困惑。通过this suggestion删除-shared
选项解决了问题。
对于使用Cython
搜索此错误的任何人来说也是注意到的。