我尝试在 Debian 9 上从源代码 PHP5.3.29 进行编译。 make 命令在此步骤错误停止
LDFLAGS="-Wl,-rpath=/opt/OpenSSL/openssl-1.0.1u/lib,-rpath=/opt/CURL/curl-7.26.0/lib" make
.../...
(.text+0x5d7e): warning: the use of `tmpnam' is dangerous, better use `mkstemp'
/usr/bin/ld: warning: libssl.so.1.1, needed by /usr/lib/x86_64-linux-gnu/libpq.so, may conflict with libssl.so.1.0.0
/usr/bin/ld: warning: libssl.so.1.1, needed by /usr/lib/x86_64-linux-gnu/libpq.so, may conflict with libssl.so.1.0.0
/usr/bin/ld: warning: libssl.so.1.1, needed by /usr/lib/x86_64-linux-gnu/libpq.so, may conflict with libssl.so.1.0.0
/usr/bin/ld: warning: libssl.so.1.1, needed by /usr/lib/x86_64-linux-gnu/libpq.so, may conflict with libssl.so.1.0.0
/usr/bin/ld: /usr/lib/x86_64-linux-gnu/libc-client.a(osdep.o): undefined reference to symbol 'TLS_server_method@@OPENSSL_1_1_0'
//usr/lib/x86_64-linux-gnu/libssl.so.1.1: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
Makefile:277: recipe for target 'sapi/fpm/php-fpm' failed
make: *** [sapi/fpm/php-fpm] Error 1
就像我编译旧版本的 OpenSSL 和 Curl 一样。我怀疑 libpq.so 还不够老
# ls -l /usr/lib/x86_64-linux-gnu/libpq.so
lrwxrwxrwx 1 root root 12 Aug 9 23:22 /usr/lib/x86_64-linux-gnu/libpq.so -> libpq.so.5.9
我不知道如何找到 libpq.so.4.x 的源代码,它是一个 PostgreSQL 库。
答案1
的目录Debian 快照libpq4
表示 PostgreSQL 提供的最后一个版本libpq4
是 8.1 系列;您可以获取该版本 (8.1.23) 的最新版本的源代码来自 PostgreSQL。
(您可以尝试使用快照中的二进制包,但我不确定在 Debian 9 中是否可以满足依赖关系而不会发生冲突。)