Postgresql 15 client arm64 and Qt 5.15
Hi all,
I should use the client of Postgresql on Arm64, Host where i build is
Ubuntu 20.04 64bit
I have downloaded the library from Ubuntu repository
http://ftp.de.debian.org/debian/pool/main/p/postgresql-15/libpq-dev_15.5-0+deb12u1_arm64.deb
When I am building the library with libpq.a it shows following error,
probably there are missings libraries. Do you know the additional library
that I need to link?
/home/pier/Android/Sdk/ndk/22.1.7171670/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++
-c -target aarch64-linux-android21 -fno-limit-debug-info -fPIC
-fstack-protector-strong -DANDROID -O2 -fPIC -I.
-I/home/pier/data/build/libpq-dev_15.5-0+deb12u1_arm64/data/usr/include
-I/home/pier/data/build/libpq-dev_15.5-0+deb12u1_arm64/data/usr/include
-I/home/pier/data/build/qt-everywhere-src-5.15.10/qtbase/mkspecs/android-clang
-o main.o main.cpp
/home/pier/Android/Sdk/ndk/22.1.7171670/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++ -target aarch64-linux-android21 -fno-limit-debug-info -Wl,--build-id=sha1 -Wl,--no-undefined -Wl,-z,noexecstack -shared -o psql main.o -Llibpq-dev_12.2-4_arm64/data/usr/lib/aarch64-linux-gnu/lib -L/home/pier/data/build/libpq-dev_15.5-0+deb12u1_arm64/data/usr/lib -lpq -llog -lz -lm -ldl -lc
d: error: undefined symbol: pg_encoding_mblen
referenced by fe-exec.o:(PQescapeStringInternal) in archive /home/pier/data/build/libpq-dev_15.5-0+deb12u1_arm64/data/usr/lib/libpq.a
referenced by fe-exec.o:(PQescapeInternal) in archive /home/pier/data/build/libpq-dev_15.5-0+deb12u1_arm64/data/usr/lib/libpq.a
referenced by fe-exec.o:(PQescapeInternal) in archive /home/pier/data/build/libpq-dev_15.5-0+deb12u1_arm64/data/usr/lib/libpq.a
referenced 2 more timesld: error: undefined symbol: pg_vsnprintf
referenced by fe-exec.o:(pqInternalNotice) in archive /home/pier/data/build/libpq-dev_15.5-0+deb12u1_arm64/data/usr/lib/libpq.a
referenced by pqexpbuffer.o:(printfPQExpBuffer) in archive /home/pier/data/build/libpq-dev_15.5-0+deb12u1_arm64/data/usr/lib/libpq.a
referenced by pqexpbuffer.o:(appendPQExpBuffer) in archive /home/pier/data/build/libpq-dev_15.5-0+deb12u1_arm64/data/usr/lib/libpq.ald: error: undefined symbol: pg_sprintf
referenced by fe-exec.o:(pqInternalNotice) in archive /home/pier/data/build/libpq-dev_15.5-0+deb12u1_arm64/data/usr/lib/libpq.a
referenced by fe-connect.o:(PQsetClientEncoding) in archive /home/pier/data/build/libpq-dev_15.5-0+deb12u1_arm64/data/usr/lib/libpq.ald: error: undefined symbol: pg_char_to_encoding
referenced by fe-exec.o:(pqSaveParameterStatus) in archive /home/pier/data/build/libpq-dev_15.5-0+deb12u1_arm64/data/usr/lib/libpq.a
referenced by fe-misc.o:(PQenv2encoding) in archive /home/pier/data/build/libpq-dev_15.5-0+deb12u1_arm64/data/usr/lib/libpq.ald: error: undefined symbol: __isoc99_sscanf
referenced by fe-exec.o:(pqSaveParameterStatus) in archive /home/pier/data/build/libpq-dev_15.5-0+deb12u1_arm64/data/usr/lib/libpq.a
ld: error: undefined symbol: pg_tolower
referenced by fe-exec.o:(PQfnumber) in archive /home/pier/data/build/libpq-dev_15.5-0+deb12u1_arm64/data/usr/lib/libpq.a
referenced by fe-exec.o:(PQfnumber) in archive /home/pier/data/build/libpq-dev_15.5-0+deb12u1_arm64/data/usr/lib/libpq.ald: error: undefined symbol: __ctype_b_loc
referenced by fe-exec.o:(PQcmdTuples) in archive /home/pier/data/build/libpq-dev_15.5-0+deb12u1_arm64/data/usr/lib/libpq.a
referenced by fe-connect.o:(parse_int_param) in archive /home/pier/data/build/libpq-dev_15.5-0+deb12u1_arm64/data/usr/lib/libpq.a
referenced by fe-connect.o:(parseServiceFile) in archive /home/pier/data/build/libpq-dev_15.5-0+deb12u1_arm64/data/usr/lib/libpq.a
referenced 4 more timesld: error: undefined symbol: pg_encoding_dsplen
referenced by fe-misc.o:(PQdsplen) in archive /home/pier/data/build/libpq-dev_15.5-0+deb12u1_arm64/data/usr/lib/libpq.a
referenced by fe-protocol3.o:(pqBuildErrorMessage3) in archive /home/pier/data/build/libpq-dev_15.5-0+deb12u1_arm64/data/usr/lib/libpq.a
referenced by fe-protocol3.o:(pqBuildErrorMessage3) in archive /home/pier/data/build/libpq-dev_15.5-0+deb12u1_arm64/data/usr/lib/libpq.ald: error: undefined symbol: dcgettext
referenced by fe-misc.o:(libpq_gettext) in archive /home/pier/data/build/libpq-dev_15.5-0+deb12u1_arm64/data/usr/lib/libpq.a
referenced by fe-misc.o:(libpq_gettext) in archive /home/pier/data/build/libpq-dev_15.5-0+deb12u1_arm64/data/usr/lib/libpq.ald: error: undefined symbol: __errno_location
referenced by fe-misc.o:(libpq_gettext) in archive /home/pier/data/build/libpq-dev_15.5-0+deb12u1_arm64/data/usr/lib/libpq.a
referenced by fe-misc.o:(pqSocketCheck) in archive /home/pier/data/build/libpq-dev_15.5-0+deb12u1_arm64/data/usr/lib/libpq.a
referenced by fe-misc.o:(pqReadData) in archive /home/pier/data/build/libpq-dev_15.5-0+deb12u1_arm64/data/usr/lib/libpq.a
referenced 44 more timesld: error: undefined symbol: bindtextdomain
referenced by fe-misc.o:(libpq_gettext) in archive /home/pier/data/build/libpq-dev_15.5-0+deb12u1_arm64/data/usr/lib/libpq.a
referenced by fe-misc.o:(libpq_ngettext) in archive /home/pier/data/build/libpq-dev_15.5-0+deb12u1_arm64/data/usr/lib/libpq.ald: error: undefined symbol: pg_strerror_r
referenced by fe-misc.o:(pqSocketCheck) in archive /home/pier/data/build/libpq-dev_15.5-0+deb12u1_arm64/data/usr/lib/libpq.a
referenced by fe-connect.o:(connectFailureMessage) in archive /home/pier/data/build/libpq-dev_15.5-0+deb12u1_arm64/data/usr/lib/libpq.a
referenced by fe-connect.o:(PQconnectPoll) in archive /home/pier/data/build/libpq-dev_15.5-0+deb12u1_arm64/data/usr/lib/libpq.a
referenced 16 more timesld: error: undefined symbol: dcngettext
referenced by fe-misc.o:(libpq_ngettext) in archive /home/pier/data/build/libpq-dev_15.5-0+deb12u1_arm64/data/usr/lib/libpq.a
ld: error: undefined symbol: stderr
referenced by fe-connect.o:(defaultNoticeProcessor) in archive /home/pier/data/build/libpq-dev_15.5-0+deb12u1_arm64/data/usr/lib/libpq.a
referenced by fe-connect.o:(defaultNoticeProcessor) in archive /home/pier/data/build/libpq-dev_15.5-0+deb12u1_arm64/data/usr/lib/libpq.a
referenced by fe-connect.o:(connectOptions2) in archive /home/pier/data/build/libpq-dev_15.5-0+deb12u1_arm64/data/usr/lib/libpq.a
referenced 5 more timesld: error: undefined symbol: pg_fprintf
referenced by fe-connect.o:(defaultNoticeProcessor) in archive /home/pier/data/build/libpq-dev_15.5-0+deb12u1_arm64/data/usr/lib/libpq.a
referenced by fe-connect.o:(connectOptions2) in archive /home/pier/data/build/libpq-dev_15.5-0+deb12u1_arm64/data/usr/lib/libpq.a
referenced by fe-trace.o:(pqTraceOutputByte1) in archive /home/pier/data/build/libpq-dev_15.5-0+deb12u1_arm64/data/usr/lib/libpq.a
referenced 107 more timesld: error: undefined symbol: __explicit_bzero_chk
referenced by fe-connect.o:(freePGconn) in archive /home/pier/data/build/libpq-dev_15.5-0+deb12u1_arm64/data/usr/lib/libpq.a
referenced by fe-connect.o:(freePGconn) in archive /home/pier/data/build/libpq-dev_15.5-0+deb12u1_arm64/data/usr/lib/libpq.a
referenced by fe-connect.o:(freePGconn) in archive /home/pier/data/build/libpq-dev_15.5-0+deb12u1_arm64/data/usr/lib/libpq.a
referenced 2 more timesld: error: undefined symbol: pg_strcasecmp
referenced by fe-connect.o:(sslVerifyProtocolVersion) in archive /home/pier/data/build/libpq-dev_15.5-0+deb12u1_arm64/data/usr/lib/libpq.a
referenced by fe-connect.o:(sslVerifyProtocolVersion) in archive /home/pier/data/build/libpq-dev_15.5-0+deb12u1_arm64/data/usr/lib/libpq.a
referenced by fe-connect.o:(sslVerifyProtocolVersion) in archive /home/pier/data/build/libpq-dev_15.5-0+deb12u1_arm64/data/usr/lib/libpq.a
referenced 14 more timesld: error: undefined symbol: pg_strncasecmp
referenced by fe-connect.o:(parseServiceFile) in archive /home/pier/data/build/libpq-dev_15.5-0+deb12u1_arm64/data/usr/lib/libpq.a
ld: error: undefined symbol: ldap_init
referenced by fe-connect.o:(parseServiceFile) in archive /home/pier/data/build/libpq-dev_15.5-0+deb12u1_arm64/data/usr/lib/libpq.a
ld: error: undefined symbol: ldap_set_option
referenced by fe-connect.o:(parseServiceFile) in archive /home/pier/data/build/libpq-dev_15.5-0+deb12u1_arm64/data/usr/lib/libpq.a
referenced by fe-connect.o:(parseServiceFile) in archive /home/pier/data/build/libpq-dev_15.5-0+deb12u1_arm64/data/usr/lib/libpq.ald: error: too many errors emitted, stopping now (use -error-limit=0 to see all errors)
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
Thanks
Piergiorgio Valli
Piergiorgio Valli <piervalli@gmail.com> writes:
When I am building the library with libpq.a it shows following error,
probably there are missings libraries. Do you know the additional library
that I need to link?
ld: error: undefined symbol: pg_encoding_mblen
ld: error: undefined symbol: pg_vsnprintf
libpgcommon and libpgport
regards, tom lane
On Sun, Dec 17, 2023 at 5:14 PM Piergiorgio Valli <piervalli@gmail.com>
wrote:
Hi all,
I should use the client of Postgresql on Arm64, Host where i build is
Ubuntu 20.04 64bitI have downloaded the library from Ubuntu repository
http://ftp.de.debian.org/debian/pool/main/p/postgresql-15/libpq-dev_15.5-0+deb12u1_arm64.debWhen I am building the library with libpq.a it shows following error,
probably there are missings libraries. Do you know the additional library
that I need to link?/home/pier/Android/Sdk/ndk/22.1.7171670/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++ -c -target aarch64-linux-android21 -fno-limit-debug-info -fPIC -fstack-protector-strong -DANDROID -O2 -fPIC -I. -I/home/pier/data/build/libpq-dev_15.5-0+deb12u1_arm64/data/usr/include -I/home/pier/data/build/libpq-dev_15.5-0+deb12u1_arm64/data/usr/include -I/home/pier/data/build/qt-everywhere-src-5.15.10/qtbase/mkspecs/android-clang -o main.o main.cpp
/home/pier/Android/Sdk/ndk/22.1.7171670/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++ -target aarch64-linux-android21 -fno-limit-debug-info -Wl,--build-id=sha1 -Wl,--no-undefined -Wl,-z,noexecstack -shared -o psql main.o -Llibpq-dev_12.2-4_arm64/data/usr/lib/aarch64-linux-gnu/lib -L/home/pier/data/build/libpq-dev_15.5-0+deb12u1_arm64/data/usr/lib -lpq -llog -lz -lm -ldl -lc
d: error: undefined symbol: pg_encoding_mblen
referenced by fe-exec.o:(PQescapeStringInternal) in archive /home/pier/data/build/libpq-
Did you directly download that one package, or install it via apt?
Because I wonder why it did not pull in the required dependencies.
Ron Johnson <ronljohnsonjr@gmail.com> writes:
On Sun, Dec 17, 2023 at 5:14 PM Piergiorgio Valli <piervalli@gmail.com>
wrote:When I am building the library with libpq.a it shows following error,
probably there are missings libraries. Do you know the additional library
that I need to link?
Did you directly download that one package, or install it via apt?
Because I wonder why it did not pull in the required dependencies.
.a libraries don't carry any information about what they depend on.
What I'd wonder is why the OP thinks it's a good idea to link this
way rather than using shared libraries.
regards, tom lane
On 12/17/23 16:17, Tom Lane wrote:
Ron Johnson <ronljohnsonjr@gmail.com> writes:
On Sun, Dec 17, 2023 at 5:14 PM Piergiorgio Valli <piervalli@gmail.com>
wrote:When I am building the library with libpq.a it shows following error,
probably there are missings libraries. Do you know the additional library
that I need to link?Did you directly download that one package, or install it via apt?
Because I wonder why it did not pull in the required dependencies..a libraries don't carry any information about what they depend on.
What I'd wonder is why the OP thinks it's a good idea to link this
way rather than using shared libraries.
If I where to hazard a guess:
/home/pier/Android/Sdk/ndk/ ...
regards, tom lane
--
Adrian Klaver
adrian.klaver@aklaver.com
Hi,
I have a SO 64bit (not arm 64) so I have downloaded the package manually
to collect all libraries for cross compilation,it is true there are missing
dependencies because there are many packages (on Windows all dll are under
folder libs).
Now I am searching where libpgcommon and libpgport where are installed. I
will install a SO arm64 to search library alternative I thinks should build
Postgresql for Arm.
Thanks
Pier
Il giorno lun 18 dic 2023 alle ore 01:03 Ron Johnson <
ronljohnsonjr@gmail.com> ha scritto:
Show quoted text
On Sun, Dec 17, 2023 at 5:14 PM Piergiorgio Valli <piervalli@gmail.com>
wrote:Hi all,
I should use the client of Postgresql on Arm64, Host where i build is
Ubuntu 20.04 64bitI have downloaded the library from Ubuntu repository
http://ftp.de.debian.org/debian/pool/main/p/postgresql-15/libpq-dev_15.5-0+deb12u1_arm64.debWhen I am building the library with libpq.a it shows following error,
probably there are missings libraries. Do you know the additional library
that I need to link?/home/pier/Android/Sdk/ndk/22.1.7171670/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++ -c -target aarch64-linux-android21 -fno-limit-debug-info -fPIC -fstack-protector-strong -DANDROID -O2 -fPIC -I. -I/home/pier/data/build/libpq-dev_15.5-0+deb12u1_arm64/data/usr/include -I/home/pier/data/build/libpq-dev_15.5-0+deb12u1_arm64/data/usr/include -I/home/pier/data/build/qt-everywhere-src-5.15.10/qtbase/mkspecs/android-clang -o main.o main.cpp
/home/pier/Android/Sdk/ndk/22.1.7171670/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++ -target aarch64-linux-android21 -fno-limit-debug-info -Wl,--build-id=sha1 -Wl,--no-undefined -Wl,-z,noexecstack -shared -o psql main.o -Llibpq-dev_12.2-4_arm64/data/usr/lib/aarch64-linux-gnu/lib -L/home/pier/data/build/libpq-dev_15.5-0+deb12u1_arm64/data/usr/lib -lpq -llog -lz -lm -ldl -lc
d: error: undefined symbol: pg_encoding_mblen
referenced by fe-exec.o:(PQescapeStringInternal) in archive /home/pier/data/build/libpq-
Did you directly download that one package, or install it via apt?
Because I wonder why it did not pull in the required dependencies.