gluster / glusterfs

Gluster Filesystem : Build your distributed storage in minutes
https://www.gluster.org
GNU General Public License v2.0
4.51k stars 1.07k forks source link

glusterfs: symbol lookup error: /lib/x86_64-linux-gnu/libgfrpc.so.0: undefined symbol: gf_async_ctrl #4327

Closed farhanmohdtahir closed 1 month ago

farhanmohdtahir commented 1 month ago

Description of problem:

Hi,

I want to upgrade glusterfs server from glusterfs:3.2-1 to latest glusterfs (11.1-1). All the process of completely uninstall and install the new one was seems normal without any error message. But, when I run glusterfs --version, I get an error message of : glusterfs: symbol lookup error: /lib/x86_64-linux-gnu/libgfrpc.so.0: undefined symbol: gf_async_ctrl Your help is much appreciated.

The exact command to reproduce the issue:

  1. Uninstall completely glusterfs:3.2-1 apt-get remove glusterfs-client glusterfs-server glusterfs-common apt-get autoremove

  2. Install latest version of glusterfs (11.1-1) 1. curl https://download.gluster.org/pub/gluster/glusterfs/11/rsa.pub | gpg --dearmor > /usr/share/keyrings/glusterfs-archive-keyring.gpg 2. DEBID=$(grep 'VERSION_ID=' /etc/os-release | cut -d '=' -f 2 | tr -d '"') 3. DEBVER=$(grep 'VERSION=' /etc/os-release | grep -Eo '[a-z]+') 4. DEBARCH=$(dpkg --print-architecture) 5. echo "deb [signed-by=/usr/share/keyrings/glusterfs-archive-keyring.gpg] https://download.gluster.org/pub/gluster/glusterfs/LATEST/Debian/${DEBID}/${DEBARCH}/apt ${DEBVER} main" | tee /etc/apt/sources.list.d/gluster.list 6. apt-get update 7. apt install -y glusterfs-server

The processes above works perfectly without any error messages or issue.

The full output of the command that failed: But, when I run the following command: glusterfs --version The following error appeared: glusterfs: symbol lookup error: /lib/x86_64-linux-gnu/libgfrpc.so.0: undefined symbol: gf_async_ctrl

Expected results: I am expecting to see the glusterfs --version after the installation

Mandatory info:

  1. There is no volume was created for the server yet
  2. The following are output when I ran ldd /usr/sbin/glusterd

linux-vdso.so.1 (0x00007ffc9a5f2000) libtirpc.so.3 => /lib/x86_64-linux-gnu/libtirpc.so.3 (0x00007fad27cc7000) libglusterfs.so.0 => /usr/local/lib/libglusterfs.so.0 (0x00007fad27c26000) libgfrpc.so.0 => /lib/x86_64-linux-gnu/libgfrpc.so.0 (0x00007fad27bed000) libgfxdr.so.0 => /lib/x86_64-linux-gnu/libgfxdr.so.0 (0x00007fad27bde000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fad279fd000) libgssapi_krb5.so.2 => /lib/x86_64-linux-gnu/libgssapi_krb5.so.2 (0x00007fad279a9000) libcrypto.so.3 => /lib/x86_64-linux-gnu/libcrypto.so.3 (0x00007fad27400000) libtcmalloc_minimal.so.4 => /lib/x86_64-linux-gnu/libtcmalloc_minimal.so.4 (0x00007fad27223000) /lib64/ld-linux-x86-64.so.2 (0x00007fad27d48000) libkrb5.so.3 => /lib/x86_64-linux-gnu/libkrb5.so.3 (0x00007fad278cf000) libk5crypto.so.3 => /lib/x86_64-linux-gnu/libk5crypto.so.3 (0x00007fad278a2000) libcom_err.so.2 => /lib/x86_64-linux-gnu/libcom_err.so.2 (0x00007fad2789a000) libkrb5support.so.0 => /lib/x86_64-linux-gnu/libkrb5support.so.0 (0x00007fad2788c000) libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fad27000000) libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fad26f21000) libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fad26f01000) libkeyutils.so.1 => /lib/x86_64-linux-gnu/libkeyutils.so.1 (0x00007fad27885000) libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007fad26ef0000)

  1. Output of apt-get install glusterfs-server

Reading package lists... Done Building dependency tree... Done Reading state information... Done The following additional packages will be installed: glusterfs-client glusterfs-common libgfapi0 libgfchangelog0 libgfrpc0 libgfxdr0 libglusterfs0 libgoogle-perftools4 libtcmalloc-minimal4 liburing2 python3-prettytable python3-wcwidth The following NEW packages will be installed: glusterfs-client glusterfs-common glusterfs-server libgfapi0 libgfchangelog0 libgfrpc0 libgfxdr0 libglusterfs0 libgoogle-perftools4 libtcmalloc-minimal4 liburing2 python3-prettytable python3-wcwidth 0 upgraded, 13 newly installed, 0 to remove and 14 not upgraded. Need to get 28.8 MB of archives. After this operation, 43.4 MB of additional disk space will be used. Get:1 http://deb.debian.org/debian bookworm/main amd64 libtcmalloc-minimal4 amd64 2.10-1 [93.4 kB] Get:2 http://deb.debian.org/debian bookworm/main amd64 liburing2 amd64 2.3-3 [12.6 kB]
Get:3 http://deb.debian.org/debian bookworm/main amd64 python3-wcwidth all 0.2.5+dfsg1-1.1 [21.4 kB] Get:4 http://deb.debian.org/debian bookworm/main amd64 python3-prettytable all 3.6.0-1 [36.0 kB] Get:5 http://deb.debian.org/debian bookworm/main amd64 libgoogle-perftools4 amd64 2.10-1 [202 kB] Get:6 https://download.gluster.org/pub/gluster/glusterfs/LATEST/Debian/12/amd64/apt bookworm/main amd64 libgfxdr0 amd64 11.1-1 [3,178 kB] Get:7 https://download.gluster.org/pub/gluster/glusterfs/LATEST/Debian/12/amd64/apt bookworm/main amd64 libglusterfs0 amd64 11.1-1 [3,420 kB] Get:8 https://download.gluster.org/pub/gluster/glusterfs/LATEST/Debian/12/amd64/apt bookworm/main amd64 libgfrpc0 amd64 11.1-1 [3,203 kB] Get:9 https://download.gluster.org/pub/gluster/glusterfs/LATEST/Debian/12/amd64/apt bookworm/main amd64 libgfapi0 amd64 11.1-1 [3,239 kB] Get:10 https://download.gluster.org/pub/gluster/glusterfs/LATEST/Debian/12/amd64/apt bookworm/main amd64 libgfchangelog0 amd64 11.1-1 [3,189 kB] Get:11 https://download.gluster.org/pub/gluster/glusterfs/LATEST/Debian/12/amd64/apt bookworm/main amd64 glusterfs-common amd64 11.1-1 [5,653 kB]
Get:12 https://download.gluster.org/pub/gluster/glusterfs/LATEST/Debian/12/amd64/apt bookworm/main amd64 glusterfs-client amd64 11.1-1 [3,189 kB]
Get:13 https://download.gluster.org/pub/gluster/glusterfs/LATEST/Debian/12/amd64/apt bookworm/main amd64 glusterfs-server amd64 11.1-1 [3,359 kB]
Fetched 28.8 MB in 8s (3,419 kB/s)
Selecting previously unselected package libtcmalloc-minimal4:amd64. (Reading database ... 159213 files and directories currently installed.) Preparing to unpack .../00-libtcmalloc-minimal4_2.10-1_amd64.deb ... Unpacking libtcmalloc-minimal4:amd64 (2.10-1) ... Selecting previously unselected package libgfxdr0:amd64. Preparing to unpack .../01-libgfxdr0_11.1-1_amd64.deb ... Unpacking libgfxdr0:amd64 (11.1-1) ... Selecting previously unselected package libglusterfs0:amd64. Preparing to unpack .../02-libglusterfs0_11.1-1_amd64.deb ... Unpacking libglusterfs0:amd64 (11.1-1) ... Selecting previously unselected package libgfrpc0:amd64. Preparing to unpack .../03-libgfrpc0_11.1-1_amd64.deb ... Unpacking libgfrpc0:amd64 (11.1-1) ... Selecting previously unselected package libgfapi0:amd64. Preparing to unpack .../04-libgfapi0_11.1-1_amd64.deb ... Unpacking libgfapi0:amd64 (11.1-1) ... Selecting previously unselected package libgfchangelog0:amd64. Preparing to unpack .../05-libgfchangelog0_11.1-1_amd64.deb ... Unpacking libgfchangelog0:amd64 (11.1-1) ... Selecting previously unselected package liburing2:amd64. Preparing to unpack .../06-liburing2_2.3-3_amd64.deb ... Unpacking liburing2:amd64 (2.3-3) ... Selecting previously unselected package python3-wcwidth. Preparing to unpack .../07-python3-wcwidth_0.2.5+dfsg1-1.1_all.deb ... Unpacking python3-wcwidth (0.2.5+dfsg1-1.1) ... Selecting previously unselected package python3-prettytable. Preparing to unpack .../08-python3-prettytable_3.6.0-1_all.deb ... Unpacking python3-prettytable (3.6.0-1) ... Selecting previously unselected package libgoogle-perftools4:amd64. Preparing to unpack .../09-libgoogle-perftools4_2.10-1_amd64.deb ... Unpacking libgoogle-perftools4:amd64 (2.10-1) ... Selecting previously unselected package glusterfs-common. Preparing to unpack .../10-glusterfs-common_11.1-1_amd64.deb ... Unpacking glusterfs-common (11.1-1) ... Selecting previously unselected package glusterfs-client. Preparing to unpack .../11-glusterfs-client_11.1-1_amd64.deb ... Unpacking glusterfs-client (11.1-1) ... Selecting previously unselected package glusterfs-server. Preparing to unpack .../12-glusterfs-server_11.1-1_amd64.deb ... Unpacking glusterfs-server (11.1-1) ... Setting up libtcmalloc-minimal4:amd64 (2.10-1) ... Setting up libglusterfs0:amd64 (11.1-1) ... Setting up python3-wcwidth (0.2.5+dfsg1-1.1) ... Setting up liburing2:amd64 (2.3-3) ... Setting up python3-prettytable (3.6.0-1) ... Setting up libgoogle-perftools4:amd64 (2.10-1) ... Setting up libgfxdr0:amd64 (11.1-1) ... Setting up libgfrpc0:amd64 (11.1-1) ... Setting up libgfchangelog0:amd64 (11.1-1) ... Setting up libgfapi0:amd64 (11.1-1) ... Setting up glusterfs-common (11.1-1) ... Setting up glusterfs-client (11.1-1) ... Setting up glusterfs-server (11.1-1) ... Processing triggers for man-db (2.11.2-2) ... Processing triggers for libc-bin (2.36-9+deb12u4) ..

.

  1. /var/log/glusterfs is empty

Additional info:

  1. Debian GNU/Linux 12 (bookworm)
  2. Installing glusterfs-11.1-1

Note: Please hide any confidential data which you don't want to share in public like IP address, file name, hostname or any other configuration

farhanmohdtahir commented 1 month ago

Update:

Since I have no luck using package installer to install glusterfs-server, I've tried to install glusterfs-server by compile source code (v11.1) from this git, and it works.

For those who are having hard time to resolve the issue related to the above libraries (undefined symbol: gf_async_ctrl), you can try to compile source code from this git. Thank you. Can close this issue.