Summary: | kde-base/solid-4.2.1: solid-network listdevices: /usr/lib64/kde4/solid_fakenet.so: undefined symbol: init_solid_fakenet | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Marian Kyral <mkyral> |
Component: | [OLD] KDE | Assignee: | Gentoo KDE team <kde> |
Status: | RESOLVED UPSTREAM | ||
Severity: | normal | ||
Priority: | High | ||
Version: | unspecified | ||
Hardware: | AMD64 | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
Full ebuild log
Full build log changed module name, and corrected a data dir for system fakenetworking.xml This is not correct I expect. |
Description
Marian Kyral
2009-03-23 14:15:20 UTC
same here, also ~amd64. $ emerge --info Portage 2.2_rc26 (default/linux/amd64/2008.0/desktop, gcc-4.3.3, glibc-2.9_p20081201-r2, 2.6.28-gentoo-r3 x86_64) ================================================================= System uname: Linux-2.6.28-gentoo-r3-x86_64-Intel-R-_Core-TM-2_Duo_CPU_T7250_@_2.00GHz-with-glibc2.2.5 Timestamp of tree: Sat, 21 Mar 2009 08:00:01 +0000 app-shells/bash: 4.0_p10-r1 dev-java/java-config: 1.3.7-r1, 2.1.7 dev-lang/python: 2.5.4-r2 dev-util/cmake: 2.6.3 sys-apps/baselayout: 2.0.0 sys-apps/openrc: 0.4.3-r1 sys-apps/sandbox: 1.6 sys-devel/autoconf: 2.13, 2.63 sys-devel/automake: 1.5, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.2 sys-devel/binutils: 2.19.1-r1 sys-devel/gcc-config: 1.4.1 sys-devel/libtool: 2.2.6a virtual/os-headers: 2.6.28-r1 ACCEPT_KEYWORDS="amd64 ~amd64" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=core2 -O2 -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/config" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/splash /etc/terminfo /etc/udev/rules.d" CXXFLAGS="-march=core2 -O2 -pipe" DISTDIR="/var/portage/distfiles/" EMERGE_DEFAULT_OPTS="--keep-going" FEATURES="distlocks fixpackages parallel-fetch preserve-libs protect-owned sandbox sfperms strict unmerge-orphans userfetch userpriv" GENTOO_MIRRORS="http://gentoo.mirror.web4u.cz/ http://gentoo.supp.name" LANG="cs_CZ.utf8" LDFLAGS="-Wl,-O1" LINGUAS="cs" MAKEOPTS="-j3" PKGDIR="/usr/portage/packages" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_EXTRA_OPTS="--quiet" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage/layman/sunrise /usr/local/portage/layman/arcon /usr/local/portage/layman/kde-testing /usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="X a52 aac acl acpi alsa amd64 bash-completion berkdb branding bzip2 cairo cddb cdparanoia cdr cli cracklib css cups curl dbus dri dts dv dvd dvdr dvdread emboss encode enscript exif fam ffmpeg firefox flac foomaticdb fortran ftp gdbm gif gimp gnutls gpm gstreamer gtkhtml hal iconv ieee1394 imagemagick ipv6 isdnlog jabber jpeg kde -kdeprefix lame lcms libnotify lzo mad matroska mbox midi mikmod mime mjpeg mmx mng mp3 mpeg mplayer mudflap multilib musepack mysql ncurses nls nptl nptlonly nsplugin ntpl ogg openal opengl openmp pam pcre pdf perl png posix ppds pppd python qt3 qt3support qt4 quicktime raw readline reflection rss sdl session slang smp sox spell spl sqlite sse sse2 ssl startup-notification svg sysfs syslog taglib tcpd theora threads tidy tiff truetype unicode usb vcd vorbis wavpack webkit wifi wmf wxwindows x264 xcomposite xine xml xorg xosd xpm xscreensaver xsl xulrunner xv xvid zlib" ALSA_CARDS="hda-intel" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse synaptics evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="cs" USERLAND="GNU" VIDEO_CARDS="nv nvidia vesa" Unset: CPPFLAGS, CTARGET, FFLAGS, INSTALL_MASK, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS Due this bug, kopete does not automatically connect when connection is again available. It stays offline and have to be connected manually. Create a bug report in kde buggzilla https://bugs.kde.org/show_bug.cgi?id=188060 Hi, I'm trying to reproduce this problem, but so far I can't. readelf -s /usr/lib64/kde4/solid_fakenet.so | grep init_solid_fakenet gives me nothing (in my build there is no init_solid_fakenet symbol). with Fake backend: solid-network listdevices solid-network(21741) Solid::Control::ManagerBasePrivate::loadBackend: Backend loaded: "Fake Net" debug: network interface list contains: 0 entries With NetworkManager 0.7 backend: solid-network listdevices solid-network(16354) Solid::Control::ManagerBasePrivate::loadBackend: Backend loaded: "NetworkManager 0.7" debug: network interface list contains: 1 entries UNI = '/org/freedesktop/Hal/devices/net_00_18_f3_03_45_b6' I'm guessing it's trying to link to some older version of library You could try the following: 1) remove solid completely 2) make sure you don't have any of the following files in your system any more: /usr/lib64/libsolidcontrol.so* /usr/lib64/libsolidcontrolifaces.so* /usr/lib64/libsolid.so* 3) (OPTIONAL) add LDFLAGS="-Wl,--as-needed" to your make.conf (not recommanded for all packages, unless you know how to deal with pottential problems) 4) reemerge solid Please let me know if that changed anything. Thanks, Rob # ll /usr/lib64/libsolid.so* lrwxrwxrwx 1 root root 13 23. bře 21.37 /usr/lib64/libsolid.so -> libsolid.so.4 lrwxrwxrwx 1 root root 17 23. bře 21.37 /usr/lib64/libsolid.so.4 -> libsolid.so.4.2.0 -rwxr-xr-x 1 root root 594032 23. bře 21.29 /usr/lib64/libsolid.so.4.2.0 emerge of solid failed with: Generating bluez-bluetoothinputdevice.moc Generating bluez-bluetoothinterface.moc Generating bluez-bluetoothinterface.moc [ 0%] Built target solid_bluez_automoc Scanning dependencies of target solidcontrolifaces [ 0%] Built target solid_bluez_static_automoc [ 1%] Generating ui_backendchooser.h [ 2%] Building CXX object libs/solid/control/ifaces/CMakeFiles/solidcontrolifaces.dir/solidcontrolifaces_automoc.o Scanning dependencies of target kcm_solid [ 3%] Building CXX object libs/solid/control/ifaces/CMakeFiles/solidcontrolifaces.dir/powermanager.o [ 4%] Building CXX object solid/kcm/CMakeFiles/kcm_solid.dir/kcm_solid_automoc.o [ 5%] Building CXX object solid/kcm/CMakeFiles/kcm_solid.dir/kcmsolid.o [ 6%] Building CXX object libs/solid/control/ifaces/CMakeFiles/solidcontrolifaces.dir/networkinterface.o [ 6%] Building CXX object libs/solid/control/ifaces/CMakeFiles/solidcontrolifaces.dir/networkcdmainterface.o [ 7%] Building CXX object libs/solid/control/ifaces/CMakeFiles/solidcontrolifaces.dir/networkgsminterface.o make[2]: *** No rule to make target `/usr/lib64/libsolid.so.4.2.0', needed by `lib/kcm_solid.so'. Stop. make[2]: *** Waiting for unfinished jobs.... [ 8%] Building CXX object solid/kcm/CMakeFiles/kcm_solid.dir/backendchooser.o [ 9%] Building CXX object libs/solid/control/ifaces/CMakeFiles/solidcontrolifaces.dir/networkserialinterface.o [ 10%] Building CXX object libs/solid/control/ifaces/CMakeFiles/solidcontrolifaces.dir/networkmanager.o [ 11%] Building CXX object libs/solid/control/ifaces/CMakeFiles/solidcontrolifaces.dir/wirednetworkinterface.o [ 12%] Building CXX object libs/solid/control/ifaces/CMakeFiles/solidcontrolifaces.dir/wirelessaccesspoint.o make[1]: *** [solid/kcm/CMakeFiles/kcm_solid.dir/all] Error 2 [ 13%] make[1]: *** Waiting for unfinished jobs.... Building CXX object libs/solid/control/ifaces/CMakeFiles/solidcontrolifaces.dir/wirelessnetworkinterface.o [ 14%] Building CXX object libs/solid/control/ifaces/CMakeFiles/solidcontrolifaces.dir/bluetoothremotedevice.o [ 15%] [ 16%] Building CXX object libs/solid/control/ifaces/CMakeFiles/solidcontrolifaces.dir/bluetoothinterface.o Building CXX object libs/solid/control/ifaces/CMakeFiles/solidcontrolifaces.dir/bluetoothinputdevice.o [ 17%] Building CXX object libs/solid/control/ifaces/CMakeFiles/solidcontrolifaces.dir/bluetoothmanager.o [ 18%] Building CXX object libs/solid/control/ifaces/CMakeFiles/solidcontrolifaces.dir/bluetoothsecurity.o Linking CXX shared library ../../../../lib/libsolidcontrolifaces.so [ 18%] Built target solidcontrolifaces make: *** [all] Error 2 # equery b /usr/lib64/libsolid.so.4.2.0 [ Searching for file(s) /usr/lib64/libsolid.so.4.2.0 in *... ] kde-base/kdelibs-4.2.1-r3 (/usr/lib64/libsolid.so.4.2.0) Created attachment 186196 [details]
Full ebuild log
Oh I'm sorry, point 4 should be reemerge kdelibs and solid (In reply to comment #8) > Oh I'm sorry, point 4 should be reemerge kdelibs and solid > Its OK, reemerging of kdelibs just finishing ;-) Will see soon. So kdelibs and solid rebuild, computer restarted, issue remains :-( [12:44:43 marian@nbmkyral ~]$ solid-network listdevices solid-network(5435)/kdecore (KSycoca) KSycocaPrivate::openDatabase: Trying to open ksycoca from "/var/tmp/kdecache-marian/ksycoca4" solid-network(5435)/kdecore (KLibLoader) kde4Factory: The library "/usr/lib64/kde4/solid_fakenet.so" does not offer a qt_plugin_instance function. solid-network(5435)/kdecore (KLibLoader) kde3Factory: The library "/usr/lib64/kde4/solid_fakenet.so" does not offer an "init_solid_fakenet" function. solid-network(5435) Solid::Control::ManagerBasePrivate::loadBackend: Error loading ' "Fake Net" ', KService said: "Cannot resolve symbol "init_solid_fakenet" in /usr/lib64/kde4/solid_fakenet.so: (/usr/lib64/kde4/solid_fakenet.so: undefined symbol: init_solid_fakenet)" debug: network interface list contains: 0 entries I did not run the OPTIONAL step. Hmm.. ok let's try: for a in `find /usr/lib/ -name *.so*`; do readelf -s $a 2>&1 | grep init_solid_fakenet; done for a in `find /var/tmp/kdecache-marian`; do readelf -s $a 2>&1 | grep init_solid_fakenet; done does it return anything? R Nothing [13:59:55 root@nbmkyral marian]# for a in `find /usr/lib/ -name *.so*`; do readelf -s $a 2>&1 | grep init_solid_fakenet; done [14:02:12 root@nbmkyral marian]# for a in `find /var/tmp/kdecache-marian`; do readelf -s $a 2>&1 | grep init_solid_fakenet; done [14:02:16 root@nbmkyral marian]# I'm afraid I'm out of ideas for now. Let me google it around a bit to see what can I come up with. OK, thanks. Created attachment 186247 [details]
Full build log
Created attachment 186891 [details, diff]
changed module name, and corrected a data dir for system fakenetworking.xml
readelf -s /usr/kde/4.2/lib/kde4/solid_fakenet.so | grep -i init
*lost the actual line but it had: init_solid_fake_netmgmt
found reference in ..libs/solid/control/backends/fakenet/module.cpp
changed to solid_fakenet
after that it loaded but couldn't find fakenetworking.xml, so I checked the files and it had the incorrect directory cmake installs to.
I'm not sure this will help with your kopete issue, but if you want to try it.
trimmed output of solid-network listdevices:
solid-network(1145) FakeNetworkManager::parseNetworkingFile: Parsing fake computer XML:
"/usr/kde/4.2/share/apps/solidfakenetbackend/fakenetworking.xml"
solid-network(1145) FakeNetworkManager::parseDeviceElement: Listing device: "/org/kde/solid/fakenet/eth0"
solid-network(1145) FakeNetworkManager::parseDeviceElement: Listing properties: "/org/kde/solid/fakenet/accesspoints/0"
...
solid-network(1145) FakeNetworkManager::parseDeviceElement: Creating FakeNetworkDevice for "/org/kde/solid/fakenet/eth0"
solid-network(1145) FakeNetworkManager::parseDeviceElement: Injecting ""
...
solid-network(1145) FakeNetworkManager::parseDeviceElement: Listing device: "/org/kde/solid/fakenet/eth1"
solid-network(1145) FakeNetworkManager::parseDeviceElement: Creating FakeNetworkDevice for "/org/kde/solid/fakenet/eth1"
solid-network(1145) Solid::Control::ManagerBasePrivate::loadBackend: Backend loaded: "Fake Net"
debug: network interface list contains: 0 entries
(In reply to comment #16) > Created an attachment (id=186891) [edit] > changed module name, and corrected a data dir for system fakenetworking.xml > Hi, with the patch, solid-network works, but shows only fakenet devices. Solid still does not react on status change of the wlan0 interface. [23:17:37 root@ marian]# LANG=C /usr/kde/4.2/bin/solid-network listdevices solid-network(19097) FakeNetworkManager::parseNetworkingFile: Parsing fake computer XML: "/usr/kde/4.2/share/apps/solidfakenetbackend/fakenetworking.xml" solid-network(19097) FakeNetworkManager::parseDeviceElement: Listing device: "/org/kde/solid/fakenet/eth0" solid-network(19097) FakeNetworkManager::parseDeviceElement: Listing properties: "/org/kde/solid/fakenet/accesspoints/0" solid-network(19097) FakeNetworkManager::parseDeviceElement: Listing properties: "/org/kde/solid/fakenet/accesspoints/1" solid-network(19097) FakeNetworkManager::parseDeviceElement: Listing properties: "/org/kde/solid/fakenet/accesspoints/2" solid-network(19097) FakeNetworkManager::parseDeviceElement: Listing properties: "/org/kde/solid/fakenet/accesspoint/3" solid-network(19097) FakeNetworkManager::parseDeviceElement: Listing properties: "/org/kde/solid/fakenet/accesspoint/8" solid-network(19097) FakeNetworkManager::parseDeviceElement: Creating FakeNetworkDevice for "/org/kde/solid/fakenet/eth0" solid-network(19097) FakeNetworkManager::parseDeviceElement: Injecting "" solid-network(19097) FakeNetworkManager::parseDeviceElement: Injecting "" solid-network(19097) FakeNetworkManager::parseDeviceElement: Injecting "" solid-network(19097) FakeNetworkManager::parseDeviceElement: Injecting "" solid-network(19097) FakeNetworkManager::parseDeviceElement: Injecting "" solid-network(19097) FakeNetworkManager::parseDeviceElement: Listing device: "/org/kde/solid/fakenet/eth1" solid-network(19097) FakeNetworkManager::parseDeviceElement: Creating FakeNetworkDevice for "/org/kde/solid/fakenet/eth1" solid-network(19097) Solid::Control::ManagerBasePrivate::loadBackend: Backend loaded: "Fake Net" debug: network interface list contains: 0 entries [23:16:52 root@ marian]# LANG=C ifconfig lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:101 errors:0 dropped:0 overruns:0 frame:0 TX packets:101 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:5356 (5.2 KiB) TX bytes:5356 (5.2 KiB) wlan0 Link encap:Ethernet HWaddr ##:##:##:##:##:## inet addr:192.168.1.58 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80::21c:bfff:fea9:9187/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:16374 errors:0 dropped:0 overruns:0 frame:0 TX packets:13759 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:13255286 (12.6 MiB) TX bytes:2681135 (2.5 MiB) wmaster0 Link encap:UNSPEC HWaddr 00-##-##-##-##-##-##-00-00-00-00-00-00-00-00-00 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) Does I need to install knetworkmanager? Created attachment 186956 [details]
This is not correct I expect.
I tested the patch on work computer. Network-solid works now as home, but still no devices listed and no reaction on connection status change on wlan0 nor eth0.
[08:00:55 root@nbmkyral marian]# solid-network listdevices
solid-network(6995)/kdecore (KSycoca) KSycocaPrivate::openDatabase: Trying to open ksycoca from "/var/tmp/kdecache-root/ksycoca4"
solid-network(6995)/kdecore (KLibLoader) kde4Factory: The library "/usr/lib64/kde4/solid_fakenet.so" does not offer a qt_plugin_instance function.
solid-network(6995) FakeNetworkManager::parseNetworkingFile: Parsing fake computer XML: "/usr/share/apps/solidfakenetbackend/fakenetworking.xml"
solid-network(6995) FakeNetworkManager::parseDeviceElement: Listing device: "/org/kde/solid/fakenet/eth0"
solid-network(6995) FakeNetworkManager::parseDeviceElement: Listing properties: "/org/kde/solid/fakenet/accesspoints/0"
solid-network(6995) FakeNetworkManager::parseDeviceElement: Listing properties: "/org/kde/solid/fakenet/accesspoints/1"
solid-network(6995) FakeNetworkManager::parseDeviceElement: Listing properties: "/org/kde/solid/fakenet/accesspoints/2"
solid-network(6995) FakeNetworkManager::parseDeviceElement: Listing properties: "/org/kde/solid/fakenet/accesspoint/3"
solid-network(6995) FakeNetworkManager::parseDeviceElement: Listing properties: "/org/kde/solid/fakenet/accesspoint/8"
solid-network(6995) FakeNetworkManager::parseDeviceElement: Creating FakeNetworkDevice for "/org/kde/solid/fakenet/eth0"
solid-network(6995) FakeNetworkManager::parseDeviceElement: Injecting ""
solid-network(6995) FakeNetworkManager::parseDeviceElement: Injecting ""
solid-network(6995) FakeNetworkManager::parseDeviceElement: Injecting ""
solid-network(6995) FakeNetworkManager::parseDeviceElement: Injecting ""
solid-network(6995) FakeNetworkManager::parseDeviceElement: Injecting ""
solid-network(6995) FakeNetworkManager::parseDeviceElement: Listing device: "/org/kde/solid/fakenet/eth1"
solid-network(6995) FakeNetworkManager::parseDeviceElement: Creating FakeNetworkDevice for "/org/kde/solid/fakenet/eth1"
solid-network(6995) Solid::Control::ManagerBasePrivate::loadBackend: Backend loaded: "Fake Net"
debug: network interface list contains: 0 entries
with fakenet you wont see any changes, as it fake backend. If you want make solid aware of network changes, you need networkmanager backend. The problem with networkmanager (0.7) is that it depends on policykit, which is currently hardmasked. That makes it harder to install (as networkmanager is masked as well and networkmanager flag for solid is masked in base profile). If you're willing to to override it - you can enjoy network-aware KDE. It's NOT officially support (yet), but if you need any help, give me a shout. Rob (In reply to comment #20) > The problem with networkmanager (0.7) is that it depends on policykit, which is > currently hardmasked. That makes it harder to install (as networkmanager is > masked as well and networkmanager flag for solid is masked in base profile). If Huh, masked USE flag? How can I unmask it? (In reply to comment #21) > > Huh, masked USE flag? How can I unmask it? > So I found. But it triggers ppp that I don't need and there is no USE flag to switch it off :-( So it works with NetworkManager, but I don't need it on desktop, especially the ppp dependency is ugly as I don't have modem. I need some another backend. Right? Well currently there are no other backends available. Only fakenet and networkmanager. Yes, NM has hard ppp dependency and it can't be patched out easily (as it's needed for big part of it's functionality - as VPNs, mobile broadband and standard modem connections). I think there are plans to add wicd backend (http://wicd.net/) in the future. I saw that bit chunk of the core already exists, so it shouldn't take long before it's ready to use. (In reply to comment #24) > Well currently there are no other backends available. Only fakenet and > networkmanager. > > Yes, NM has hard ppp dependency and it can't be patched out easily (as it's > needed for big part of it's functionality - as VPNs, mobile broadband and > standard modem connections). > It is really but, I'm using openVPN and Cisco, I don't need ppp and even it Network manager as well. It only broke my network settings made by bash script. > I think there are plans to add wicd backend (http://wicd.net/) in the future. > I saw that bit chunk of the core already exists, so it shouldn't take long > before it's ready to use. > Just another network manager :-( I don't need it, especially on desktop. What I really need is just information "Connected" or "Not connected". I guess HAL is able to provide that, so I'm looking for some simplified version of network interface based on HAL. I'll put it to the kde bugzilla. Bug 189144: Light solid network backend https://bugs.kde.org/show_bug.cgi?id=189144 |