我正在按照https://wiki.ligo.org/Computing/DASWG/LALSuiteInstall上列出的步骤首先安装lal来安装lalsuite。
运行该步骤时:make
我收到了这样的错误:
/usr/bin/ld: /usr/local/lib/libfftw3f.a(apiplan.o): relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/local/lib/libfftw3f.a: error adding symbols: Bad value
collect2: error: ld returned 1 exit status
Makefile:850: recipe for target 'liblal.la' failed
make4: * [liblal.la] Error 1
make4: Leaving directory '/tmp/tmp.v2p1DU6shl/lal-6.19.2/src'
Makefile:978: recipe for target 'all-recursive' failed
make3: [all-recursive] Error 1
make3: Leaving directory '/tmp/tmp.v2p1DU6shl/lal-6.19.2/src'
Makefile:749: recipe for target 'all' failed
make2: [all] Error 2
make2: Leaving directory '/tmp/tmp.v2p1DU6shl/lal-6.19.2/src'
Makefile:619: recipe for target 'all-recursive' failed
make1: [all-recursive] Error 1
make1: Leaving directory '/tmp/tmp.v2p1DU6shl/lal-6.19.2'
Makefile:516: recipe for target 'all' failed
make: ** [all] Error 2
我尝试了许多方法,例如:更改gcc版本(我使用gcc版本5.4.0),重新安装FFTW库。但是似乎一切都没有改变。我认为关键是“用-fPIC重新编译”,但是在搜索了许多结果之后,仍然不知道。
lal已安装在通用的Linux版本4.15.0-46(buildd @ lgw01-amd64-008)(gcc版本5.4.0 20160609(Ubuntu 5.4.0-6ubuntu1〜16.04.10))和x86_64 GNU / Linux
Linux 4.15.0-46版通用