5

我正在尝试安装带有 Apache 支持的 Subversion。我安装了apr, apr-utils, neon, and OpenSSLwith the --enable-sharedflag。但是,尝试安装 subversion 时出现以下错误:

/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 常见问题解答中指出,如果我收到此错误,我应该使用该--enable-shared标志并且它应该可以工作。然而,这并没有帮助。关于如何解决这个问题的任何想法?

4

3 回答 3

5

我发现问题出在 openssl 安装上。使用 enable-shared 重新安装 openssl 工作。

于 2009-07-19T20:56:20.403 回答
1

我通过在 crypto\cryptolib.h 中向 OPENSSL_ia32cap_P 添加隐藏属性并重新编译来解决它。

extern unsigned int OPENSSL_ia32cap_P[] __attribute__ ((visibility ("hidden")));
于 2015-08-18T11:16:13.863 回答
0

我在其他几个非openssl场景中遇到过这个问题,我发现这通常与没有打开共享库有关。

添加--enable-shared到您的配置行似乎可以解决它。

于 2010-03-05T21:56:24.117 回答