Postgresql 15 client arm64 and Qt 5.15

2023-12-17 Thread Piergiorgio Valli
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

2023-12-17 Thread Tom Lane
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

2023-12-17 Thread Ron Johnson
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

2023-12-17 Thread Tom Lane
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

2023-12-17 Thread Adrian Klaver

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