1

我正在尝试从 Ubuntu 12.04 LTS 上的源代码构建图像程序 darktable 1.6.7。我正在按照这里的说明进行操作。大约 85% 的错误,我不知道如何解释:

Linking C shared module libgrain.so
/usr/bin/ld: CMakeFiles/grain.dir/introspection_grain.c.o: relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompile with -fPIC
CMakeFiles/grain.dir/introspection_grain.c.o: could not read symbols: Bad value
collect2: error: ld returned 1 exit status
make[2]: *** [src/iop/libgrain.so] Error 1
make[1]: *** [src/iop/CMakeFiles/grain.dir/all] Error 2

我不知道在哪里通过-fPIC,因为它是建议的。我也读过--enable-shared应该传递给./configure,但在这种情况下没有./configure文件,我不知道这里的可比较步骤是什么。任何帮助理解和解决此错误将不胜感激!

4

1 回答 1

1

我想通了,这很微不足道。我没有使用我链接到的暗表站点上建议的 cmake 调用,而是使用 ccmake 进行配置和生成。-fPIC它会自动在需要的位置填写 C 标志。然后它完美地构建了。

于 2015-07-21T00:02:59.997 回答