Linux - NewbieThis Linux forum is for members that are new to Linux.
Just starting out and have a question?
If it is not in the man pages or the how-to's this is the place!
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.
You can safely remove any source folders used to compile a program. Some come with an uninstall script but most don't even bother with those. If one does have an uninstall script and you removed the source directory, you'll just have to remove all the files placed on your system manually..
When install is complete "make clean" removes objects file from the sources folder. But if you delete it, you won't be able to uninstall your software (make uninstall).
You can move this folder to your home directory.
#mv [folder name] /root/downloads/[folder name] for example.
You really shouldn't be doing a make install to install the package. Your system will be spamed with files and you wont be able to keep track of it.
Doesn't Suse have some kind of package system you could use? I use slack so I'm not exactly sure what is it. Basically I replace "make install" w/ "makepkg" or "checkinstall" and it creates a nice little package that I can remove anytime. Keeping all the source around just to be able to remove apps doesn't sound like a good way of doing things.
If you do need/want to build something from source (I have to do it a lot, since a lot of people don't release Slackware packages, but if you're on SuSE you should be able to get rpms for most things), you can delete everything except the makefile when you are done, and usually if it has an unintall option it will continue to work.
What I've done is created a directory to keep old makefiles in for if I want to uninstall. For example, let's say I just installed Gaim from source... now that I'm done, here's the steps I'd take
On the first line, it is important to use Makefile.gaim or some other descriptive name for your file, since you can't have more than one thing named just "Makefile" in the same directory. (eg. your makefiles directory will eventually contain "Makefile.gaim" "Makefile.sylpheed" "Makefile.galeon" etc.).
When you want to uninstall it, just "make -f makefiles/Makefile.gaim uninstall"
Keeping the makefiles around is a very interesting idea. I never though of it to tell you the truth.
However, using them to uninstall you are assuming the uninstall function in the script is complete. Sometimes, often they are not complete uninstalles. Also, some don't even have this functionality in them.
Originally posted by chbin You really shouldn't be doing a make install to install the package. Your system will be spamed with files and you wont be able to keep track of it.
Doesn't Suse have some kind of package system you could use? I use slack so I'm not exactly sure what is it. Basically I replace "make install" w/ "makepkg" or "checkinstall" and it creates a nice little package that I can remove anytime. Keeping all the source around just to be able to remove apps doesn't sound like a good way of doing things.
You use slack but you don't use make install?! Don't tell me you wait for slack packages before you install any software? I'd never install anything if I did that. And make install very rarely 'spams' your system with files, most commonly you get one binary in /usr/local/bin and one folder in /usr/local/share/<programname> Not exactly hard to keep track of....
Originally posted by foo_bar_foo just don't delete the source code for the kernel
Why not? It's entirely safe to do so as long as you don't intend to compile anything that requires them. I think you're confusing that with the kernel headers under /usr/include/linux
Originally posted by Komakino You use slack but you don't use make install?! Don't tell me you wait for slack packages before you install any software? I'd never install anything if I did that. And make install very rarely 'spams' your system with files, most commonly you get one binary in /usr/local/bin and one folder in /usr/local/share/<programname> Not exactly hard to keep track of....
Originally posted by Komakino You use slack but you don't use make install?! Don't tell me you wait for slack packages before you install any software? I'd never install anything if I did that. And make install very rarely 'spams' your system with files, most commonly you get one binary in /usr/local/bin and one folder in /usr/local/share/<programname> Not exactly hard to keep track of....
I'm not his lawyer, but i think what he meant is instead of doing a raw "make install" he either uses checkinstall or does
make install DESTDIR=/something/
and uses makepkg
to pack it before the installation in order to be able to delete/update the programs.
I also always use makepkg to pack my compiled programs before the installation.
You may also get some libraries in /usr/local/lib (hard to track), some man pages, some configuration files in /usr/local/etc.
you do not get the documantation
You need to pack your programs if you don't want to do a fresh install every year.
If you update your distro, and some programs that you have installed from source are shipped with the new version, you may mess things up
Last edited by perfect_circle; 04-10-2005 at 05:21 AM.
Originally posted by perfect_circle
You need to pack your programs if you don't want to do a fresh install every year.
If you update your distro, and some programs that you have installed from source are shipped with the new version, you may mess things up
I tend not to update the whole distro. If something needs upgrading then I'll just do that from source. I certainly can't be bothered with all that checkinstall stuff! It's not like having multiple versions of libraries causes problems and I rarely remove anything!
Originally posted by Komakino I tend not to update the whole distro. If something needs upgrading then I'll just do that from source. I certainly can't be bothered with all that checkinstall stuff! It's not like having multiple versions of libraries causes problems and I rarely remove anything!
Packing things manually using makepkg is a burden, personally I like that, and I try to do it right. I take care of the permissions, I always make sure the executables have root.bin for owner.group, strip the libraries and the executable, gz the man and the info pages, add the documentation, create SlackBuild scripts,
but checkinstall , just monitors make install. You just have to add a small packet description and that is optional. Obviously you have never even tried it, because it's not more difficult than just doing make install. In the directory the Makefile exists you simply do "checkinstall" instead of "make install". The patched version for slackware is in the /extra of the 3rd cd. It's just a few kbytes. You may download it from a mirror. Not wanting to pack your programs if you know the chances is your choice, but I don't think you should advise newbies to do so. Threads like "how do i uninstall a program I compiled" are posted All the time.
whatpot, check if checkinstall is installed in your distro. I haven't installed suse for years, but I have a SuSE 9.1 dvd and I've checked. There is a /suse/i586/checkinstall-1.6.0beta3-8.i586.rpm in there.
Instead of make install do checkinstall, and the package you install will be added in your rpm database. So you can handle it as a normal rpm and remove it with
rpm -e <package name>
Why would anyone not want to use some sort of package management??? I don't get it. How hard is it to build from source and then make a package? Otherwise when you just slam version after version of an app, you are going to get orphaned files.
After upgrading enough libraries and not removing the old, it is inevitable that you are going to have problems. What gets linked to what, what headers does new source use to compile against, etc. That is totally not necessary to even deal with.
Originally posted by chbin Why would anyone not want to use some sort of package management??? I don't get it. How hard is it to build from source and then make a package? Otherwise when you just slam version after version of an app, you are going to get orphaned files.
After upgrading enough libraries and not removing the old, it is inevitable that you are going to have problems. What gets linked to what, what headers does new source use to compile against, etc. That is totally not necessary to even deal with.
Because I don't like package management. I rarely if ever remove anything. If you install a new library + headers the pkg-config pc file is overwritten. Any new apps will use the newest headers and libraries, any already installed apps will continue to link against whatever they were compiled against. I've not had a problem in 18 months. It's not so much that I'm opposed to checkinstall, I've just never really gotten around to trying it...I guess because I've never needed it.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.