LinuxQuestions.org
Review your favorite Linux distribution.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware
User Name
Password
Slackware This Forum is for the discussion of Slackware Linux.

Notices


Reply
  Search this Thread
Old 07-29-2003, 08:07 PM   #1
CodeWarrior
Member
 
Registered: Mar 2003
Location: US
Distribution: Kubuntu 6.06
Posts: 173

Rep: Reputation: 30
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.
 
Old 07-29-2003, 08:57 PM   #2
fancypiper
LQ Guru
 
Registered: Feb 2003
Location: Sparta, NC USA
Distribution: Ubuntu 10.04
Posts: 5,141

Rep: Reputation: 60
Rute Guide's software explanation
 
Old 07-29-2003, 09:37 PM   #3
contrasutra
LQ Guru
 
Registered: Mar 2003
Location: New Jersey
Distribution: Arch Linux
Posts: 1,445

Rep: Reputation: 47
./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.
 
Old 07-29-2003, 09:39 PM   #4
Tinkster
Moderator
 
Registered: Apr 2002
Location: earth
Distribution: slackware by choice, others too :} ... android.
Posts: 23,067
Blog Entries: 11

Rep: Reputation: 928Reputation: 928Reputation: 928Reputation: 928Reputation: 928Reputation: 928Reputation: 928Reputation: 928
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
 
Old 07-29-2003, 09:46 PM   #5
Azmeen
Senior Member
 
Registered: May 2003
Location: Malaysia
Distribution: Slackware, LFS, CentOS
Posts: 1,307

Rep: Reputation: 47
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.
 
Old 07-30-2003, 09:05 AM   #6
tipaul
Member
 
Registered: Apr 2003
Location: Laval, Quebec, Canada
Distribution: Ubuntu
Posts: 121

Rep: Reputation: 15
Lightbulb 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)...
 
Old 07-30-2003, 11:08 AM   #7
Azmeen
Senior Member
 
Registered: May 2003
Location: Malaysia
Distribution: Slackware, LFS, CentOS
Posts: 1,307

Rep: Reputation: 47
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
 
Old 07-30-2003, 12:01 PM   #8
tipaul
Member
 
Registered: Apr 2003
Location: Laval, Quebec, Canada
Distribution: Ubuntu
Posts: 121

Rep: Reputation: 15
Red face

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.
 
Old 07-30-2003, 09:24 PM   #9
CodeWarrior
Member
 
Registered: Mar 2003
Location: US
Distribution: Kubuntu 6.06
Posts: 173

Original Poster
Rep: Reputation: 30
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.
 
Old 07-30-2003, 10:08 PM   #10
Rodrin
Member
 
Registered: May 2003
Location: Upstate NY, U.S.
Distribution: Slackware
Posts: 248

Rep: Reputation: 31
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
 
Old 08-01-2003, 06:35 PM   #11
CodeWarrior
Member
 
Registered: Mar 2003
Location: US
Distribution: Kubuntu 6.06
Posts: 173

Original Poster
Rep: Reputation: 30
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
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
windows xp installation cd doesn't boot after suse installation thearchitect SUSE / openSUSE 8 09-09-2007 03:21 PM
FC3 installation freezes at package installation tmussche Fedora - Installation 1 04-19-2005 07:56 PM
Mandrake 10.1 Installation hangs at Installation of Bootloader dnl Linux - Software 12 01-08-2005 06:48 AM
Installation doesn't recognize Red Hat Enterprise Linux ES installation cd bizkut Red Hat 2 08-15-2004 08:57 AM
Mandrake 9.2 installation program crashes in the final step of the installation iqbala Mandriva 0 12-03-2003 01:59 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware

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

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration