Ошибка сборки для darktable 1.6.7 в Ubuntu 12.04 LTS
Я пытаюсь собрать образ программы Darktable 1.6.7 из исходного кода на Ubuntu 12.04 LTS. Я следую инструкциям здесь. В 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
файл, и я не знаю, что сопоставимый шаг здесь. Любая помощь в понимании и устранении этой ошибки будет принята с благодарностью!
1 ответ
Решение
Я понял это, это было довольно тривиально. Вместо того, чтобы использовать вызов cmake, предложенный на темном сайте, на который я ссылался, я использовал ccmake для настройки и генерации. Он автоматически заполняется флагом C -fPIC
где это должно было быть. Тогда это построено отлично.