2016-09-06 54 views
-1

我现在面临一个奇怪的错误,而试图编译fbthrift(https://github.com/facebook/fbthrift)在Ubuntu 16.04在/ usr /斌/劳工处:找不到-lL/usr/lib目录

make[4]: Entering directory '/home/abhishek/fblualib/fbthrift/thrift/compiler/py' 
/bin/bash ../../libtool --tag=CXX --mode=link g++ -std=gnu++1y -module -avoid-version -no-undefined -l -L/usr/lib -lpython2.7 -lfolly -L/usr/local/lib -o frontend.la -rpath /usr/local/lib frontend_la-compiler.lo ../libparse.la ../libthriftcompilerbase.la -lssl -lcrypto -lrt -lpthread -lsasl2 -lmstch -lwangle -lsnappy -lgflags -lglog 
libtool: link: g++ -fPIC -DPIC -shared -nostdlib /usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/5/crtbeginS.o .libs/frontend_la-compiler.o -Wl,--whole-archive ../.libs/libparse.a ../.libs/libthriftcompilerbase.a -Wl,--no-whole-archive -l -L/usr/lib -lpython2.7 /usr/local/lib/libfolly.so -L/usr/local/lib -lssl -lcrypto -lrt -lpthread -lsasl2 -lmstch -lwangle -lsnappy -lgflags -lglog -L/usr/lib/gcc/x86_64-linux-gnu/5 -L/usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/5/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/5/../../.. -lstdc++ -lm -lc -lgcc_s /usr/lib/gcc/x86_64-linux-gnu/5/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/crtn.o -Wl,-soname -Wl,frontend.so -o .libs/frontend.so 
/usr/bin/ld: cannot find -l-L/usr/lib 
collect2: error: ld returned 1 exit status 
Makefile:500: recipe for target 'frontend.la' failed 
make[4]: *** [frontend.la] Error 1 
make[4]: Leaving directory '/home/abhishek/fblualib/fbthrift/thrift/compiler/py' 
Makefile:882: recipe for target 'all-recursive' failed 
make[3]: *** [all-recursive] Error 1 
make[3]: Leaving directory '/home/abhishek/fblualib/fbthrift/thrift/compiler' 
Makefile:591: recipe for target 'all' failed 
make[2]: *** [all] Error 2 
make[2]: Leaving directory '/home/abhishek/fblualib/fbthrift/thrift/compiler' 
Makefile:498: recipe for target 'all-recursive' failed 
make[1]: *** [all-recursive] Error 1 
make[1]: Leaving directory '/home/abhishek/fblualib/fbthrift/thrift' 
Makefile:430: recipe for target 'all' failed 
make: *** [all] Error 2 

它为什么不找的/ usr/lib?

+0

-no-undefined -l -L/usr/lib'-l'接受一个参数。可能有一个未设置的环境变量。查看makefile以查看正在使用的变量 –

回答

3

生成文件中生成一个链接命令,上面写着:

... -l -L/usr/lib ... 

Makefile中的链接的命令可能会指定为-l$(SOMEVARIABLE),在此处,将变量未设置出于某种原因,所以它得到扩大一个空的字符串。

因此,这被解释为与名为“-L/usr/lib”的共享库链接的指令,当然这完全是假的。

不幸的是,没有可以推送的万能魔法按钮,并修复了这个错误。有必要调查这个软件包的配置和/或构建过程中发生了什么,并对其进行修复。

相关问题