2009-07-18 4 views
5

Я пытаюсь установить Subversion с поддержкой Apache. Я установил apr, apr-utils, neon и OpenSSL с флагом --enable-shared. Тем не менее, я получаю следующее сообщение об ошибке при попытке установить диверсию:Перемещение R_X86_64_32 по ошибке локального символа

/usr/bin/ld: /usr0/software/openssl/ossl/lib/libssl.a(s23_clnt.o): relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC 
/usr0/software/openssl/ossl/lib/libssl.a: could not read symbols: Bad value 
collect2: ld returned 1 exit status 
make[1]: *** [libserf-0.la] Error 1 
make[1]: Leaving directory `/usr0/sources/svn/subversion-1.6.3/serf' 
make: *** [external-all] Error 1 

На Subversion FAQ сказано, что если я получаю эту ошибку, я должен использовать --enable-shared флаг и он должен работать. Однако это не помогает. Любые идеи о том, как обойти это?

+0

Может быть хорошей идеей, чтобы спросить это также в serverfault.com (и добавить связь между ними) –

ответ

5

Я выяснил, что проблема была связана с установкой openssl. Переустановка openssl с включенным совместным использованием.

+1

просто побежал в это тоже /USR/бен/л.д.:/корень/установка/Библиотека/libssl .a (s23_clnt.o): перемещение R_X86_64_32 против «локального символа» не может использоваться при создании общего объекта; перекомпилировать с -fPIC /root/installs/lib/libssl.a: не удалось прочитать символы: Плохое значение $ ./config shared это исправлено, спасибо! – rogerdpack

+0

У меня тоже такая же проблема, что вы подразумеваете под saing «Переустановка openssl с включенным совместным использованием»? вы можете объяснить? благодаря! – RRR

+0

@RRR при настройке openssl запускает: './config shared' – g4ur4v

0

Я столкнулся с этим в нескольких других сценариях, отличных от opensl, и я обнаружил, что это обычно связано с тем, что не были включены общие библиотеки.

Добавление --enable-shared в вашу строку конфигурации, похоже, исправить.

0

Я решаю его с добавлением скрытого атрибута OPENSSL_ia32cap_P в crypto \ cryptolib.h и перекомпиляции.

extern unsigned int OPENSSL_ia32cap_P[] __attribute__ ((visibility ("hidden")));