LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (http://www.linuxquestions.org/questions/slackware-14/)
-   -   What does installation mean? (http://www.linuxquestions.org/questions/slackware-14/what-does-installation-mean-77123/)

CodeWarrior 07-29-2003 08:07 PM

What does installation mean?
 
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.

fancypiper 07-29-2003 08:57 PM

Rute Guide's software explanation

contrasutra 07-29-2003 09:37 PM

./configure --- the "./" means "in the current directory" and "configure" is a bash script that comes with a program usually.

make -- compile the program.

make install -- move the compiled programs into their proper directories.

and dont forget:

make clean -- to clean up temp files afterward.

There is no "registry" in linux, so its really just moving files around.

Tinkster 07-29-2003 09:39 PM

Re: What does installation mean?
 
Quote:

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 :)

Cheers,
Tink

Azmeen 07-29-2003 09:46 PM

Re: What does installation mean?
 
Quote:

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 07-30-2003 09:05 AM

Source installation...
 
On my side, when I compile a source, I don't do the make install but make a .tgz package... Afterward, I install it with "installpkg".

Then if I don't like the software, I just have to do "removepkg"...

I don't remember the steps I use to create the .tgz package but it's REALLY EASY... I have the procedure at home (i'm at job right now)... :study:

Azmeen 07-30-2003 11:08 AM

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

Just for your info and general public consumption :)

tipaul 07-30-2003 12:01 PM

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.

CodeWarrior 07-30-2003 09:24 PM

I just did my first source installation sucessfully! :cool: 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. :scratch:

Rodrin 07-30-2003 10:08 PM

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

CodeWarrior 08-01-2003 06:35 PM

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



All times are GMT -5. The time now is 04:06 AM.