ubuntu18.04 最后的链结失败: 输出不可表示的节

Bionic Beaver
回复
hwzxzpp
帖子: 1
注册时间: 2018-09-15 19:36
系统: ubuntu
送出感谢: 0
接收感谢: 0

ubuntu18.04 最后的链结失败: 输出不可表示的节

#1

帖子 hwzxzpp » 2018-09-15 19:40

更新了ubuntu到18.04,在编译一个软件的时候报错最后的链结失败: 输出不可表示的节,求大佬帮忙看一看。
下面是报错的一部分:

/usr/bin/x86_64-linux-gnu-ld: kspace.o: relocation R_X86_64_32S against symbol `_ZTVN9LAMMPS_NS6KSpaceE' can not be used when making a PIE object; recompile with -fPIC
/usr/bin/x86_64-linux-gnu-ld: compute_temp_com.o: relocation R_X86_64_32S against symbol `_ZTVN9LAMMPS_NS14ComputeTempCOME' can not be used when making a PIE object; recompile with -fPIC
/usr/bin/x86_64-linux-gnu-ld: atom_vec_ellipsoid.o: relocation R_X86_64_32S against symbol `_ZTVN9LAMMPS_NS16AtomVecEllipsoidE' can not be used when making a PIE object; recompile with -fPIC
/usr/bin/x86_64-linux-gnu-ld: 最后的链结失败: 输出不可表示的节
collect2: error: ld returned 1 exit status
Makefile:93: recipe for target '../lmp_ubuntu' failed
make[1]: *** [../lmp_ubuntu] Error 1
make[1]: 离开目录“/home/zhupanpan/software/lammps/lammps-16Mar18/src/Obj_ubuntu”
Makefile:160: recipe for target 'ubuntu' failed
make: *** [ubuntu] Error 2

之前用ubuntu16.04的时候同样的编译方法,却没有报错,有大佬能告知一下是怎么回事吗 :Adore
头像
astolia
论坛版主
帖子: 3295
注册时间: 2008-09-18 13:11
送出感谢: 1 次
接收感谢: 553 次

Re: ubuntu18.04 最后的链结失败: 输出不可表示的节

#2

帖子 astolia » 2018-09-15 21:23

从16.10开始默认启用PIE了,而你这个库不支持PIE。手动给gcc加上编译选项-fno-pie和-no-pie禁掉PIE,视情况可能还要加上-fPIC
回复

回到 “Ubuntu 18.04 LTS”