MandrivaThis Forum is for the discussion of Mandriva (Mandrake) Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
I want to ask a question about the install of cfdisk on mandriva 2005 LE. Using the control center, the install fails through a lack of the file libncurses.so.4. As it turns out, I have these files in /lib: libncurses.so, libncurses.so.5, and libncurses.so.5.4. I downloaded libncurses.so.4 and tried to install it but get no reaction from the control center or urpmi. I tried to install a package which contains libncurses.so.4 but Urpmi fails with a message indicating it doesn't want to install an older lib file over a newer version.
I was wondering if I could simply move libncurses.so.4 into /lib along with the other libncurses files? Would that break anything?
You don't need to use cfdisk in Mandriva - they partitioning program in the Mandrake Control Centre is far nicer, and it can resize partitions without destroying data.
The whole libncurses thing is probably because Mandriva has libncurses5, whereas whatever cfdisk you're trying to install wants 4. Just putting a libncurses.so.4 file in /lib may not work and probably isn't the best way to go about it. Where did you get the cfdisk package or source that you're trying to install? How are you trying to isntall it?
Update: cfdisk is part of the util-linux package. Goto menu->System->Configuration->Packaging->Install Software and install that package. You may need to visit http://easyurpmi.zarb.org first if it can't find that package.
I'd still recommend just using diskdrake (the one in the Mandrake Control Centre and on the install CD) as its much easier and can alter partitions without destroying data.
Thanks for the response. I realize there's a partitioner in the control panel; I'm trying to learn how to install new programs in mandriva under various circumstances. I've run up against this older-newer libfile version problem before in mandriva and in other distros (notably Xandros) and am just wondering if there's a way around it. So I'm really not after cfdisk specifically, but if I can install it I will have an answer for these situations.
I don't remember now where I got the cfdisk package (cfdisk-glibc-0.8g-1.i386.rpm); I think it was pbone's.
BTW, I do have the full easy urpmi configuration, and have added Thac's site... however, it turns up a blank for the util-linux package.
So -- will moving the libncurses.so.4 file, which I've already downloaded, to /lib hurt me or break mandriva? I'm asking because I noticed there are already several versions of libncurses in /lib.
util-linux is in the main repository. Make sure you've configured the main repo for 2005LE from easyurpmi - its definately in there. If you're having package/repository problems like this that may be why you keep getting library file version problems.
Quote:
I don't remember now where I got the cfdisk package (cfdisk-glibc-0.8g-1.i386.rpm); I think it was pbone's.
This is definately not a package for Mandrake, therefore you will get installation problems with it. If your urpmi can't find the util-linux package, goto easyurpmi, select the main repo, let it generate the urpmi.addmedia command and copy and paste the url part of that into your browser. Now browse the site and find and download util-linux. Eg. ftp://mirror.pacific.net.au/linux/Ma...86/media/main/
Quote:
So -- will moving the libncurses.so.4 file, which I've already downloaded, to /lib hurt me or break mandriva? I'm asking because I noticed there are already several versions of libncurses in /lib.
No it probably won't break anything too badly and any breakage can probably be fixed by deleting it again. But as I said above you should really just work out why your urpmi isn't working properly and use it to install util-linux. Trying to get programs working like this is very hacky and leads to you using unstable and usually out of date programs.
OK, sorry for the delay in responding. There was a lot going on at Church this weekend until now and I got tied up.
First, I moved libncurses.so.4 to /lib, but rpmdrake doesn't seem to see it and cfdisk still won't install. I rebooted, and then told rpmdrake to reload its packages list, but it still reports that libncurses.so.4 is missing. Is there some way I can add this file to the packages list? Also I downloaded util-linux-2.12a-12mdk.rpm from the link you gave. However, my main desire isn't to obtain cfdisk but to learn more about installing programs which have that older-newer libfile problem.
Second, I have these urpmi sources enabled in my rpmdrake: main, updates, contrib, jpackage, plf-free, plf non-free, and thacs.rpms. According to rpmdrake, util-linux is not available. However, I used the USA Texas source since I live in Texas. I changed main to the Australia source but util-linux is still not available. ????
You won't learn much by trying to do things the wrong way - you don't install individual library files by just putting them in the /lib directory like that. I only suggested it as a last resort hack kind of thing, and I didn't really expect it to work. If you really want to learn to do things manually then learn to build programs from source and how to deal with the necessary libraries and includes (usually just a matter of install the -devel package for whatever it is).
Quote:
However, my main desire isn't to obtain cfdisk but to learn more about installing programs which have that older-newer libfile problem.
The new-old libfile problem is already solved by systems such as urpmi. If you can't install util-linux using urpmi then your problem is something to do with urpmi - maybe post your /etc/urpmi/urpmi.cfg.
I tried to build cfdisk from source... it complained about that same missing libncurses.4.so file. I didn't know if simply moving the file to /lib would work, and it didn't. Is there some way of registering these files? Where would I find the packages list?
There must be something wrong with your urpmi - as we know that the util-linux package is in that main repo that you've setup. What does the command
Code:
urpmq util-linux
give?
Quote:
I tried to build cfdisk from source... it complained about that same missing libncurses.4.so file. I didn't know if simply moving the file to /lib would work, and it didn't. Is there some way of registering these files? Where would I find the packages list?
You could try running ldconfig after putting the libncurses file in there, but this is still the wrong way to do things. That cfdisk source you've got is an old version that is not compatible with your system - delete it. Cfdisk is part of the util-linux project (http://freshmeat.net/projects/util-linux/) and if you want to get the source for it get it from their FTP site (ftp://ftp.kernel.org/pub/linux/utils/util-linux/). A better way would be to get the source RPM from Mandriva's FTP site and build the source from that.
Re cfdisk: cfdisk is just an example for me. It isn't cfdisk I want... it's to be able to install packages which depend on lib files older than the ones I already have installed. I run into that problem on a fairly regular basis and there are quite a few packages I simply can't install because of that issue. Sometimes I'd just like to try an older version of a program, but I can't. So I'm trying to find a way around that conflict between the old and new lib files. I have found through trial and error that static packages help *IF* they are available for the desired package. But static packages often aren't available.
I'll try running ldconfig tomorrow and will post back what happens.
And I did get the source package for cfdisk but it still called for that same "missing" lib file.
That looks right- you should be able to install it with
Code:
urpmi util-linux
if you decide you want to.
Quote:
Re cfdisk: cfdisk is just an example for me. It isn't cfdisk I want... it's to be able to install packages which depend on lib files older than the ones I already have installed. I run into that problem on a fairly regular basis and there are quite a few packages I simply can't install because of that issue. Sometimes I'd just like to try an older version of a program, but I can't. So I'm trying to find a way around that conflict between the old and new lib files. I have found through trial and error that static packages help *IF* they are available for the desired package. But static packages often aren't available.
Unfortunately there isn't really any easy solution to this problem, although if you stick to packages made for your distro it won't happen. One way may be to download and build the older version of the library that you need with the installation prefix set to something like /opt. Then compile the app making sure to point it to /opt in the configure script options for libraries and includes.
Quote:
And I did get the source package for cfdisk but it still called for that same "missing" lib file.
You probably need to install the libncurses5-devel package, and make sure its the source package for the Mandriva package not some other one.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.