Search Postgresql Archives

Re: Compile 12.2 with specific OpenSSL libraries

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



rpath and LD_LIBRARY_PATH are only relevant for the runtime linking/resolution, right? My concern is that at compilation time the wrong version of OpenSSL is being picked up. Is there a way to see the full library/header path the compiler is using so that I can verify the path I specified with --with-headers and --with-libraries is taking precedence over the system paths?

On Tue, Sep 29, 2020 at 1:25 PM Tom Lane <tgl@xxxxxxxxxxxxx> wrote:
Joshua Poehls <joshua@xxxxxxxxx> writes:
> I'm compiling PG 12.2 (on CentOS 7) and need to ensure that it uses a
> specific version of OpenSSL (1.1.1h). I've added what I think are the
> appropriate `./configure` flags (see below) and compilation is successful
> but when I run `ldd -d initdb` or `readelf` I can see that it linked to a
> different version of libcrypto/libssl.

> --with-openssl --with-includes=/path/to/ssl/include
> --with-libraries=/path/to/ssl/lib

> My theory is that even though I'm adding --with-libraries/--with-includes,
> the build script is finding and using the version of OpenSSL in /lib64/
> because it has higher precedence somewhere.

Linux is generally pretty unfriendly to putting shlibs in nonstandard
places.  If you want to do that, you need to add an "rpath" spec to
the calling programs, or set LD_LIBRARY_PATH, or fool around with the
dynamic linker's configuration files.  "man ld.so" will get you started.

                        regards, tom lane


--
--
Joshua Poehls
joshua@xxxxxxxxx

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]

  Powered by Linux