Author Topic: vlc / liblua  (Read 901 times)

Offline gseaman

  • PCLinuxOS Tester
  • Hero Member
  • *******
  • Posts: 3793
vlc / liblua
« on: August 25, 2012, 05:18:40 PM »
I am trying to update vlc and have run into a interesting situation. There is at least three different versions of %{_lib}lua, and they are build on drastically different versions of spec files. liblua5.0 seems to have the devel files that vlc is looking for, but vlc insists it needs 5.1 (probably because it detects a partial 5.1 installation). There is also a lua-5.2 in 64-bit testing, but without a matching library or dev files. Is there a reason these cannot be consolidated?

Galen

Offline Archie

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 8590
  • Aurum nostrum non est aurum vulgi.
Re: vlc / liblua
« Reply #1 on: August 25, 2012, 08:53:43 PM »
First questions I have in mind is how would a consolidated lua affect other apps that depended on other versions? Will those apps need to be rebuild? And will they rebuild correctly?

I know of another "sensitive" app that requires lua and would need surgical procedures to get it working on my system - Conky.

I honestly don't know what answer I can contribute except that a consolidated package would be less confusing and could probably be fixed to have  the libraries, development headers, static development headers, etc.
Since 2006 | LiCo 401868 | Bare Metal | What is necessary is never unwise. --Sarek, 2258.42


Offline gseaman

  • PCLinuxOS Tester
  • Hero Member
  • *******
  • Posts: 3793
Re: vlc / liblua
« Reply #2 on: August 25, 2012, 09:14:52 PM »
Those were my questions, also. I haven't package any rpms that use lua as a dependency, so I will have to search. Judging by the version numbers and the differences in the spec files, I think this can get cleaned up into one package, but if this is a problem, I wanted to give everyone a chance to speak up. ;D We can also leave a lua5.0 and a lua5.1 or lua5.2, if needed.

Galen

Offline Archie

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 8590
  • Aurum nostrum non est aurum vulgi.
Re: vlc / liblua
« Reply #3 on: August 25, 2012, 09:48:33 PM »
But that is your point, isn't it? A multiple version, one with development headers and another without, can only lead to confusion ... both to users and packagers. We need some answers.
Since 2006 | LiCo 401868 | Bare Metal | What is necessary is never unwise. --Sarek, 2258.42


Offline gseaman

  • PCLinuxOS Tester
  • Hero Member
  • *******
  • Posts: 3793
Re: vlc / liblua
« Reply #4 on: August 25, 2012, 09:55:35 PM »
If no one knows the answer, I'll have to do some testing to find if there are any compatibility issues with the newer libraries.

Galen

Offline Archie

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 8590
  • Aurum nostrum non est aurum vulgi.
Re: vlc / liblua
« Reply #5 on: August 25, 2012, 10:26:23 PM »
Conky and Cairo Dock tests please. ;D

Or when you're done, I could help do some tests but that might not be for a week or more. ;)
Since 2006 | LiCo 401868 | Bare Metal | What is necessary is never unwise. --Sarek, 2258.42


Offline gseaman

  • PCLinuxOS Tester
  • Hero Member
  • *******
  • Posts: 3793
Re: vlc / liblua
« Reply #6 on: August 25, 2012, 10:35:29 PM »
Conky and Cairo Dock tests please. ;D

Or when you're done, I could help do some tests but that might not be for a week or more. ;)

I installed all of the new lua5.1 packages and uninstalled the lua5.0 versions. No other rpms were marked for removal. I did a search for lua in synaptic and surprisingly Conky and Cairo Dock don't show up. I'll install them and see what happens.

Q: When we use a %{major} version like this without the "-", it is so that two different versions can live side by side. If I am successful at making only one version, do I change the name back to lua instead of lua5.1 and mark all of the previous version Obsolete: ?

Galen

Offline Archie

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 8590
  • Aurum nostrum non est aurum vulgi.
Re: vlc / liblua
« Reply #7 on: August 25, 2012, 10:40:57 PM »
Conky and Cairo Dock tests please. ;D

Or when you're done, I could help do some tests but that might not be for a week or more. ;)

I installed all of the new lua5.1 packages and uninstalled the lua5.0 versions. No other rpms were marked for removal. I did a search for lua in synaptic and surprisingly Conky and Cairo Dock don't show up. I'll install them and see what happens.

Q: When we use a %{major} version like this without the "-", it is so that two different versions can live side by side. If I am successful at making only one version, do I change the name back to lua instead of lua5.1 and mark all of the previous version Obsolete: ?

Galen

Yes, that is why the different packages are considered multiple (distinguishable/separate) packages like python2.5 and python2.6. I think that unless it is necessary to have multiple versions of a package, we should be very careful with out typos, especially on the %major/%minor parts.

You could try Obsoletes: and if that doesn't work, there's always Conflicts:

Hey, dude. Good luck!
Since 2006 | LiCo 401868 | Bare Metal | What is necessary is never unwise. --Sarek, 2258.42


Offline gseaman

  • PCLinuxOS Tester
  • Hero Member
  • *******
  • Posts: 3793
Re: vlc / liblua
« Reply #8 on: August 26, 2012, 12:35:19 AM »
Ok, Cairo-dock seems to work just fine. Vlc works and is very fast. Starts up on my coreduo laptop in less than a second. Plays smooth and glitch-free, too. svlc crashes with a segfault. I looked and it is a script:
Code: [Select]
#! /bin/sh
exec /usr/bin/vlc -I "skins2" "$@"
If I enter the code in a terminal, I get the same segfault, (no details). I expect that I don't have skins2, but I am not sure. 4 or 5 plugins did not build with the new version, but I am not sure that they are needed or even relevant. I will have to investigate. Also, I haven't tested conky, yet.

Galen


Offline Archie

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 8590
  • Aurum nostrum non est aurum vulgi.
Re: vlc / liblua
« Reply #9 on: August 26, 2012, 01:37:33 AM »
Well, that's just good progress. Our concerns may not even be warranted. Looking forward to your test reports on Conky.
Since 2006 | LiCo 401868 | Bare Metal | What is necessary is never unwise. --Sarek, 2258.42


Offline gseaman

  • PCLinuxOS Tester
  • Hero Member
  • *******
  • Posts: 3793
Re: vlc / liblua
« Reply #10 on: August 26, 2012, 01:58:53 AM »
Conky works without warnings or errors. I did not tweak any settings or try to get transparency, but so far, so good. I've done a little bit of experimenting with skins on vlc, to see what needs to be in place for svlc not to segfault. I'm done for today, though. ;)

Galen

Offline Archie

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 8590
  • Aurum nostrum non est aurum vulgi.
Re: vlc / liblua
« Reply #11 on: August 26, 2012, 02:04:30 AM »
I would be speaking for the group in saying thank you, Galen for your work on this. It's good to "look over your shoulders" while you're working. It's fascinating.

Good rest, dude. And peace + respect.
Since 2006 | LiCo 401868 | Bare Metal | What is necessary is never unwise. --Sarek, 2258.42


Offline TerryN

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 723
Re: vlc / liblua
« Reply #12 on: August 26, 2012, 04:44:39 AM »
The only thing I can find that depends on 5.0 is elinks-0.11.3-1pclos2007

Lots of things depend on 5.1 (most significantly rpm).  Run apt-cache whatdepends liblua5.1 for the full list.  
So potentially a lot of stuff to break  ;D

Q: When we use a %{major} version like this without the "-", it is so that two different versions can live side by side. If I am successful at making only one version, do I change the name back to lua instead of lua5.1 and mark all of the previous version Obsolete: ?

If you change the name to lua then you should obsolete the lua5.1 package otherwise you will have two providers of liblua.so.5.1.

Obsoletes and Conflicts mean the same thing to apt/synaptic (i.e. remove the obsoleted/conflicted package when installing this package).
The difference between the two is applicable to the rpm command:
Obsoletes -> rpm -U will automatically remove the obsoleted package (if installed) and install this package.
Conflicts -> rpm -U will throw an error message if the conflicting package is installed.

Getting back to your original question.  You can't really "consolidate" different versions of shared libraries.  If you want to eliminate the need for older versions to be installed then you need to rebuild the dependent packages against the newer versions (but they may not build if the API changes are too much for them).  So to eliminate the need for liblua5.0 you need to try to rebuild elinks against liblua5.1.

Terry.
« Last Edit: August 26, 2012, 05:23:57 AM by TerryN »
Dell E521 - AMD 64 X2 5000+, 4GB RAM, ATI X1300 graphics
PCLinuxOS 2013 (KDE)
|Twitter|

Offline Texstar

  • Administrator
  • Super Villain
  • *****
  • Posts: 12519
Re: vlc / liblua
« Reply #13 on: August 26, 2012, 05:31:24 AM »
Not every package in the repo is designed to build and work with liblua5.1. That is why there is the older 5.0 library.



Thanks to everyone who donates. You keep the servers running.

Offline Archie

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 8590
  • Aurum nostrum non est aurum vulgi.
Re: vlc / liblua
« Reply #14 on: August 26, 2012, 05:35:13 AM »
The only thing I can find that depends on 5.0 is elinks-0.11.3-1pclos2007

Lots of things depend on 5.1 (most significantly rpm).  Run apt-cache whatdepends liblua5.1 for the full list.  
So potentially a lot of stuff to break  ;D

Q: When we use a %{major} version like this without the "-", it is so that two different versions can live side by side. If I am successful at making only one version, do I change the name back to lua instead of lua5.1 and mark all of the previous version Obsolete: ?

If you change the name to lua then you should obsolete the lua5.1 package otherwise you will have two providers of liblua.so.5.1.

Obsoletes and Conflicts mean the same thing to apt/synaptic (i.e. remove the obsoleted/conflicted package when installing this package).
The difference between the two is applicable to the rpm command:
Obsoletes -> rpm -U will automatically remove the obsoleted package (if installed) and install this package.
Conflicts -> rpm -U will throw an error message if the conflicting package is installed.

Thanks for this explanation. I often wondered what the differences are. So, in most cases it is better to use Obsoletes:

Getting back to your original question.  You can't really "consolidate" different versions of shared libraries.  If you want to eliminate the need for older versions to be installed then you need to rebuild the dependent packages against the newer versions (but they may not build if the API changes are too much for them).  So to eliminate the need for liblua5.0 you need to try to rebuild elinks against liblua5.1.

Terry.

That's what I originally suspected. Note: rpm-4.8.1 .... hmmm, maybe not such a good idea after all.

$ apt-cache whatdepends liblua5.1
liblua5.1-5.1.4-3pclos2012
  love-0.8.0-1pclos2012
    Depends: liblua5.1
    Depends: <liblua.so.5.1>
      liblua5.1-5.1.4-3pclos2012
  liblua-devel-5.2.0-2pclos2012
  xmoto-0.5.5-1pclos2011
    Depends: <liblua.so.5.1>
      liblua5.1-5.1.4-3pclos2012
  widelands-b16-1pclos2011
    Depends: <liblua.so.5.1>
      liblua5.1-5.1.4-3pclos2012
  ultrastardx-1.1-1pclos2011
    Depends: <liblua.so.5.1>
      liblua5.1-5.1.4-3pclos2012
  sumwars-0.5.4-2pclos2011
    Depends: <liblua.so.5.1>
      liblua5.1-5.1.4-3pclos2012
  hedgewars-0.9.16-1pclos2011
    Depends: <liblua.so.5.1>
      liblua5.1-5.1.4-3pclos2012
  wireshark-1.8.2-1pclos2012
    Depends: <liblua.so.5.1>
      liblua5.1-5.1.4-3pclos2012
  weechat-lua-0.3.6-1pclos2011
    Depends: <liblua.so.5.1>
      liblua5.1-5.1.4-3pclos2012
  vlc-plugin-lua-1.1.13-1pclos2011
    Depends: <liblua.so.5.1>
      liblua5.1-5.1.4-3pclos2012
  vim-X11-7.3.338-3pclos2011
    Depends: <liblua.so.5.1>
      liblua5.1-5.1.4-3pclos2012
  tolua-5.0-1pclos2007
    Depends: <liblua.so.5.1>
      liblua5.1-5.1.4-3pclos2012
  tolua++-1.0.92-1pclos2007
    Depends: <liblua.so.5.1>
      liblua5.1-5.1.4-3pclos2012
  stratagus-2.2.4-1pclos2010
    Depends: <liblua.so.5.1>
      liblua5.1-5.1.4-3pclos2012
  rpm-build-4.8.1-5pclos2011
    Depends: <liblua.so.5.1>
      liblua5.1-5.1.4-3pclos2012
  rpm-4.8.1-5pclos2011
    Depends: <liblua.so.5.1>
      liblua5.1-5.1.4-3pclos2012
  python-rpm-4.8.1-5pclos2011
    Depends: <liblua.so.5.1>
      liblua5.1-5.1.4-3pclos2012
  podofo-0.7.0-1pclos2010
    Depends: <liblua.so.5.1>
      liblua5.1-5.1.4-3pclos2012
  mysql-workbench-5.2.34-1pclos2011
    Depends: <liblua.so.5.1>
      liblua5.1-5.1.4-3pclos2012
  mudlet-1.0.3-2pclos2010
    Depends: <liblua.so.5.1>
      liblua5.1-5.1.4-3pclos2012
  lua-graphviz-2.24.0-5pclos2011
    Depends: <liblua.so.5.1>
      liblua5.1-5.1.4-3pclos2012
  lighttpd-mod_magnet-1.4.28-4pclos2010
    Depends: <liblua.so.5.1>
      liblua5.1-5.1.4-3pclos2012
  lighttpd-mod_cml-1.4.28-4pclos2010
    Depends: <liblua.so.5.1>
      liblua5.1-5.1.4-3pclos2012
  liferea-1.6.5-2pclos2011
    Depends: <liblua.so.5.1>
      liblua5.1-5.1.4-3pclos2012
  libtolua++5.1-1.0.92-1pclos2007
    Depends: <liblua.so.5.1>
      liblua5.1-5.1.4-3pclos2012
  librpm1-4.8.1-5pclos2011
    Depends: <liblua.so.5.1>
      liblua5.1-5.1.4-3pclos2012
  libprelude-devel-1.0.0-2pclos2010
    Depends: <liblua.so.5.1>
      liblua5.1-5.1.4-3pclos2012
  libapt-pkg0-0.5.15lorg3.95-3pclos2011
    Depends: <liblua.so.5.1>
      liblua5.1-5.1.4-3pclos2012
  libCEGUI0-0.7.5-3pclos2011
    Depends: <liblua.so.5.1>
      liblua5.1-5.1.4-3pclos2012
  gtk-engines2-2.20.2-1pclos2010
    Depends: <liblua.so.5.1>
      liblua5.1-5.1.4-3pclos2012
  gpick-0.2.2-1pclos2010
    Depends: <liblua.so.5.1>
      liblua5.1-5.1.4-3pclos2012
  geany-plugins-0.21.1-1pclos2011
    Depends: <liblua.so.5.1>
      liblua5.1-5.1.4-3pclos2012
  freepops-updater-0.2.9-2pclos2010
    Depends: <liblua.so.5.1>
      liblua5.1-5.1.4-3pclos2012
  freepops-0.2.9-2pclos2010
    Depends: <liblua.so.5.1>
      liblua5.1-5.1.4-3pclos2012
  eweather-20101225-2pclos2011
    Depends: <liblua.so.5.1>
      liblua5.1-5.1.4-3pclos2012
  ethumb-20101225-2pclos2011
    Depends: <liblua.so.5.1>
      liblua5.1-5.1.4-3pclos2012
  ep128emu-2.0.9-1pclos2010
    Depends: <liblua.so.5.1>
      liblua5.1-5.1.4-3pclos2012
  enlil-20101225-2pclos2011
    Depends: <liblua.so.5.1>
      liblua5.1-5.1.4-3pclos2012
  emotion-20101225-2pclos2011
    Depends: <liblua.so.5.1>
      liblua5.1-5.1.4-3pclos2012
  elmdentica-20101225-2pclos2011
    Depends: <liblua.so.5.1>
      liblua5.1-5.1.4-3pclos2012
  elementary-devel-20110129-1pclos2011
    Depends: <liblua.so.5.1>
      liblua5.1-5.1.4-3pclos2012
  elementary-20110129-1pclos2011
    Depends: <liblua.so.5.1>
      liblua5.1-5.1.4-3pclos2012
  edje-20110530-1pclos2011
    Depends: <liblua.so.5.1>
      liblua5.1-5.1.4-3pclos2012
  ecomorph-20100830-6pclos2011
    Depends: <liblua.so.5.1>
      liblua5.1-5.1.4-3pclos2012
  e-20110129-1pclos2011
    Depends: <liblua.so.5.1>
      liblua5.1-5.1.4-3pclos2012
  celestia-1.6.0-2pclos2010
    Depends: <liblua.so.5.1>
      liblua5.1-5.1.4-3pclos2012
    Depends: <liblua.so.5.1>
      liblua5.1-5.1.4-3pclos2012
  aqualung-0.9beta11-1pclos2010
    Depends: <liblua.so.5.1>
      liblua5.1-5.1.4-3pclos2012
Since 2006 | LiCo 401868 | Bare Metal | What is necessary is never unwise. --Sarek, 2258.42