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 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+de
Re: Postgresql 15 client arm64 and Qt 5.15
Piergiorgio Valli 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
Re: Postgresql 15 client arm64 and Qt 5.15
On Sun, Dec 17, 2023 at 5:14 PM Piergiorgio Valli wrote: > 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- > > Did you directly download that one package, or install it via apt? Because I wonder why it did not pull in the required dependencies.
Re: Postgresql 15 client arm64 and Qt 5.15
Ron Johnson writes: > On Sun, Dec 17, 2023 at 5:14 PM Piergiorgio Valli > 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
Re: Postgresql 15 client arm64 and Qt 5.15
On 12/17/23 16:17, Tom Lane wrote: Ron Johnson writes: On Sun, Dec 17, 2023 at 5:14 PM Piergiorgio Valli 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.kla...@aklaver.com