SlackwareThis Forum is for the discussion of Slackware 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 am determined to try to install more software from source rather than use any package management system. I think this is a good way to learn, optimize programs for your pc etc. There seems to be 3 main steps:
./configure
make
make install
WHat I don't understand is the meaning of "installation " in Linux. In the windows world you are basically registering dlls and updating the registry and moving files from a CD to your PC. What does it mean in terms of Linux? When I wrote C programs in Unix all I did was compile them and put them where I want, make sure the execute permissions were set properly and just ran them when I wanted. Nothing to register with the OS.
Originally posted by CodeWarrior I am determined to try to install more software from source rather than use any package management system. I think this is a good way to learn, optimize programs for your pc etc. There seems to be 3 main steps:
./configure
make
make install
WHat I don't understand is the meaning of "installation " in Linux. In the windows world you are basically registering dlls and updating the registry and moving files from a CD to your PC. What does it mean in terms of Linux? When I wrote C programs in Unix all I did was compile them and put them where I want, make sure the execute permissions were set properly and just ran them when I wanted. Nothing to register with the OS.
I'd just suggest to do the following:
Do your next
make install
like this
make install 2>&1 | tee install.out
and just READ what it does :)
Most of the time it will be as simple
as in fact just copy a few files to
a few directories, set permissions,
symlinks, stuff like that :)
Originally posted by CodeWarrior WHat I don't understand is the meaning of "installation " in Linux. In the windows world you are basically registering dlls and updating the registry and moving files from a CD to your PC. What does it mean in terms of Linux? When I wrote C programs in Unix all I did was compile them and put them where I want, make sure the execute permissions were set properly and just ran them when I wanted. Nothing to register with the OS.
Ahaaa... the programs you wrote were specifically for your system... However, most public (open source) apps can be installed on a variety of OS, architecture, compiler (GCC or CC, etc) and so on... Hence the need for configure (I believe the actual app responsible for this is autoconf... but then again, I'm no guru). Configure will determine the things I mentioned earlier and pass on any additional compiler flags, or architecture specific instructions.
tipaul, the steps you mentioned are actually for installing a slackware package (aka slackpacks).
Slackpacks are precompiled binaries.
You still have to go thru these:
./configure --prefix=/usr
make
(For apps with automake support: )
make make DESTDIR=/tmp/slackpack/packname install
---OR---
(For apps without automake support: )
make prefix=/tmp/slackpack/packname/usr install
I was just telling that after compiling the source, I normally create a Slackware .tgz package from the temporary directory of the application... And clean everything afterward...
So I just have to installpkg my new .tgz package (made from source) and if anything goes bad (or I don't like the soft), just doing removepkg will return my system to the state before...
That's It! Thanks Azmeen for clarifying things...
Ti-Paul.
I just did my first source installation sucessfully! It went real smooth. I can't believe how rediculusly fast this program is now, just insane. It's funny, I have the same program running in XP and now running in Slack and the speed difference is very noticible, this is cool.
Ok, so installation is basically moving the binarys created during make, to the specified directory, setting permission etc. No registry to deal with.
I did my source copile by first doing a configure --prefix="/.......", telling it where to put all the compiled files and such. I did my compile following a good set of instructions and it says for me to keep the makefile created. WHat I don't understand is why doesn't the makefile get moved to the prefix location automatically when I issue this command? I had to physically move the makefile to my prefix directory and then I rm -r the source folders.
The makefile doesn't get moved to the prefix location because it is intended to be used with the source files, not the binary. It keeps a record of the configuration you installed the program with. It may be necessary to keep it in order for
make uninstall
to work correctly. Since you did save it, you should not have any trouble running this command if you decide to do so. You just have to unpack the source code again, copy the file back to the directory, and you should be all set. It will also allow you to reinstall the program with the same configuration at a later time if there is a need by skipping the
./configure
step and just running
make
make install
Ok, this is starting to make more sense. But I have a couple more questions.
1.) Can't I just run the make uninstall without having the makefile in my source directory. Afterall the configure --prefix=?? should have told it where the files are that need to be uninstalled, what differernce does it make where the makefile is in this instance?
2.) If make uninstall doesn't work, can I just dump the whole directory where the exe and related files went with the make install command? Would that also be a clean way to uninstall?
Quote:
Originally posted by Rodrin The makefile doesn't get moved to the prefix location because it is intended to be used with the source files, not the binary. It keeps a record of the configuration you installed the program with. It may be necessary to keep it in order for
make uninstall
to work correctly. Since you did save it, you should not have any trouble running this command if you decide to do so. You just have to unpack the source code again, copy the file back to the directory, and you should be all set. It will also allow you to reinstall the program with the same configuration at a later time if there is a need by skipping the
./configure
step and just running
make
make install
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.