Re: make command understanding

2013-01-31 Thread Ralf Mardorf
Reading the other replies, I suspect you are talking about compiling  
Debian source packages or something else, while make is not the only thing  
coders do use, for make you usually have to run three command


configure
make
make install

resp. make love, not install - from another Linux user

configure
make
checkinstall

sometimes you'll use additions, such as

./configure --prefix=/usr/local

to give the pass where it should be installed, or you'll say how many jobs  
should run etc., resp. for Debian you say how much jobs should run by  
setting a variable, e.g.


CONCURRENCY_LEVEL=2

Configure will configure and usually check dependencies, make will  
compile and make install will install, resp. checkinstall will build a  
package. On Debian there are other ways to build packages too.


Regards,
Ralf


--
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org

Archive: http://lists.debian.org/op.wrrog1n7qhadp0@freebsd



Re: make command understanding

2013-01-31 Thread Alex Mestiashvili
On 01/31/2013 08:44 AM, Muhammad Yousuf Khan wrote:
 i normally install things from the repository of debian by apt-get
 install however just need to know if in case circumstances push me to
 compile things at some point.so the question that i am asking is just
 for learning purpose.
 i have seen on youtube people first un-tar the package (e.g.
 spamassassin) then they some time run make command only without any
 parameter at the end of it and then in next command they run make
 install so the question is whats does that first make command does,
 why we do not directly use make install
 
 Thanks,
 
 
Hi,

make does what is written in a Makefile.
Depending to the source code distribution it can vary a lot.
So the first thing before compiling, is to look to a README or INSTALL
files shipped with the source and look to the Makefile.

Regards,
Alex


-- 
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/510a33c7.9030...@biotec.tu-dresden.de



Re: make command understanding

2013-01-31 Thread Muhammad Yousuf Khan
Thanks all , thanks for the detailed answer but do you think compiling
is a good solution to go-with, except installing the package from
repository. i have heard that  people always suggest to install
packages from repository not by compiling. i know repo should contain
old release but stable one however, for more option and newer releases
one should need to compile it from source.

but my question is, what pros do normally ?


On Thu, Jan 31, 2013 at 2:05 PM, Alex Mestiashvili
a...@biotec.tu-dresden.de wrote:
 On 01/31/2013 08:44 AM, Muhammad Yousuf Khan wrote:
 i normally install things from the repository of debian by apt-get
 install however just need to know if in case circumstances push me to
 compile things at some point.so the question that i am asking is just
 for learning purpose.
 i have seen on youtube people first un-tar the package (e.g.
 spamassassin) then they some time run make command only without any
 parameter at the end of it and then in next command they run make
 install so the question is whats does that first make command does,
 why we do not directly use make install

 Thanks,


 Hi,

 make does what is written in a Makefile.
 Depending to the source code distribution it can vary a lot.
 So the first thing before compiling, is to look to a README or INSTALL
 files shipped with the source and look to the Makefile.

 Regards,
 Alex


 --
 To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org
 with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
 Archive: http://lists.debian.org/510a33c7.9030...@biotec.tu-dresden.de



-- 
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: 
http://lists.debian.org/cagwvfmnwmgosw1ruab6nnwqle-pljwxughnzd6atwn3nbkw...@mail.gmail.com



Re: make command understanding

2013-01-31 Thread berenger . morel



Le 31.01.2013 13:15, Muhammad Yousuf Khan a écrit :
Thanks all , thanks for the detailed answer but do you think 
compiling

is a good solution to go-with, except installing the package from
repository. i have heard that  people always suggest to install
packages from repository not by compiling. i know repo should contain
old release but stable one however, for more option and newer 
releases

one should need to compile it from source.

but my question is, what pros do normally ?


I do not know what pro (I guess you are speaking about pro 
administrators, which I am not) do normally, but I can say that 
installing packages is safer and easier:

_ easier to remove
_ easier to maintain
_ tried by other (at least, by people who made them)
_ they can be signed
_ less dependencies (no need to install all *-dev packages of their 
dependencies, and their own dependencies, same for makefile generators: 
someone has spoken about ./configure, but there is also cmake, qmake, 
scons, and many other)


Generally speaking, I think using distro's packages is ideal. Then, if 
you think they are too old, try to install developers' packages. If they 
does not exists, compile the software.



--
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/2f205ce69b73822ccb63500afce26...@neutralite.org



Re: make command understanding

2013-01-31 Thread Nate Bargmann
* On 2013 31 Jan 06:16 -0600, Muhammad Yousuf Khan wrote:
 Thanks all , thanks for the detailed answer but do you think compiling
 is a good solution to go-with, except installing the package from
 repository. i have heard that  people always suggest to install
 packages from repository not by compiling. i know repo should contain
 old release but stable one however, for more option and newer releases
 one should need to compile it from source.
 
 but my question is, what pros do normally ?

I'm no pro but sometimes there is no other way to get something more up
to date with better hardware support, particularly now that Debian 7 is
getting closer to release.  That said, there is generally little
conflict between locally compiled packages and those installed via apt.
Debian is well designed to facilitate locally compiled packages.  It
does this by reserving the /usr/local hierarchy for the administrator to
install locally compiled packages.  A properly implemented source
package will confine its files to that area to avoid conflict with
distribution supplied packages.

Many source packages these days use the GNU Autotools and a properly
built source package will contain a 'configure' shell script that will
create the various Makefiles.  In fact, most packages using Autotools
will not have any Makefiles until configure is run.  Before running
'configure' one should read any README and/or INSTALL files as afore
mentioned, and then run './configure --help' to look for any options you
might need to set (use Shift-PageUp to read the scrollback).  One
important option to look for is '--prefix' which usually defaults to
'/usr/local' but can also be set to, say, '$HOME/local', for example, to
install the package to your home directory.

Then run 'configure' with any options followed by 'make' and then as
root (or using sudo) 'make install'.  To remove the package later use
'make uninstall' as root.  If you're installing a library, you will also
need to run 'ldconfig' as root to register your locally compiled library
with the dynamic loader configuration.

If one is just the least bit careful, locally compiled packages will not
cause a conflict on the system.  :-)  Building from source is also a
good learning experience and knowing how to do it is essential for doing
any sort of C/C++ programming.

Have fun!

- Nate

-- 

The optimist proclaims that we live in the best of all
possible worlds.  The pessimist fears this is true.

Ham radio, Linux, bikes, and more: http://www.n0nb.us


-- 
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20130131131740.gs28...@n0nb.us



Re: make command understanding

2013-01-31 Thread Ralf Mardorf
On Thu, 2013-01-31 at 17:15 +0500, Muhammad Yousuf Khan wrote:
 Thanks all , thanks for the detailed answer but do you think compiling
 is a good solution to go-with, except installing the package from
 repository. i have heard that  people always suggest to install
 packages from repository not by compiling. i know repo should contain
 old release but stable one however, for more option and newer releases
 one should need to compile it from source.
 
 but my question is, what pros do normally ?

I very often compile software myself, but only if I've got a reason to
do it. This isn't better or less good than using packages from the
repositories. Reasons for me are helping a developer by testing
software, to disable or enable options or because it's simply needed,
e.g. to get new hardware running. Some people wish to add proprietary
stuff to an application, that can't be included by the distro and some
OS simply don't have binary packages or it's very uncommon to use those
OS with packages. If you have got a very old CPU, you might need to
recompile some packages, to get _less good_ math support.

Last but not least, some people simply want to learn, just for fun.


-- 
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/1359639391.2149.18.camel@precise



Re: make command understanding

2013-01-31 Thread Ralf Mardorf
On Thu, 2013-01-31 at 13:29 +0100, berenger.mo...@neutralite.org wrote:
 _ easier to remove

No, self compiled is as easy to remove as a package

 _ easier to maintain

No, simply build a package

 _ tried by other (at least, by people who made them)

Correct, they are tested by the community, the people who build the
packages often don't test their packages 

 _ they can be signed

If you build the packages yourself, than there is no need to sign it,
but if you like, than sign your own packages

 _ less dependencies (no need to install all *-dev packages of their 
 dependencies, and their own dependencies, same for makefile

The dependencies for the build package or directly installed software
are the same, just for compiling you need headers. It's a bad habit of
Debian to separate software into app, libs and headers and often it does
cause serious issues, just take a look at the jack devel mailing list
archive. People don't care about bloated DEs, but they care about some
bytes to have everything linked correctly, by one package, two policies
that don't fit together.

  generators: 
 someone has spoken about ./configure, but there is also cmake, qmake, 
 scons, and many other)

such as ./waf


-- 
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/1359640034.2149.26.camel@precise



Re: make command understanding

2013-01-31 Thread Go Linux
--- On Thu, 1/31/13, Muhammad Yousuf Khan sir...@gmail.com wrote:

 From: Muhammad Yousuf Khan sir...@gmail.com
 Subject: make command understanding
 To: debian debian-user@lists.debian.org
 Date: Thursday, January 31, 2013, 1:44 AM
 i normally install things from the
 repository of debian by apt-get
 install however just need to know if in case circumstances
 push me to
 compile things at some point.so the question that i am
 asking is just
 for learning purpose.
 i have seen on youtube people first un-tar the package
 (e.g.
 spamassassin) then they some time run make command only
 without any
 parameter at the end of it and then in next command they run
 make
 install so the question is whats does that first make
 command does,
 why we do not directly use make install
 
 Thanks,
 
 

I recently compiled a .deb for the latest Oracle java from source using this 
tut.  It appears in synaptic and/or can be handled by apt-get:

http://forums.debian.net/viewtopic.php?f=16t=77140

And here's a how-to build from source that has several options:

http://forums.debian.net/viewtopic.php?f=16t=38976


-- 
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: 
http://lists.debian.org/1359641255.2005.yahoomailclas...@web163402.mail.gq1.yahoo.com



Re: make command understanding

2013-01-31 Thread Ralf Mardorf

  _ less dependencies (no need to install all *-dev packages of their 
  dependencies, and their own dependencies, same for makefile
 
 The dependencies for the build package or directly installed software
 are the same

But it's not completely untrue, that there could appear dependency
issues. If Debian stable is aged, then it often is completely outdated
and it can become nearly impossible to compile latest software for an
aged Debian stable.


-- 
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/1359641855.2149.33.camel@precise



Re: make command understanding

2013-01-31 Thread berenger . morel

Le 31.01.2013 14:47, Ralf Mardorf a écrit :
On Thu, 2013-01-31 at 13:29 +0100, berenger.mo...@neutralite.org 
wrote:

_ easier to remove


No, self compiled is as easy to remove as a package


Of course, there are the make uninstall  co commands, but can you 
use them with a centralized package manager software with a GUI like 
aptitude or synaptics?
I do not think so. I think you need to run a terminal in the directory 
where you have the right makefile to run a command.
I know that running commands is easy. At least, for me. But not for 
many users.



_ easier to maintain


No, simply build a package
But in this situation, you are not using the usual ./configure  make 
 make install, you add at least 1 step ;)

Just joking, of course. You are true, I've forgot that option.

But when the option to build a package exists, I've noticed that often, 
there is a package, too, and that it's ea



_ less dependencies (no need to install all *-dev packages of their
dependencies, and their own dependencies, same for makefile


The dependencies for the build package or directly installed software
are the same, just for compiling you need headers.
Not everyone is using autotools (and so, configure files), and so you 
have sometimes to install makefiles generators, such as cmake.
I do not often compile external stuff myself, but for now, I think I 
have seen more often cmake than configure, speaking about that. And, to 
be honest, I like that, because it's far easier, for the user (colored 
logs, easy to read missing dependencies) and for developers (the 
CMakeLists.txt syntax is really easy to use, and I were able to read it 
and fix an error the first time I've seen it. For configure stuff, I 
still have no idea about how it is possible to create/maintain those 
things.).
Of course, it is only my opinion, and many people probably think 
configure is better. This is not the subject here, I was just saying 
that I think that configure is loosing terrain.


But you are technically right: the only dependencies are the 
development headers of the libraries the software would need anyway.



It's a bad habit of
Debian to separate software into app, libs and headers and often it 
does

cause serious issues, just take a look at the jack devel mailing list
archive. People don't care about bloated DEs, but they care about 
some
bytes to have everything linked correctly, by one package, two 
policies

that don't fit together.


No, I worry a lot about bloated DE, this is why I does not use any DE 
(but I use graphical environment anyway, of course), and I do not need 
most -dev packages. So, separating is a good idea for me.
Currently, if I remove all stuff I have in libdevel, which a normal 
user would do, it would free 471MB.
Yes, I know, it's nothing nowadays... but I still have an old computer 
with HD of 80GB. When I get it (2 years ago), the HD was a 10GB. On 
10GB, 470M are not nothing.

Also, it allows to reduce space used on installation medias.

Except the point of HD space, there is also the problem of bandwidth. I 
know that headers have a high compression ratio, since they are text 
files, but I think on the scale of debian, that might be quite huge to 
send.


So, do not say bad habit, just habit ;)

OT:
I would like to know what kind of issue separating them might cause. 
I'm surprised that this is even possible, since when you install a dev 
file, it is only the headers corresponding to the binary you already 
have installed? Except if you force apt(itude) to install them in 
different versions than the installed one (which would break the package 
and so apt(itude) would not let you do that) I do not see how something 
can be broken by splitting dev/bin packages?



--
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/911e6453f2c22a3e195a983572977...@neutralite.org



Re: make command understanding

2013-01-31 Thread Andrei POPESCU
On Jo, 31 ian 13, 14:47:14, Ralf Mardorf wrote:
 On Thu, 2013-01-31 at 13:29 +0100, berenger.mo...@neutralite.org wrote:
  _ easier to remove
 
 No, self compiled is as easy to remove as a package

You are assuming that both 'make install' and 'make uninstall' are 
correct and maintained. At least for Debian I know there are ongoing 
(automated) efforts to make sure packages install/uninstall correctly 
(piuparts).
 
  _ easier to maintain
 
 No, simply build a package

Which is an additional step. And you also have to watch for security 
problems yourself. Now add to this that upstreams might not fix security 
issues in older versions (if they don't do stable releases) you end up 
in the situation where you are forced to upgrade to a newer version 
(including many build dependencies, just for fun) or backport the 
security patch yourself. Good luck.

  _ tried by other (at least, by people who made them)
 
 Correct, they are tested by the community, the people who build the
 packages often don't test their packages 

Even if the Maintainer doesn't test own packages[1], Debian has also a 
lot of automated tests. In case of obvious grave problems it is even 
impossible to upload the package (automatic rejections).

[1] most Maintainers take over the maintenance of a package because they 
are using it themselves.

  _ less dependencies (no need to install all *-dev packages of their 
  dependencies, and their own dependencies, same for makefile
 
 The dependencies for the build package or directly installed software
 are the same, just for compiling you need headers. It's a bad habit of
 Debian to separate software into app, libs and headers and often it does
 cause serious issues, just take a look at the jack devel mailing list
 archive.

I don't think so. I see no reason to have development headers installed 
on my Raspberry Pi running from a 2G SD card.

 People don't care about bloated DEs, but they care about some
 bytes to have everything linked correctly, by one package, two policies
 that don't fit together.

As I've already pointed out to you in a different thread, installing 
without a DE is very easy. That is, if you don't like any of the 4 
(four) choices offered[2]. Gnome is just a default, and it's easily 
changed.

[2] and this is just stable and wheezy. Unstable already has razor-qt, 
which looks promising if you like/need QT.

Kind regards,
Andrei
-- 
Offtopic discussions among Debian users and developers:
http://lists.alioth.debian.org/mailman/listinfo/d-community-offtopic


signature.asc
Description: Digital signature


Re: make command understanding

2013-01-31 Thread Joe Pfeiffer
Muhammad Yousuf Khan sir...@gmail.com writes:

 Thanks all , thanks for the detailed answer but do you think compiling
 is a good solution to go-with, except installing the package from
 repository. i have heard that  people always suggest to install
 packages from repository not by compiling. i know repo should contain
 old release but stable one however, for more option and newer releases
 one should need to compile it from source.

 but my question is, what pros do normally ?

Unless you've got a good reason (it isn't in the repository, or you need
something more recent than has made it to the repository, or you want to
make some modifications to it are the three that come to mind
immediately), install from the repository.  There are three major
advantages to this:

(1) the developer may be working with a directory structure that's
different from the Debian structure.  The package maintainer will
have patched the package to match the Debian structure.

(2) the version from the repository will (probably -- exceptions
constitute bugs) have been compiled and tested against versions of
libraries and other programs that you've got on your system.

(3) if you can't install, the package manager will know what other
packages you need in order to fix the situation.

If you compile from source, (1) says you can get stuff installed
someplace weird, (2) says you may trigger bugs that wouldn't have turned
up in the version in the repository, and (3) says if compilation fails
you're completely on your own to guess what additional software you need
to install -- and that may not be in the repository either.


-- 
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/1bvcacg3zh@snowball.wb.pfeifferfamily.net



Re: make command understanding

2013-01-31 Thread Muhammad Yousuf Khan
Thanks all for all the detailed answers :) very helpful.

On Fri, Feb 1, 2013 at 7:30 AM, Joe Pfeiffer pfeif...@cs.nmsu.edu wrote:
 Muhammad Yousuf Khan sir...@gmail.com writes:

 Thanks all , thanks for the detailed answer but do you think compiling
 is a good solution to go-with, except installing the package from
 repository. i have heard that  people always suggest to install
 packages from repository not by compiling. i know repo should contain
 old release but stable one however, for more option and newer releases
 one should need to compile it from source.

 but my question is, what pros do normally ?

 Unless you've got a good reason (it isn't in the repository, or you need
 something more recent than has made it to the repository, or you want to
 make some modifications to it are the three that come to mind
 immediately), install from the repository.  There are three major
 advantages to this:

 (1) the developer may be working with a directory structure that's
 different from the Debian structure.  The package maintainer will
 have patched the package to match the Debian structure.

 (2) the version from the repository will (probably -- exceptions
 constitute bugs) have been compiled and tested against versions of
 libraries and other programs that you've got on your system.

 (3) if you can't install, the package manager will know what other
 packages you need in order to fix the situation.

 If you compile from source, (1) says you can get stuff installed
 someplace weird, (2) says you may trigger bugs that wouldn't have turned
 up in the version in the repository, and (3) says if compilation fails
 you're completely on your own to guess what additional software you need
 to install -- and that may not be in the repository either.


 --
 To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org
 with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
 Archive: http://lists.debian.org/1bvcacg3zh@snowball.wb.pfeifferfamily.net



-- 
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: 
http://lists.debian.org/CAGWVfMkQd23cy6PDVbi52yhmsSb_MpV5i0eZcb=gr1BQNs-=e...@mail.gmail.com



Re: make command understanding

2013-01-30 Thread Artur Frydel
On Thu, Jan 31, 2013 at 8:44 AM, Muhammad Yousuf Khan sir...@gmail.com wrote:
 i normally install things from the repository of debian by apt-get
 install however just need to know if in case circumstances push me to
 compile things at some point.so the question that i am asking is just
 for learning purpose.
 i have seen on youtube people first un-tar the package (e.g.
 spamassassin) then they some time run make command only without any
 parameter at the end of it and then in next command they run make
 install so the question is whats does that first make command does,
 why we do not directly use make install

 Thanks,



Well... make compile existing source to binary format, and make
install moves those binaries to proper location (/usr/local/sbin for
instatnce).


-- 
Best regards.
Artur 'Bzyk' Frydel
Always look on the bright side of life.


-- 
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: 
http://lists.debian.org/cadd_rqjextdcv7fpxkjwix9rhqwgna1bm-t3idv1dwmgz9r...@mail.gmail.com



Re: make command understanding

2013-01-30 Thread berenger . morel



Le 31.01.2013 08:44, Muhammad Yousuf Khan a écrit :

i normally install things from the repository of debian by apt-get
install however just need to know if in case circumstances push me 
to

compile things at some point.so the question that i am asking is just
for learning purpose.
i have seen on youtube people first un-tar the package (e.g.
spamassassin) then they some time run make command only without any
parameter at the end of it and then in next command they run make
install so the question is whats does that first make command 
does,

why we do not directly use make install

Thanks,


Make without argument run the file ./Makefile (or ./makefile I do not 
remember). This usually only compile the software, without moving it's 
files in usual folders, which are not accessible from a normal user.


make install moves files generated by make in predefined folders, on 
debian it is usually /usr/local but there are other classic 
destinations.


The separation is useful because it allows to run a software without 
installing it for entire system. Consequences: developers can debug it 
without root rights, and users can use a software absent of the system 
without annoying the admin. It also means that if the software have a 
problem, and if you did not installed it, it can not damage your system: 
only the user's home (except if there are security flaws).
On disadvantages: only the user with the binary can run the software, 
and he needs to configure his path to know that software.



--
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/6530a0d52df201f77d772cc20c9b8...@neutralite.org