我正在使用以下命令构建gem5.opt
scons build/X86/gem5.opt我得到了以下错误:
[ LINK] -> X86/marshal
/usr/bin/ld: cannot find -lpng
collect2: error: ld returned 1 exit status
scons: *** [build/X86/marshal] Error 1
scons: building terminated because of errors.我尝试链接libpng.so:
sudo ln -s /usr/lib/i386-linux-gnu/libpng.so /usr/lib/libpng.so这当然告诉我它是不兼容的:
[ LINK] -> X86/marshal
/usr/bin/ld: skipping incompatible /usr/lib/libpng.so when searching for -lpng
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/7/../../../../lib/libpng.so when searching for -lpng
/usr/bin/ld: skipping incompatible /usr/lib/../lib/libpng.so when searching for -lpng
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/7/../../../libpng.so when searching for -lpng
/usr/bin/ld: skipping incompatible //usr/lib/libpng.so when searching for -lpng
/usr/bin/ld: cannot find -lpng
collect2: error: ld returned 1 exit status
[ LINK] -> X86/cpu/testers/memtest/lib.o.partial
[ CXX] X86/dev/pci/device.cc -> .o
[ CXX] X86/dev/pci/host.cc -> .o
[ CXX] X86/dev/pci/copy_engine.cc -> .o
[ CXX] X86/systemc/channel/sc_event_queue.cc -> .o
[ CXX] X86/systemc/channel/sc_in_resolved.cc -> .o
[ CXX] X86/systemc/channel/sc_inout_resolved.cc -> .o
scons: *** [build/X86/marshal] Error 1
[ CXX] X86/systemc/channel/sc_out_resolved.cc -> .o
scons: building terminated because of errors.那么,我从哪里获得64位libpng.so呢?
git SHA: af8d107191cc69a77624e2af34f108dc9c1ff03f
OS: Ubuntu 18.04.2 LTS编辑:我不知道this会不会帮上忙,只是为了以防万一。
发布于 2021-01-23 08:52:14
我也面临着同样的错误。传递png lib的正确路径不会解决问题,构建过程仍然会抛出错误消息"collect2: error: ld returned 1 exit status“我只是通过在构建命令的开头添加sudo解决了这个问题!
sudo scons build/X86/gem5.opt --force-lto结果:
scons: Building targets ...
[VER TAGS] -> X86/sim/tags.cc
[ CXX] X86/sim/tags.cc -> .o
[ CXX] X86/base/date.cc -> .o
[ LINK] -> X86/gem5.opt
scons: done building targets.https://stackoverflow.com/questions/56772952
复制相似问题