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 times
> ld: 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.a
> ld: 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.a
> ld: 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.a
> ld: 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.a
> ld: 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 times
> ld: 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.a
> ld: 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.a
> ld: 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 times
> ld: 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.a
> ld: 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 times
> ld: 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 times
> ld: 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 times
> ld: 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 times
> ld: 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 times
> ld: 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.a
> ld: 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

Reply via email to