Hi Dave,

Is the .pc file generated after the successful build of zlib? If yes, then
meson should be able to detect the installation ideally

On Mon, May 20, 2024 at 4:28 PM Dave Page <dp...@pgadmin.org> wrote:

> Hi
>
> I'm working on updating the build of PostgreSQL that pgAdmin uses in its
> Windows installers to use Meson ready for the v17 release. I'm using Visual
> Studio 2022, on Windows Server 2022.
>
> I've been unable to persuade Meson to detect zlib, whilst OpenSSL seems to
> be fine.
>
> The dependencies have been built and installed as follows:
>
>  mkdir c:\build64
>
>  wget https://zlib.net/zlib-1.3.2.tar.gz
>  tar -zxvf zlib-1.3.2.tar.gz
>  cd zlib-1.3.2
>  cmake -DCMAKE_INSTALL_PREFIX=C:/build64/zlib -G "Visual Studio 17 2022" .
>  msbuild ALL_BUILD.vcxproj /p:Configuration=Release
>  msbuild RUN_TESTS.vcxproj /p:Configuration=Release
>  msbuild INSTALL.vcxproj /p:Configuration=Release
>  cd ..
>
>  wget https://www.openssl.org/source/openssl-3.0.13.tar.gz
>  tar -zxvf openssl-3.0.13.tar.gz
>  cd openssl-3.0.013
>  perl Configure VC-WIN64A no-asm --prefix=C:\build64\openssl no-ssl3
> no-comp
>  nmake
>  nmake test
>  nmake install
>  cd ..
>
> This results in the following headers and libraries being installed for
> zlib:
>
> C:\Users\dpage\git\postgresql>dir C:\build64\zlib\include
>  Volume in drive C has no label.
>  Volume Serial Number is 3AAD-5864
>
>  Directory of C:\build64\zlib\include
>
> 17/05/2024  15:56    <DIR>          .
> 17/05/2024  15:56    <DIR>          ..
> 17/05/2024  15:54            17,096 zconf.h
> 22/01/2024  19:32            96,829 zlib.h
>                2 File(s)        113,925 bytes
>                2 Dir(s)  98,842,726,400 bytes free
>
> C:\Users\dpage\git\postgresql>dir C:\build64\zlib\lib
>  Volume in drive C has no label.
>  Volume Serial Number is 3AAD-5864
>
>  Directory of C:\build64\zlib\lib
>
> 17/05/2024  17:01    <DIR>          .
> 17/05/2024  15:56    <DIR>          ..
> 17/05/2024  15:55            16,638 zlib.lib
> 17/05/2024  15:55           184,458 zlibstatic.lib
>                2 File(s)        201,096 bytes
>                2 Dir(s)  98,842,726,400 bytes free
>
> I then attempt to build PostgreSQL:
>
>  meson setup build
> -Dextra_include_dirs=C:/build64/openssl/include,C:/build64/zlib/include
> -Dextra_lib_dirs=C:/build64/openssl/lib,C:/build64/zlib/lib -Dssl=openssl
> -Dzlib=enabled --prefix=c:/build64/pgsql
>
> Which results in the output in output.txt, indicating that OpenSSL was
> correctly found, but zlib was not. I've also attached the meson log.
>
> I have very little experience with Meson, and even less interpreting it's
> logs, but it seems to me that it's not including the extra lib and include
> directories when it runs the test compile, given the command line it's
> reporting:
>
> cl
> C:\Users\dpage\git\postgresql\build\meson-private\tmpg_h4xcue\testfile.c
> /nologo /showIncludes /utf-8 /EP /nologo /showIncludes /utf-8 /EP /Od /Oi-
>
> Bug, or am I doing something silly?
>
>
> --
> Dave Page
> pgAdmin: https://www.pgadmin.org
> PostgreSQL: https://www.postgresql.org
> EDB: https://www.enterprisedb.com
>
>

-- 
Sandeep Thakkar

Reply via email to