RE: FW: Building Postgres 17.0 with meson

From: Mark Hill <Mark(dot)Hill(at)sas(dot)com>
To: Nazir Bilal Yavuz <byavuz81(at)gmail(dot)com>
Cc: Robert Haas <robertmhaas(at)gmail(dot)com>, "pgsql-hackers(at)lists(dot)postgresql(dot)org" <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: RE: FW: Building Postgres 17.0 with meson
Date: 2024-11-14 19:55:07
Message-ID: BL0PR05MB50762DF82F7FBA632E4EB847EE5B2@BL0PR05MB5076.namprd05.prod.outlook.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Wed, 13 Nov 2024 at 10:53AM(EST), Nazir Bilal Yavuz <byavuz81(at)gmail(dot)com > wrote:

> I think that the problem is that you are setting '.../include/openssl'
> as an include_dir not '.../include'. Could you please try:

> set openssl_include_dir=D:\Jenkins\workspace\workspace\Postgres-9.4\OpenSSL\OpenSSL-Install\OpenSSL-3.1.6-wx6\include

Hi Nazir,

Thank you, that worked! I had actually tried that with openssl, icu, and zlib all enabled but when either icu or zlib failed it didn't get
as far as openssl so I didn't know that it would work until I tried with just openssl by itself. I have the setup working now but ninja
fails when I do the setup with openssl, zlib, and icu. If I setup just openssl and zlib, the build works.

With openssl, zlib, and icu enabled in the setup, the ninja build fails trying to link src/backend/postgres.exe. There are 40 unresolved
external symbol errors (see below.) I checked a few of the symbols and they appear in the Postgres source without the "_72" text on
the end. Is it getting "72" from the version of icu4c I'm using, 72.1? Anyone know how to prevent these errors?

Thanks, Mark

[1206/2170] Linking target src/backend/postgres.exe
FAILED: src/backend/postgres.exe
"link" @src/backend/postgres.exe.rsp
Creating library src\backend\postgres.lib
commands_collationcmds.c.obj : error LNK2019: unresolved external symbol uloc_getDisplayName_72 referenced in function get_icu_locale_comment
commands_collationcmds.c.obj : error LNK2019: unresolved external symbol uloc_getAvailable_72 referenced in function pg_import_system_collations
utils_adt_pg_locale.c.obj : error LNK2001: unresolved external symbol uloc_getAvailable_72
commands_collationcmds.c.obj : error LNK2019: unresolved external symbol uloc_countAvailable_72 referenced in function pg_import_system_collations
utils_adt_pg_locale.c.obj : error LNK2001: unresolved external symbol uloc_countAvailable_72
regex_regcomp.c.obj : error LNK2019: unresolved external symbol u_islower_72 referenced in function pg_wc_islower
regex_regcomp.c.obj : error LNK2019: unresolved external symbol u_isupper_72 referenced in function pg_wc_isupper
regex_regcomp.c.obj : error LNK2019: unresolved external symbol u_isdigit_72 referenced in function pg_wc_isdigit
regex_regcomp.c.obj : error LNK2019: unresolved external symbol u_isalpha_72 referenced in function pg_wc_isalpha
regex_regcomp.c.obj : error LNK2019: unresolved external symbol u_isalnum_72 referenced in function pg_wc_isalnum
regex_regcomp.c.obj : error LNK2019: unresolved external symbol u_ispunct_72 referenced in function pg_wc_ispunct
regex_regcomp.c.obj : error LNK2019: unresolved external symbol u_isgraph_72 referenced in function pg_wc_isgraph
regex_regcomp.c.obj : error LNK2019: unresolved external symbol u_isspace_72 referenced in function pg_wc_isspace
regex_regcomp.c.obj : error LNK2019: unresolved external symbol u_isprint_72 referenced in function pg_wc_isprint
regex_regcomp.c.obj : error LNK2019: unresolved external symbol u_tolower_72 referenced in function casecmp
regex_regcomp.c.obj : error LNK2019: unresolved external symbol u_toupper_72 referenced in function pg_wc_toupper
utils_adt_formatting.c.obj : error LNK2019: unresolved external symbol u_errorName_72 referenced in function icu_convert_case
utils_adt_pg_locale.c.obj : error LNK2001: unresolved external symbol u_errorName_72
utils_adt_formatting.c.obj : error LNK2019: unresolved external symbol u_strToUpper_72 referenced in function str_toupper
utils_adt_formatting.c.obj : error LNK2019: unresolved external symbol u_strToLower_72 referenced in function str_tolower
utils_adt_formatting.c.obj : error LNK2019: unresolved external symbol u_strToTitle_72 referenced in function u_strToTitle_default_BI
utils_adt_pg_locale.c.obj : error LNK2019: unresolved external symbol u_versionToString_72 referenced in function get_collation_actual_version
utils_adt_pg_locale.c.obj : error LNK2019: unresolved external symbol uiter_setString_72 referenced in function pg_strnxfrm_prefix_icu
utils_adt_pg_locale.c.obj : error LNK2019: unresolved external symbol uiter_setUTF8_72 referenced in function pg_strnxfrm_prefix_icu
utils_adt_pg_locale.c.obj : error LNK2019: unresolved external symbol uloc_getLanguage_72 referenced in function icu_validate_locale
utils_adt_pg_locale.c.obj : error LNK2019: unresolved external symbol uloc_canonicalize_72 referenced in function icu_set_collation_attributes
utils_adt_pg_locale.c.obj : error LNK2019: unresolved external symbol uloc_toLanguageTag_72 referenced in function icu_language_tag
utils_adt_pg_locale.c.obj : error LNK2019: unresolved external symbol ucol_open_72 referenced in function pg_ucol_open
utils_adt_pg_locale.c.obj : error LNK2019: unresolved external symbol ucol_openRules_72 referenced in function make_icu_collator
utils_adt_pg_locale.c.obj : error LNK2019: unresolved external symbol ucol_close_72 referenced in function get_collation_actual_version
utils_adt_pg_locale.c.obj : error LNK2019: unresolved external symbol ucol_strcoll_72 referenced in function pg_strncoll_icu
utils_adt_pg_locale.c.obj : error LNK2019: unresolved external symbol ucol_strcollUTF8_72 referenced in function pg_strncoll_icu
utils_adt_pg_locale.c.obj : error LNK2019: unresolved external symbol ucol_getRules_72 referenced in function make_icu_collator
utils_adt_pg_locale.c.obj : error LNK2019: unresolved external symbol ucol_getSortKey_72 referenced in function pg_strnxfrm_icu
utils_adt_pg_locale.c.obj : error LNK2019: unresolved external symbol ucol_nextSortKeyPart_72 referenced in function pg_strnxfrm_prefix_icu
utils_adt_pg_locale.c.obj : error LNK2019: unresolved external symbol ucol_getVersion_72 referenced in function get_collation_actual_version
utils_adt_pg_locale.c.obj : error LNK2019: unresolved external symbol ucol_setAttribute_72 referenced in function icu_set_collation_attributes
utils_adt_pg_locale.c.obj : error LNK2019: unresolved external symbol ucnv_open_72 referenced in function init_icu_converter
utils_adt_pg_locale.c.obj : error LNK2019: unresolved external symbol ucnv_fromUChars_72 referenced in function icu_from_uchar
utils_adt_pg_locale.c.obj : error LNK2019: unresolved external symbol ucnv_toUChars_72 referenced in function uchar_convert
utils_adt_pg_locale.c.obj : error LNK2019: unresolved external symbol u_strlen_72 referenced in function make_icu_collator
utils_adt_pg_locale.c.obj : error LNK2019: unresolved external symbol u_strcat_72 referenced in function make_icu_collator
utils_adt_pg_locale.c.obj : error LNK2019: unresolved external symbol u_strcpy_72 referenced in function make_icu_collator
src\backend\postgres.exe : fatal error LNK1120: 40 unresolved externals
[1211/2170] Compiling C object src/backend/snowball/dict_snowball.dll.p/libstemmer_stem_UTF_8_hindi.c.obj
ninja: build stopped: subcommand failed.

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2024-11-14 20:06:28 Re: Potential ABI breakage in upcoming minor releases
Previous Message Christoph Berg 2024-11-14 19:54:42 Re: Potential ABI breakage in upcoming minor releases