Hello,
Quote:
Originally Posted by Toutatis
Hello !
I have had some problems when I tried to run 32 bits programs in slackware64 (usin alienbob's multilib). I got some
libudev.so.0 not found
It seems to come from the new libcairo.so.2.11200.16 in slacware64-current that uses it.
Is it sane to convert 32bits udev dans install it ?
|
Be careful with udev because it contains binaries in locations (ex: /lib/udev) which are not handled by convertpkg-compat32, and some of 64-bit binaries will be overwritten by their 32-bit counterparts. If udev needs to be included into the multilib, then convertpkg-compat32 will need to be updated accordingly.
Some times ago, I wrote a patch for convertpkg-compat32 to manage udev in case this package would have to be added into the multilib. This patch works with current convertpkg-compat32 :
Code:
--- usr/sbin/convertpkg-compat32 2012-09-21 00:50:13.000000000 +0200
+++ convertpkg-compat32 2012-11-14 12:05:14.087003773 +0100
@@ -198,6 +198,38 @@
mv ./32 usr/bin/
fi
+ # udev needs special attention
+ #
+if [ "$PKGNAM" = "udev" ] ; then
+
+ # -- remove directories which comes with 64-bit udev.
+
+ rm -rf lib/firmware
+ rm -rf lib/udev
+ rm -rf usr/doc
+
+ # -- Only udev from 13.37 comes with this one
+ rm -rf usr/lib/ConsoleKit
+
+ # -- Only udev from 14.0 comes with this ones
+ rm -rf lib/modprobe.d
+ rm -rf run
+
+ # -- strip doinst.sh from things which comes with 64-bit udev
+ #
+ # Note:
+ # 'cd usr/lib/ConsoleKit/run-seat.d' is specific to udev from Slackware-13.37
+ #
+ cat install/doinst.sh | \
+ grep -v '( cd sbin' | \
+ grep -v '( cd lib/udev' | \
+ grep -v '( cd usr/lib/ConsoleKit/run-seat.d' > install/doinst.sh.2
+
+ cat install/doinst.sh.2 > install/doinst.sh
+ rm -f install/doinst.sh.2
+fi
+
+
# Strip doinst.sh from everything we can't use:
if [ "$PKGNAM" = "gtk+2" -o "$PKGNAM" = "gdk-pixbuf2" -o "$PKGNAM" = "pango" ];
then
With that, you should have an udev-compat32 that contains the following :
Code:
./
lib/
lib/libudev.so.0.13.1
lib/libgudev-1.0.so.0.1.1
install/
install/slack-desc
install/doinst.sh
usr/
usr/lib/
usr/lib/pkgconfig/
usr/lib/pkgconfig/gudev-1.0.pc
usr/lib/pkgconfig/libudev.pc
usr/lib/libgudev-1.0.la
usr/lib/girepository-1.0/
usr/lib/girepository-1.0/GUdev-1.0.typelib
usr/lib/libgudev-1.0.a
usr/lib/libudev.la
usr/lib/libudev.a
Hope this helps.
Cheers.
Edit:Added the patch in attachment.
--
SeB