LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (http://www.linuxquestions.org/questions/slackware-14/)
-   -   Slack64 13.1 multilib: skype 2.1.0.81 not working after glibc upgrade. (http://www.linuxquestions.org/questions/slackware-14/slack64-13-1-multilib-skype-2-1-0-81-not-working-after-glibc-upgrade-851145/)

Tinkster 12-18-2010 07:22 PM

Slack64 13.1 multilib: skype 2.1.0.81 not working after glibc upgrade.
 
Hi,

I applied the latest patches to my machine the other day,
and things seemed fine - until I tried to use skype again
this weekend. I just get
Code:

bash: /usr/bin/skype: No such file or directory
I figured that skype broke because the patch wasn't multilib
by Alienbob; I grabbed the source from patches/, and Aliens
build-script for multilib glibc, compiled that and installed
it - but I still get the same error message; along w/ strange
statements like:
Code:

$ ldd /usr/bin/skype
        not a dynamic executable
$ file /usr/bin/skype
/usr/bin/skype: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), stripped


Anyone got any ideas what else to try? I'm a bit baffled. :}


Cheers,
Tink

Drakeo 12-18-2010 08:39 PM

you need the complete library. go here read and install. I have been running this for a long time if you run current there is a little mor work to keep all your stuff updated. but if you are running 13.1 and it is up to date then you will have know problems. you must install the compat32 packages not just the gcc's and glibc's
Quote:

wget -r -l1 --no-parent http://connie.slackware.com/~alien/multilib/13.1/

D1ver 12-18-2010 08:39 PM

From alien's multilib wiki,
Quote:

If you use a package manager like slackpkg you will have to add all glibc and gcc package names to its package blacklist. If you do not take this precaution, you run the risk of your package manager accidentally replacing your multilib versions with Slackware's original pure 64-bit versions!
I was having the same issue after upgrading using slackpkg, wine was complaining about similar things as your getting with skype. I ran through the multilib set up again and everything's working once more. I think you probably just have to run a sub-set of the multilib setup (i'm new to this) but you may want to wait until one of the bigger fish comes to comment.

Tinkster 12-19-2010 01:30 AM

Quote:

Originally Posted by Drakeo (Post 4196389)
you need the complete library. go here read and install. I have been running this for a long time if you run current there is a little mor work to keep all your stuff updated. but if you are running 13.1 and it is up to date then you will have know problems. you must install the compat32 packages not just the gcc's and glibc's

I've been running multilib for a good while, too, since 13.0, actually...

So what you're saying is if I upgrade glibc I need to re-install all
of multilib?



Cheers,
Tink

phenixia2003 12-19-2010 04:23 AM

Quote:

Originally Posted by Tinkster (Post 4196359)

I applied the latest patches to my machine the other day,
and things seemed fine - until I tried to use skype again
this weekend.

I figured that skype broke because the patch wasn't multilib
by Alienbob; I grabbed the source from patches/, and Aliens
build-script for multilib glibc, compiled that and installed
it - but I still get the same error message; along w/ strange
statements like

Anyone got any ideas what else to try? I'm a bit baffled. :}

Hello,

To keep the multilib up to date, you can use the tools I wrote :

multilibpkg for the 64-bit part of the multilib (ie the packages glibc*, gcc*, and, compat32-tools from alienBob)

compat32pkg for the 32-bit part of the multilib (ie the packages to format compat32 like mesa-compat32)

For example, to upgrade the 64-bit part of the multilib for Slackware-13.1 using multilibpkg, you will do this like below :

Code:


$ multilibpkg --mirror @Official-13.1 --upgrade

To upgrade the 32-bit part of the multilib for Slackware-13.1 using compat32pkg, you will do that like this :

Code:


$ compat32pkg --mirror @WorldWide-13.1 --upgrade layer-32

multilibpkg and compat32pkg can also be used to install/uninstall the 64/32-bit part of the multilib :

Code:


$ multilibpkg --mirror @Official-13.1 --install
$ multilibpkg --uninstall ftp://mirrors.kernel.org/slackware/slackware64-13.1

$ compat32pkg --mirror @WorldWide-13.1 --install layer-32
$ compat32pkg --remove layer-32

Hoping this will be helpful.

Cheers.

--
SeB

Drakeo 12-19-2010 06:57 PM

everytime the packages are version upgrades you need to run and create the new compat-32 programs. and upgradepkg. I really like the multilibpkg I just wish it did not put so many folders in my /tmp I wish it put it in the /tmp/multi I will have to change some codes.
same problem with massconvert32.sh

phenixia2003 12-20-2010 04:47 AM

Hello,

Quote:

Originally Posted by Drakeo (Post 4197179)
I really like the multilibpkg I just wish it did not put so many folders in my /tmp I wish it put it in the /tmp/multi I will have to change some codes I will have to change some codes.
same problem with massconvert32.sh

By default, multilibpkg uses /var/cache/multilibpkg to store downloaded packages, uses /var/lib/multilibpkg as working directory, but, it (should) not put anything into folder /tmp. Cache and working directories can be changed by altering the variables MULTILIBPKG_CACHE and WORKDIR into the configuration script /etc/multilibpkg/multilibpkg.conf.

In the case of compat32pkg, this uses /var/cache/compat32pkg/slackware-32 to store downloaded packages, uses /var/cache/compat32pkg/compat-32 to store packages to format compat32 produced by convertpkg-compat32, and uses /var/lib/compat32pkg as working directory. These caches and working directory can be changed by altering the variables COMPAT32PKG_CACHE, SLACK32PKG_CACHE and WORKDIR into the configuration script /etc/compat32pkg/compat32pkg.conf. The "too many folders" into your /tmp come from convertpkg-compat32 when used explicitly or implicitly when using compat32pkg or massconvert32.sh. However, convertpkg-compat32 allows you to change this using its environment variable TMP. Therefore, what you wish can be done like below :

1. when using convertpkg-compat32 explicitly
Code:


$ TMP=/tmp/multi convertpkg-compat32 ...

2. when using convertpkg-compat32 through massconvert32.sh

Code:


$ TMP=/tmp/multi massconvert32.sh

3. when using convertpkg-compat32 through compat32pkg

Code:


$ TMP=/tmp/multi compat32pkg ...

I guess it should be a good idea to add a variable into configuration's script for compat32pkg to manage that. This could be something like CONVCOMPAT32_TMP which will be set to /tmp/compat32-packages by default. What do you think about that ?

Cheers.

--
SeB

Drakeo 12-20-2010 10:22 AM

I think it makes my life easier for all my compiling.


All times are GMT -5. The time now is 09:03 AM.