LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (https://www.linuxquestions.org/questions/slackware-14/)
-   -   [BUG] slackware-current, xfce4-terminal needs rebuild with libxcb-util.so.1 (https://www.linuxquestions.org/questions/slackware-14/%5Bbug%5D-slackware-current-xfce4-terminal-needs-rebuild-with-libxcb-util-so-1-a-4175476836/)

bormant 09-12-2013 04:52 AM

[BUG] slackware-current, xfce4-terminal needs rebuild with libxcb-util.so.1
 
xfce4-terminal in slackware-current needs rebuild with new libxcb-util.so.1 instead of libxcb-util.so.0 after upgrading to xcb-utils-0.3.9.

burdi01 09-12-2013 05:46 AM

1 Attachment(s)
I had the same problem with caja (mate's "nautilus"). I worked around the problem by copying the libxcb-util.so.0 from before the xcb-util upgrade. The attached package (rename .txt to .txz) provides the library for 32 and 64 bit.
:D

stereo 09-12-2013 06:12 AM

Just to report, I have the same problem. And I can't use xfce, fluxbox or twm neither with my user account nor with root account. I tried with new user account "test" and the results are the same.

zeroberto 09-12-2013 06:26 AM

Quote:

Originally Posted by burdi01 (Post 5026362)
I had the same problem with caja (mate's "nautilus"). I worked around the problem by copying the libxcb-util.so.0 from before the xcb-util upgrade. The attached package (rename .txt to .txz) provides the library for 32 and 64 bit.
:D

I had the same problem with Mate. You need to rebuild only three package and it should work.
http://slackblogs.blogspot.com/2013/...-some-msb.html

GazL 09-12-2013 06:26 AM

Slackware64-current (Mon Sep 9 03:34:59 UTC 2013)
Code:

gazl@ws1:~$ readelf -d /usr/bin/xfce4-terminal | grep -i needed
 0x0000000000000001 (NEEDED)            Shared library: [libvte.so.9]
 0x0000000000000001 (NEEDED)            Shared library: [libxfce4ui-1.so.0]
 0x0000000000000001 (NEEDED)            Shared library: [libgtk-x11-2.0.so.0]
 0x0000000000000001 (NEEDED)            Shared library: [libxfce4util.so.6]
 0x0000000000000001 (NEEDED)            Shared library: [libgdk-x11-2.0.so.0]
 0x0000000000000001 (NEEDED)            Shared library: [libatk-1.0.so.0]
 0x0000000000000001 (NEEDED)            Shared library: [libgdk_pixbuf-2.0.so.0]
 0x0000000000000001 (NEEDED)            Shared library: [libgio-2.0.so.0]
 0x0000000000000001 (NEEDED)            Shared library: [libX11.so.6]
 0x0000000000000001 (NEEDED)            Shared library: [libpango-1.0.so.0]
 0x0000000000000001 (NEEDED)            Shared library: [libgobject-2.0.so.0]
 0x0000000000000001 (NEEDED)            Shared library: [libglib-2.0.so.0]
 0x0000000000000001 (NEEDED)            Shared library: [libpthread.so.0]
 0x0000000000000001 (NEEDED)            Shared library: [libc.so.6]
gazl@ws1:~$ ldd /usr/bin/xfce4-terminal | grep -i xcb
        libxcb.so.1 => /usr/lib64/../lib64/libxcb.so.1 (0x00007f68aa699000)
        libxcb-shm.so.0 => /usr/lib64/libxcb-shm.so.0 (0x00007f68a736f000)
        libxcb-render.so.0 => /usr/lib64/libxcb-render.so.0 (0x00007f68a7165000)
        libxcb-util.so.1 => /usr/lib64/libxcb-util.so.1 (0x00007f68a6b45000)
        libX11-xcb.so.1 => /usr/lib64/libX11-xcb.so.1 (0x00007f68a6944000)
gazl@ws1:~$

I didn't notice a problem when I was using 'terminal' last night.

Toutatis 09-12-2013 06:29 AM

My own xfce4-terminal gives with ldd

libxcb-util.so.1 => /usr/lib64/libxcb-util.so.1 (0x00007f00441e0000)

stereo 09-12-2013 06:32 AM

When I do startx, it starts xfce and fluxbox but I can't do anything. My mouse does not react, my keyboard doesn't react. I kill X over ssh to get console tty.

bormant 09-12-2013 06:35 AM

Simple rebuild was fine:
Code:

# wget -r -nH --cut-dirs=4 ftp://ftp.osuosl.org/pub/slackware/slackware-current/source/xfce/xfce4-terminal
# cd xfce/xfce4-terminal
# BUILD=1b bash *Build
# upgradepkg --reinstall /tmp/xfce4-terminal-*t?z
# rm -rf /tmp/package-xfce4-terminal /tmp/xfce4-terminal-*/

# ldd $(which xfce4-terminal) | grep libxcb-util
        libxcb-util.so.1 => /usr/lib/libxcb-util.so.1 (0xb4df5000)


stereo 09-12-2013 09:54 AM

I solved my problem. I didn't upgrade xorg before. After xorg update, reinstalled amd driver and it is working.

willysr 09-12-2013 10:20 AM

Quote:

Originally Posted by burdi01 (Post 5026362)
I had the same problem with caja (mate's "nautilus"). I worked around the problem by copying the libxcb-util.so.0 from before the xcb-util upgrade. The attached package (rename .txt to .txz) provides the library for 32 and 64 bit.
:D

That's not the proper way to solve this problem as you might forgot about this someday...
a simple rebuild of mate-file-manager should solve this
Even better, you should rebuild mate-image-viewer and mate-control-panel as well as mentioned on my blog post

burdi01 09-12-2013 11:25 AM

@willysr:
Quote:

That's not the proper way to solve this problem as you might forgot about this someday...
Well, I keep records ...

Actually I run mate-{document-viewer,file-archiver,file-manager,text-editor} - plus some dependencies - from http://repo.mate-desktop.org/slackware/ on a Slackware/Salix XFCE installation. So recompiling is not the first thing I would do.
:D

willysr 09-12-2013 11:47 AM

Are you using -Current or -Stable releases?
Since the xcb-util update won't hit -Stable releases, so i assume you are using -Current
the binaries are made for Slackware-14.0 (-Stable), not for -Current
Current users are advised to use the GIT repo and build it by themselves (which can be done in less than 30 minutes for all packages in MSB)

willysr 09-12-2013 11:55 AM

I can also confirm that xfce4-terminal is already looking at the correct version of xcb-util:
Code:

willysr@desktop:~$ ldd /usr/bin/xfce4-terminal | grep xcb
        libxcb-shm.so.0 => /usr/lib/libxcb-shm.so.0 (0xb6a7c000)
        libX11-xcb.so.1 => /usr/lib/libX11-xcb.so.1 (0xb6a7a000)
        libxcb-render.so.0 => /usr/lib/libxcb-render.so.0 (0xb6a71000)
        libxcb.so.1 => /usr/lib/libxcb.so.1 (0xb664b000)
        libxcb-util.so.1 => /usr/lib/libxcb-util.so.1 (0xb4e21000)


burdi01 09-13-2013 04:35 AM

Quote:

the binaries are made for Slackware-14.0 (-Stable), not for -Current
Yes, I am running Current.

IMHO you overestimate the Stable versus Current issue. For as far as I am aware a DLL/dependency-hell does not exist (nowadays?).

The first workaround tool is the LD_LIBRARY_PATH environment variable. E.g. by prepending a directory with some "old" libraries I succeeded in keeping an own-compiled KDE 3.5.10 alive for more than two years. And with the same trick I was able to use the Trinity 3.5.13 binaries from Fedora on Slackware.

The second workaround tool is the library versioning which in many (all?) cases enables us to keep an old version. Take for instance the libxcb-util library this thread is about:
Code:

root@riposo:~/works# ls -l /usr/lib64/libxcb-u*
-rwxr-xr-x 1 root root  1008 Sep  7 22:35 /usr/lib64/libxcb-util.la*
lrwxrwxrwx 1 root root    20 Sep  9 15:52 /usr/lib64/libxcb-util.so -> libxcb-util.so.1.0.0*
lrwxrwxrwx 1 root root    20 Sep  9 17:41 /usr/lib64/libxcb-util.so.0 -> libxcb-util.so.0.0.0*
-rwxr-xr-x 1 root root 24640 May  4  2012 /usr/lib64/libxcb-util.so.0.0.0*
lrwxrwxrwx 1 root root    20 Sep  9 15:52 /usr/lib64/libxcb-util.so.1 -> libxcb-util.so.1.0.0*
-rwxr-xr-x 1 root root 20528 Sep  7 22:35 /usr/lib64/libxcb-util.so.1.0.0*
root@riposo:~/works#

The Sep 7 files are for the new version 1, the May 4 2012 file(s) are for the old version 0 I copied in. The .la points to version 1, so newly linked programs will link against version 1. And an old program still using version 0 will still find that version. Most of the time this workaround is temporary, so some record-keeping is appropriate.
:D

willysr 09-13-2013 05:54 AM

as i said before, it works for temporary solution, but for long term, you will have an unmanaged system since it was like a patched system without a proper patch.

A simple rebuild will not kill your system, especially in MATE case, since only small part of the packages that requires rebuilding


All times are GMT -5. The time now is 08:36 AM.