On Fri, Dec 13, 2024 at 6:20 PM Surya Widyanto <ayru...@gmail.com> wrote:
> Hi, > > I just want to share that the problem with my installation of pgAdmin4 on > my AlmaLinux v8.x and v9.x are now can run with Web mode using Apache HTTPD. > I will try to explain how I overcome the problem > > 1. First, the error log of my pgAdmin4 are like below > > mod_wsgi (pid=3540264): Failed to exec Python script file > '/usr/pgadmin4/web/pgAdmin4.wsgi'. > mod_wsgi (pid=3540264): Exception occurred processing WSGI script > '/usr/pgadmin4/web/pgAdmin4.wsgi'. > Traceback (most recent call last): > File "/usr/pgadmin4/web/pgAdmin4.wsgi", line 36, in <module> > from pgAdmin4 import app as application > File "/usr/pgadmin4/web/pgAdmin4.py", line 93, in <module> > app = create_app() > File "/usr/pgadmin4/web/pgadmin/__init__.py", line 546, in create_app > driver.init_app(app) > File "/usr/pgadmin4/web/pgadmin/utils/driver/__init__.py", line 27, in > init_app > DriverRegistry.load_modules(app) > File "/usr/pgadmin4/web/pgadmin/utils/driver/registry.py", line 20, in > load_modules > from . import psycopg3 as module > File "/usr/pgadmin4/web/pgadmin/utils/driver/psycopg3/__init__.py", line > 21, in <module> > import psycopg > File > "/usr/pgadmin4/venv/lib64/python3.9/site-packages/psycopg/__init__.py", > line 9, in <module> > from . import pq # noqa: F401 import early to stabilize side effects > File > "/usr/pgadmin4/venv/lib64/python3.9/site-packages/psycopg/pq/__init__.py", > line 117, in <module> > import_from_libpq() > File > "/usr/pgadmin4/venv/lib64/python3.9/site-packages/psycopg/pq/__init__.py", > line 109, in import_from_libpq > raise ImportError( > ImportError: no pq wrapper available. > Attempts made: > - couldn't import psycopg 'c' implementation: > /usr/pgadmin4/venv/lib64/python3.9/site-packages/psycopg_c/ > pq.cpython-39-x86_64-linux-gnu.so: undefined symbol: PQchangePassword > - couldn't import psycopg 'binary' implementation: No module named > 'psycopg_binary' > - couldn't import psycopg 'python' implementation: > > 2. From the log I know that after upgrading from pgAdmin4 v8.12 to v8.13 > and above, it require some *psycopg_binary *python package > > 3. So I open the pgAdmin4 virtual environment using command: > > source /usr/pgadmin4/venv/bin/activate > > 4. Then run PIP to install the required package *psycopg_binaryby *running > command: > > > *pip install "psycopg[binary]"* > *psycpg[binary]* installs all the libraries needed. So it will not use your system's libpq. > 5. And restart the *Apache HTTPD*, and access it from web browser. > That's it, I can access my instance of pgAdmin4 v8.13 or the latest v8.14 > from web. > > Regards, > ayrus02 > > > On 03-12-2024 12:33, Khushboo Vashi wrote: > > > > On Mon, Dec 2, 2024 at 6:31 PM Surya Widyanto <ayru...@gmail.com> wrote: > >> Hi, >> >> For this problem is it already identified the main problem? is it a bug >> on the new release v8.13? >> Is there any hint how to solve the problem? until now, I still cannot >> upgrade to v8.13 because of this problem >> >> Please try moving libpq.so and libpq.so.5 to the other location and > keeping only one libpq `/usr/lib64/libpq.so.5.17`. > > Regards, >> ayrus02 >> >> On 18-11-2024 16:42, Khushboo Vashi wrote: >> >> Hi, >> >> Make sure that your libpq is located at LIBDIR = /usr/lib64. This error >> may occur when you have multiple libpq installed on your system. Also do >> not forget to restart the apache server. >> >> Thanks, >> Khushboo >> >> >> >> On Mon, Nov 18, 2024 at 3:06 PM Surya Widyanto <ayru...@gmail.com> wrote: >> >>> Hi, >>> >>> Below are the output of pg_config on on my AlmaLinux 8 (x64) machine: >>> >>> BINDIR = /usr/bin >>> DOCDIR = /usr/share/doc/pgsql >>> HTMLDIR = /usr/share/doc/pgsql >>> INCLUDEDIR = /usr/include >>> PKGINCLUDEDIR = /usr/include/pgsql >>> INCLUDEDIR-SERVER = /usr/include/pgsql/server >>> LIBDIR = /usr/lib64 >>> PKGLIBDIR = /usr/lib64/pgsql >>> LOCALEDIR = /usr/share/locale >>> MANDIR = /usr/share/man >>> SHAREDIR = /usr/share/pgsql >>> SYSCONFDIR = /etc/pgsql >>> PGXS = /usr/lib64/pgsql/pgxs/src/makefiles/pgxs.mk >>> CONFIGURE = '--build=x86_64-redhat-linux-gnu' >>> '--host=x86_64-redhat-linux-gnu' '--program-prefix=' >>> '--disable-dependency-tracking' '--prefix=/usr' '--exec-prefix=/usr' >>> '--bindir=/usr/bin' '--sbindir=/usr/sbin' '--sysconfdir=/etc' >>> '--datadir=/usr/share' '--includedir=/usr/include' '--libdir=/usr/lib64' >>> '--libexecdir=/usr/libexec' '--localstatedir=/var' >>> '--sharedstatedir=/var/lib' '--mandir=/usr/share/man' >>> '--infodir=/usr/share/info' '--disable-rpath' '--with-openssl' >>> '--with-gssapi' '--with-includes=/usr/include' >>> '--with-libraries=/usr/lib64' '--enable-nls' '--with-ldap' '--with-lz4' >>> '--with-selinux' '--with-systemd' >>> '--with-system-tzdata=/usr/share/zoneinfo' >>> 'build_alias=x86_64-redhat-linux-gnu' 'host_alias=x86_64-redhat-linux-gnu' >>> 'CFLAGS=-O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 >>> -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong >>> -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 >>> -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic >>> -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection' >>> 'LDFLAGS=-Wl,--as-needed' 'CXXFLAGS=-O2 -g -pipe -Wall >>> -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS >>> -fexceptions -fstack-protector-strong -grecord-gcc-switches >>> -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 >>> -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic >>> -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection' >>> 'PKG_CONFIG_PATH=:/usr/lib64/pkgconfig:/usr/share/pkgconfig' >>> 'PYTHON=/usr/bin/python3' >>> CC = gcc >>> CPPFLAGS = -D_GNU_SOURCE -I/usr/include >>> CFLAGS = -Wall -Wmissing-prototypes -Wpointer-arith >>> -Wdeclaration-after-statement -Werror=vla -Wendif-labels >>> -Wmissing-format-attribute -Wimplicit-fallthrough=3 -Wcast-function-type >>> -Wshadow=compatible-local -Wformat-security -fno-strict-aliasing -fwrapv >>> -fexcess-precision=standard -Wno-format-truncation -Wno-stringop-truncation >>> -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 >>> -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong >>> -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 >>> -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic >>> -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection >>> CFLAGS_SL = -fPIC >>> LDFLAGS = -Wl,--as-needed -L/usr/lib64 -Wl,--as-needed >>> LDFLAGS_EX = >>> LDFLAGS_SL = >>> LIBS = -lpgcommon -lpgport -lselinux -llz4 -lssl -lcrypto -lgssapi_krb5 >>> -lz -lreadline -lpthread -lrt -ldl -lm >>> VERSION = PostgreSQL 17.0 >>> >>> Below are the output of pg_config on on my AlmaLinux 9 (x64) machine: >>> >>> BINDIR = /usr/bin >>> DOCDIR = /usr/share/doc/pgsql >>> HTMLDIR = /usr/share/doc/pgsql >>> INCLUDEDIR = /usr/include >>> PKGINCLUDEDIR = /usr/include/pgsql >>> INCLUDEDIR-SERVER = /usr/include/pgsql/server >>> LIBDIR = /usr/lib64 >>> PKGLIBDIR = /usr/lib64/pgsql >>> LOCALEDIR = /usr/share/locale >>> MANDIR = /usr/share/man >>> SHAREDIR = /usr/share/pgsql >>> SYSCONFDIR = /etc/pgsql >>> PGXS = /usr/lib64/pgsql/pgxs/src/makefiles/pgxs.mk >>> CONFIGURE = '--build=x86_64-redhat-linux-gnu' >>> '--host=x86_64-redhat-linux-gnu' '--program-prefix=' >>> '--disable-dependency-tracking' '--prefix=/usr' '--exec-prefix=/usr' >>> '--bindir=/usr/bin' '--sbindir=/usr/sbin' '--sysconfdir=/etc' >>> '--datadir=/usr/share' '--includedir=/usr/include' '--libdir=/usr/lib64' >>> '--libexecdir=/usr/libexec' '--localstatedir=/var' >>> '--sharedstatedir=/var/lib' '--mandir=/usr/share/man' >>> '--infodir=/usr/share/info' '--disable-rpath' '--with-openssl' >>> '--with-gssapi' '--with-includes=/usr/include' >>> '--with-libraries=/usr/lib64' '--enable-nls' '--with-ldap' '--with-lz4' >>> '--with-selinux' '--with-systemd' >>> '--with-system-tzdata=/usr/share/zoneinfo' >>> 'build_alias=x86_64-redhat-linux-gnu' 'host_alias=x86_64-redhat-linux-gnu' >>> 'CC=gcc' 'CFLAGS=-O2 -flto=auto -ffat-lto-objects -fexceptions -g >>> -grecord-gcc-switches -pipe -Wall -Werror=format-security >>> -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS >>> -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong >>> -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64-v2 >>> -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection >>> -fcf-protection' 'LDFLAGS=-Wl,--as-needed' 'CXX=g++' 'CXXFLAGS=-O2 >>> -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe >>> -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 >>> -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 >>> -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 >>> -m64 -march=x86-64-v2 -mtune=generic -fasynchronous-unwind-tables >>> -fstack-clash-protection -fcf-protection' >>> 'PKG_CONFIG_PATH=:/usr/lib64/pkgconfig:/usr/share/pkgconfig' >>> 'PYTHON=/usr/bin/python3' >>> CC = gcc >>> CPPFLAGS = -D_GNU_SOURCE -I/usr/include >>> CFLAGS = -Wall -Wmissing-prototypes -Wpointer-arith >>> -Wdeclaration-after-statement -Werror=vla -Wendif-labels >>> -Wmissing-format-attribute -Wimplicit-fallthrough=3 -Wcast-function-type >>> -Wshadow=compatible-local -Wformat-security -fno-strict-aliasing -fwrapv >>> -fexcess-precision=standard -Wno-format-truncation -Wno-stringop-truncation >>> -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches >>> -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 >>> -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 >>> -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 >>> -march=x86-64-v2 -mtune=generic -fasynchronous-unwind-tables >>> -fstack-clash-protection -fcf-protection >>> CFLAGS_SL = -fPIC >>> LDFLAGS = -Wl,--as-needed -L/usr/lib64 -Wl,--as-needed >>> LDFLAGS_EX = >>> LDFLAGS_SL = >>> LIBS = -lpgcommon -lpgport -lselinux -llz4 -lssl -lcrypto -lgssapi_krb5 >>> -lz -lreadline -lm >>> VERSION = PostgreSQL 17.0 >>> >>> Regards, >>> ayrus02 >>> >>> >>> On 18-11-2024 16:26, Khushboo Vashi wrote: >>> >>> >>> >>> On Mon, Nov 18, 2024 at 2:48 PM Surya Widyanto <ayru...@gmail.com> >>> wrote: >>> >>>> Hi, >>>> >>>> Below are the output of *dnf list libpq5** on my AlmaLinux 8 (x64) >>>> machine: >>>> >>>> Last metadata expiration check: 3:28:40 ago on Mon 18 Nov 2024 12:43:19 >>>> PM WIB. >>>> Installed Packages >>>> libpq5.x86_64 - 17.0-43PGDG.rhel8 - @pgAdmin4 >>>> Available Packages >>>> libpq5-devel.x86_64 - 17.0-43PGDG.rhel8 - pgAdmin4 >>>> libpq5-devel.x86_64 - 17.0-43PGDG.rhel8 - pgdg-common >>>> >>>> This looks fine. >>> What's the output of pg_config ? >>> >>>> And below are the output of *dnf list libpq5** on my AlmaLinux 9 (x64) >>>> machine: >>>> >>>> Last metadata expiration check: 0:38:20 ago on Sen 18 Nov 2024 03:33:43 >>>> . >>>> Installed Packages >>>> libpq5.x86_64 - 17.0-43PGDG.rhel9 - @pgdg-common >>>> Available Packages >>>> libpq5-devel.x86_64 - 17.0-43PGDG.rhel9 - pgAdmin4 >>>> libpq5-devel.x86_64 - 17.0-43PGDG.rhel9 - pgdg-common >>>> >>>> Regards, >>>> ayrus02 >>>> On 18-11-2024 16:06, Khushboo Vashi wrote: >>>> >>>> >>>> >>>> On Mon, Nov 18, 2024 at 1:13 PM Surya Widyanto <ayru...@gmail.com> >>>> wrote: >>>> >>>>> Hi, >>>>> >>>>> I've upgraded the libpq5 to version 17.0-43PGDG.rhel8 >>>>> I've also restart the apache server. >>>>> >>>> >>>> What's the output of `yum list libpq5*` ? >>>> >>>>> >>>>> But the problem still exist. With the same error in log file. >>>>> >>>>> I've also can confirm that this also happened on my other server >>>>> running AlmaLinux 9 (x64). >>>>> My other server also has libpq5 with version 17.0-43PGDG.rhel9 and >>>>> also running as Web Mode via Apache. >>>>> >>>>> Regards, >>>>> ayrus02 >>>>> >>>>> On 18-11-2024 14:21, Khushboo Vashi wrote: >>>>> >>>>> Hi, >>>>> >>>>> On Mon, Nov 18, 2024 at 12:24 PM Surya Widyanto <ayru...@gmail.com> >>>>> wrote: >>>>> >>>>>> Hi Vashi, >>>>>> >>>>>> Yes, I can confirm it is installed with version: >>>>>> libpq5.x86_64 - v16.3-43PGDG.rhel8 >>>>>> >>>>> >>>>> During the pgAdmin upgrade on your system, the libpq5 should have been >>>>> upgraded to the latest (v17), which didn't happen in your case. >>>>> Can you please upgrade libpq5 to the latest version? It should fix >>>>> this issue. >>>>> >>>>> Thanks, >>>>> Khushboo >>>>> >>>>>> >>>>>> Regards, >>>>>> ayrus02 >>>>>> >>>>>> On 18-11-2024 13:48, Khushboo Vashi wrote: >>>>>> >>>>>> Is libpq5 installed on your system? >>>>>> >>>>>> On Mon, Nov 18, 2024 at 12:11 PM Surya Widyanto <ayru...@gmail.com> >>>>>> wrote: >>>>>> >>>>>>> Hi, >>>>>>> >>>>>>> Today, I've upgraded my pgAdmin4 version from v8.12 to v8.13 using >>>>>>> dnf on AlmaLinux 8. >>>>>>> >>>>>>> My pgAdmin4 is installed as web mode and accessed via Apache. >>>>>>> >>>>>>> After upgrading to v8.13, when I access the pgAdmin4 address from >>>>>>> web browser, it give an error 500. When I look at the error log, it >>>>>>> contains the line below: >>>>>>> >>>>>>> mod_wsgi (pid=3535715): Failed to exec Python script file >>>>>>> '/usr/pgadmin4/web/pgAdmin4.wsgi'. >>>>>>> mod_wsgi (pid=3535715): Exception occurred processing WSGI script >>>>>>> '/usr/pgadmin4/web/pgAdmin4.wsgi'. >>>>>>> Traceback (most recent call last): >>>>>>> ImportError: no pq wrapper available. >>>>>>> Attempts made: >>>>>>> - couldn't import psycopg 'c' implementation: >>>>>>> /usr/pgadmin4/venv/lib64/python3.9/site-packages/psycopg_c/ >>>>>>> pq.cpython-39-x86_64-linux-gnu.so: undefined symbol: >>>>>>> PQchangePassword >>>>>>> - couldn't import psycopg 'binary' implementation: No module named >>>>>>> 'psycopg_binary' >>>>>>> - couldn't import psycopg 'python' implementation: >>>>>>> >>>>>>> The primary concern is at *undefined symbol: PQchangePassword* >>>>>>> >>>>>>> Is there any bug or I have do the update wrongly? >>>>>>> >>>>>>> Regards, >>>>>>> ayrus02 >>>>>>> >>>>>> >>>>>> >>>>> >>>> >>> >> >