Page 1 of 1

How to install new libc-2.7.so file in Puppy400 ?

Posted: Thu 22 Oct 2009, 22:57
by sunburnt
Not quite programming, but... I have an app. that needs libc-2.7.so
Puppy400 has libc-2.6.1.so, I got one from the Debian stable release.
Do I just drop it in /lib and make a new link: libc.so.6 => libc-2.7.so and then reboot???
I`ve done libraries before, but just for apps, this one`s critical!

Posted: Fri 23 Oct 2009, 02:04
by caleb72
I don't necessarily know where new libraries go specifically. However, what I usually do when I need to download a new library (usually from Debian), I either click on the .deb package and allow it to install itself (Puppy 4.3) or I use the deb2pet utility to convert it to a .pet and then install it automatically (< Puppy 4.3).

Does this help at all?

Regards
Caleb

Posted: Fri 23 Oct 2009, 11:13
by amigo
"just drop it in /lib" and break your system! You can't go replacing your glibc stuff without breaking lots of stuff or re-compiling it all.

But, you can still make it work by doing this:
1. place the libc.so file in some out-of-the-way-place, say:
/usr/local/glibc-7
Then create a wrapper for the program you want to run, say it is called 'my-proggie'. Rename that to 'my-proggie-bin' and place in your normal path )/usr/bin or other such).
the create an empty file called 'my-proggie' and put this in it:

Code: Select all

#!/bin/sh

export LD_LIBRARY_PATH=/usr/local/glibc-7
exec my-proggie-bin


Posted: Fri 23 Oct 2009, 12:09
by mikeb
ok...you would first need the full set of libraries and not just the one lib including locales and such.
Using an installer usually fails as the order is critical...one wrong move and seizure.
I have done this live.......added the libs manually first...painless.
Then deleteted and remade (or copy from fileset) each symlink in turn doing libc last....literally starting from the bottom and working upwards using rox.

Otherwise add to the pup_save.2fs when not in use or a full install to the file system not live.

If all goes well then remove the old libs otherwise if a frugal mount the pup_save and clear out the added files.

I have changed puppy 2.02 and 2.12 to glibc 2.3.6 TLS and now 2.6.1 sucessfully so me not making this up :D

mike