LinuxQuestions.org
Download your favorite Linux distribution at LQ ISO.
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware
User Name
Password
Slackware This Forum is for the discussion of Slackware Linux.

Notices


Reply
  Search this Thread
Old 11-25-2015, 03:14 PM   #1
akschu
Member
 
Registered: Dec 2007
Posts: 41

Rep: Reputation: 20
Amarok seems to be broken after the eudev update in -current.


Anyone else on -current with a usable amarok? After upgrading to the new eudev packages it segfaults unless I:

Code:
[root@percy /lib64]$ rm libudev.so.0
[root@percy /lib64]$ ln -s libudev.so.1 libudev.so.0
Then it works fine...

I should note I'm using ktown from Eric, but there aren't any kde5 packages or Amarok, so it's the default kde4 version from: slackware64-current/slackware64/kde/amarok-2.8.0-x86_64-3.txz

Last edited by akschu; 11-25-2015 at 03:15 PM.
 
Old 11-25-2015, 03:27 PM   #2
volkerdi
Slackware Maintainer
 
Registered: Dec 2002
Location: Minnesota
Distribution: Slackware! :-)
Posts: 1,702

Rep: Reputation: 5296Reputation: 5296Reputation: 5296Reputation: 5296Reputation: 5296Reputation: 5296Reputation: 5296Reputation: 5296Reputation: 5296Reputation: 5296Reputation: 5296
At this point I think it's clear that there are missed upgrades and/or additions on your machine. There may also be packages that are no longer included in Slackware -current that haven't been removed yet, but that is less critical. I'd seriously consider running this against a *full* set of packages:

Code:
cd slackware64-current/slackware64
upgradepkg --install-new */*.t?z
The KDEI packages may be omitted if you like, or removed after running upgradepkg. Doesn't really matter, but it would save some drive space.

Once you've done that, run this script (as root) to clean up some scripts and config files:

Code:
#!/bin/sh
cd /etc
find . -name "*.new" | while read configfile ; do
  if [ ! "$configfile" = "./rc.d/rc.inet1.conf.new" \
    -a ! "$configfile" = "./rc.d/rc.local.new" \
    -a ! "$configfile" = "./group.new" \
    -a ! "$configfile" = "./passwd.new" \
    -a ! "$configfile" = "./shadow.new" ]; then
    cp -a $(echo $configfile | rev | cut -f 2- -d . | rev) \
      $(echo $configfile | rev | cut -f 2- -d . | rev).bak 2> /dev/null
    mv $configfile $(echo $configfile | rev | cut -f 2- -d . | rev)
  fi
done

Last edited by volkerdi; 11-25-2015 at 03:39 PM. Reason: thinko
 
2 members found this post helpful.
Old 11-25-2015, 03:37 PM   #3
volkerdi
Slackware Maintainer
 
Registered: Dec 2002
Location: Minnesota
Distribution: Slackware! :-)
Posts: 1,702

Rep: Reputation: 5296Reputation: 5296Reputation: 5296Reputation: 5296Reputation: 5296Reputation: 5296Reputation: 5296Reputation: 5296Reputation: 5296Reputation: 5296Reputation: 5296
Quote:
Originally Posted by akschu View Post
I should note I'm using ktown from Eric, but there aren't any kde5 packages or Amarok, so it's the default kde4 version from: slackware64-current/slackware64/kde/amarok-2.8.0-x86_64-3.txz
If you want to attempt a less "hit it with a hammer" fix, you can start by making sure aaa_elflibs is upgraded. Then you'll have the real libudev.so.0, and anything wanting that will have the actual required library. Making a symlink is not a recommended hack... there's more than likely a compatibility reason for that library version changing.

An important thing to note is that amarok doesn't actually link to libudev. If you look at it with ldd, you'll see libudev listed (here it's libudev.so.1), but it's some other library that is linked to libudev. You can see what amarok actually links with using "readelf -d /usr/bin/amarok". It will be one or more of those things that is causing the issue.

Stale multilib might be part of it. The last few weeks -current has been a bit of a moving target with library versions changing, and then things needing to be recompiled because of that. But there's nothing in Slackware -current right now that needs an old library version (or that even needs anything that is only in aaa_elflibs). Well, except for brltty in /extra, but I'll be getting to that.

Good luck!
 
1 members found this post helpful.
Old 11-25-2015, 04:13 PM   #4
akschu
Member
 
Registered: Dec 2007
Posts: 41

Original Poster
Rep: Reputation: 20
Quote:
Originally Posted by volkerdi View Post
If you want to attempt a less "hit it with a hammer" fix, you can start by making sure aaa_elflibs is upgraded. Then you'll have the real libudev.so.0, and anything wanting that will have the actual required library. Making a symlink is not a recommended hack... there's more than likely a compatibility reason for that library version changing.
Yup, I have the latest aaa_elflibs:

/var/log/packages/aaa_elflibs-14.2-x86_64-7

Also, I don't think I have any lingering packages as I just installed slackware64-current a week ago, and have been closely following the changelog. The packages have been upgraded using slackpkg.

Quote:
Originally Posted by volkerdi View Post
An important thing to note is that amarok doesn't actually link to libudev. If you look at it with ldd, you'll see libudev listed (here it's libudev.so.1), but it's some other library that is linked to libudev. You can see what amarok actually links with using "readelf -d /usr/bin/amarok". It will be one or more of those things that is causing the issue.

Stale multilib might be part of it. The last few weeks -current has been a bit of a moving target with library versions changing, and then things needing to be recompiled because of that. But there's nothing in Slackware -current right now that needs an old library version (or that even needs anything that is only in aaa_elflibs). Well, except for brltty in /extra, but I'll be getting to that.

Good luck!
Thanks! That helps a lot. Turns out /usr/lib64/libamaroklib.so.1 uses libsolid.so.4 and that is what uses libudev.so.0. So it's a ktown library issue as the ktown packages replace kdelibs which is where -current packages libsolid.

Happy Thanksgiving Pat, thanks for all you do!

schu
 
1 members found this post helpful.
Old 11-26-2015, 02:06 AM   #5
rworkman
Slackware Contributor
 
Registered: Oct 2004
Location: Tuscaloosa, Alabama (USA)
Distribution: Slackware
Posts: 2,357

Rep: Reputation: 886Reputation: 886Reputation: 886Reputation: 886Reputation: 886Reputation: 886Reputation: 886
Symlinking libraries like that is a bad idea. In systemd git commit 6ada823a9a0979ea145fd70add1007c21caa45c0, these three functions were removed from the library:
Code:
udev_get_dev_path()
udev_get_sys_path()
udev_get_run_path()

For what it's worth, those three things are now hardcoded as, respectively, /dev, /sys, and /run 
Patching apps for that was trivial, but the points below are still valid...
None of the stuff shipped in -current right now use any of those functions, of course, but since you've still got something linked to libudev.so.0, then it's possible that whatever it is *does* use one of those functions, in which case you see undefined references to them (which means the app will fail) even though libudev.so.0 (seems to) exist(s). Long story short, don't do that.

Last edited by rworkman; 11-26-2015 at 02:08 AM.
 
1 members found this post helpful.
Old 11-26-2015, 03:19 AM   #6
gmgf
Senior Member
 
Registered: Jun 2012
Location: Bergerac, France
Distribution: Slackware
Posts: 1,703

Rep: Reputation: 665Reputation: 665Reputation: 665Reputation: 665Reputation: 665Reputation: 665
If you use Eric (alien) kde5 package kdelibs (part of kde4) need recompil on eudev, i have posted on his blog

http://alien.slackbook.org/blog/clea...#comment-26643
 
Old 11-30-2015, 12:36 PM   #7
akschu
Member
 
Registered: Dec 2007
Posts: 41

Original Poster
Rep: Reputation: 20
This is resolved. AlienBob got the new ktown packages out and they resolved the issue for me.

Thanks!
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
Latest update to -Current has broken X - again! BobNutfield Slackware 18 02-07-2011 09:34 PM
dhclient and dhcpcd broken after latest - current update em21701 Slackware 2 03-06-2010 10:02 AM
Amarok broken after update in slackpkg - need libtag BobNutfield Slackware 4 06-12-2009 02:55 PM
Upgraded to KDE 3.4 from 3.2 - desktop_locker and amarok now broken... sickboy Linux - Newbie 4 07-11-2005 08:31 AM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware

All times are GMT -5. The time now is 01:51 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration