# 2.38.0 rc1 and explicit openssl version

3 messages from 2022-09-22 to 2022-09-22. Participants: Lana Deere, Todd Zullinger, rsbecker@nexbridge.com.
Thread: https://gitlist.dev/t/58496

## Lana Deere, 2022-09-22 18:35

Subject: 2.38.0 rc1 and explicit openssl version
Message-ID: <CA+4x=b-myNFKfN1n1jrU+wMYfXbA7VrnrKVi7vj9LU4E9wb_rw@mail.gmail.com>
URL: https://gitlist.dev/e/CA%2B4x%3Db-myNFKfN1n1jrU%2BwMYfXbA7VrnrKVi7vj9LU4E9wb_rw%40mail.gmail.com

```
I built 2.38.0 rc1 from the tar file today.  One of the configure
options I used was "--with-openssl=<path>/openssl/3.0.5".  As
expected, configure reported
    configure: Setting OPENSSLDIR to<path>/openssl/3.0.5

When it got as far as linking git-imap-send, the link command pointed
at the subdirectory "lib" within the openssl/3.0.5 installation.
    gcc ... -o git-imap-send ...  -L<path>/openssl/3.0.5/lib ...

However, this version of openssl put the libraries into a "lib64"
subdirerctory rather than into a "lib" subdirectory so the link
failed.  An easy workaround is to put a symlink from lib64 to lib
inside the openssl directory.  It would be nice, though, if the
configure command could figure this out automatically.

.. Lana (lana.deere@gmail.com)

```

## Todd Zullinger, 2022-09-22 18:48

Subject: Re: 2.38.0 rc1 and explicit openssl version
Message-ID: <Yyyt/reX3mcYK+1Q@pobox.com>
URL: https://gitlist.dev/e/Yyyt%2FreX3mcYK%2B1Q%40pobox.com
In-Reply-To: <CA+4x=b-myNFKfN1n1jrU+wMYfXbA7VrnrKVi7vj9LU4E9wb_rw@mail.gmail.com>

```
Lana Deere wrote:
> I built 2.38.0 rc1 from the tar file today.  One of the configure
> options I used was "--with-openssl=<path>/openssl/3.0.5".  As
> expected, configure reported
>     configure: Setting OPENSSLDIR to<path>/openssl/3.0.5
> 
> When it got as far as linking git-imap-send, the link command pointed
> at the subdirectory "lib" within the openssl/3.0.5 installation.
>     gcc ... -o git-imap-send ...  -L<path>/openssl/3.0.5/lib ...
> 
> However, this version of openssl put the libraries into a "lib64"
> subdirerctory rather than into a "lib" subdirectory so the link
> failed.  An easy workaround is to put a symlink from lib64 to lib
> inside the openssl directory.  It would be nice, though, if the
> configure command could figure this out automatically.

I don't use the configure script, but I think you can
specify the lib dir via --with-lib=lib64.  (The same can be
done using config.mak or passing parameters directly to
make with the lib argument, e.g. make lib=lib64 ...)

If I'm reading correctly, that would apply to all packages
which were configured via one of the --with-$package=$path
options.

-- 
Todd

```

## rsbecker@nexbridge.com, 2022-09-22 18:55

Subject: RE: 2.38.0 rc1 and explicit openssl version
Message-ID: <022d01d8ceb4$eccf3fb0$c66dbf10$@nexbridge.com>
URL: https://gitlist.dev/e/022d01d8ceb4%24eccf3fb0%24c66dbf10%24%40nexbridge.com
In-Reply-To: <CA+4x=b-myNFKfN1n1jrU+wMYfXbA7VrnrKVi7vj9LU4E9wb_rw@mail.gmail.com>

```
On September 22, 2022 2:36 PM, Lana Deere wrote:
>I built 2.38.0 rc1 from the tar file today.  One of the configure options I used was "-
>-with-openssl=<path>/openssl/3.0.5".  As expected, configure reported
>    configure: Setting OPENSSLDIR to<path>/openssl/3.0.5
>
>When it got as far as linking git-imap-send, the link command pointed at the
>subdirectory "lib" within the openssl/3.0.5 installation.
>    gcc ... -o git-imap-send ...  -L<path>/openssl/3.0.5/lib ...
>
>However, this version of openssl put the libraries into a "lib64"
>subdirerctory rather than into a "lib" subdirectory so the link failed.  An easy
>workaround is to put a symlink from lib64 to lib inside the openssl directory.  It
>would be nice, though, if the configure command could figure this out
>automatically.

The OpenSSL team moved the 64-bit builds to lib64 as of 3.0.x. This is very likely to be retained in 3.1.x. I am working on a change that moves the runnable parts of OpenSSL 64-bit to /bin64. The 32-bit builds are still in /lib and /bin. My team hit this issue when first trying to build git and curl with 3.0.1. We control where we pick up libraries on the make command line using the CFLAGS and LDFLAGS variables so the internal git makefile does not need to know where the libraries are. This also avoids needing symlinks that can cause DLL conflicts between 32 and 64 models.

Regards,
Randall


```
