Re: How do you install utility built using gnu toolchain?

2011-05-13 Thread Karl Vogel
 On 13/05/2011 05:29, Dale Scott wrote:

D It's pretty general question, but is it typically standard procedure for
D a utility building using the GNU tool chain to be able to install itself
D into /usr/local/bin?

 On Fri, 13 May 2011 06:39:30 +0100, 
 Matthew Seaman m.sea...@infracaninophile.co.uk said:

M 'gmake install' should put binaries into appropriate locations.  Make
M sure that you specify /usr/local as the prefix when running configure.

   I usually do two builds:

 me% mkdir /tmp/local
 me% configure --prefix=/tmp/local ...whatever...
 me% gmake
 me% gmake -n install 21 | grep -v /tmp/local

   shows if something's going to be installed elsewhere, but that's only
   happened to me once in a blue moon (typo in Makefile.in).

 root# gmake install
 me% cd /tmp/local
 me% ls -lR

   provides a list of exactly what'll be installed, with ownership and
   permissions, in case you ever want to know where a given file came from.

   The clean, realclean, and distclean targets can behave slightly
   differently, depending on who put the source together.  To make cleanup
   consistent, I make a TOC of the pristine directory before and after
   configuration/build:

 me% cd /path/to/source
 me% find . -print | sort | tail +2  /tmp/BEFORE
... configure, build, test, install, whatever ...

 me% find . -print | sort | tail +2  /tmp/AFTER
 me% comm -23 /tmp/AFTER /tmp/BEFORE  TARGETS
 me% rm /tmp/AFTER /tmp/BEFORE

   Running xargs rm  TARGETS (and/or rmdir) gives me a pristine source
   directory.  Sure, you can just remove the whole thing and unpack a clean
   tarball, but this is easier if you have local patches or you'd like to
   keep part of the generated output, like the configuration stuff.

-- 
Karl Vogel  I don't speak for the USAF or my company

No, I really can't recover any files from your thumb drive, even if you did
find it after it passed through your dog.  --actual IT support question
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to freebsd-questions-unsubscr...@freebsd.org


How do you install utility built using gnu toolchain?

2011-05-12 Thread Dale Scott
It's pretty general question, but is it typically standard procedure for a 
utility building using the GNU tool chain to be able to install itself into 
/usr/local/bin? E.g. # gmake install ?? Is there anything a newb can check 
for without having to fully understand the complete build procedure (and not 
destroy my system in the process)?

The mdbtools port is based on the last official release of the project - v0.5 
in 2003. I've compiled the current head of the project from github in a 
personal directory and tests have passed (I'm using a php app with mdb-export 
to copy data from a Jet4 database to MySQL). Now I'd like to put the 
executables in /usr/local/bin for shared access (in place of the utilities 
installed by the mdbtools-0.5 port). The project builds using the GNU tool 
chain without any customizations (using config and gmake). I'd prefer to do 
this properly with a port, but until the project has had an official release 
and I've learned how to create a port, are there any shortcuts? I naively tried 
copying what I thought were the executables, and then discovered they were 
shell scripts that only ran from the build directory. Huh?
 
Could it be as simple as # gmake install (and that not be a horribly stupid 
thing to try)?
 
Thanks,
Dale
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to freebsd-questions-unsubscr...@freebsd.org


Re: How do you install utility built using gnu toolchain?

2011-05-12 Thread Matthew Seaman
On 13/05/2011 05:29, Dale Scott wrote:
 It's pretty general question, but is it typically standard procedure
 for a utility building using the GNU tool chain to be able to install
 itself into /usr/local/bin? E.g. # gmake install ?? Is there
 anything a newb can check for without having to fully understand the
 complete build procedure (and not destroy my system in the process)?
 
 The mdbtools port is based on the last official release of the
 project - v0.5 in 2003. I've compiled the current head of the project
 from github in a personal directory and tests have passed (I'm using
 a php app with mdb-export to copy data from a Jet4 database to
 MySQL). Now I'd like to put the executables in /usr/local/bin for
 shared access (in place of the utilities installed by the
 mdbtools-0.5 port). The project builds using the GNU tool chain
 without any customizations (using config and gmake). I'd prefer to do
 this properly with a port, but until the project has had an official
 release and I've learned how to create a port, are there any
 shortcuts? I naively tried copying what I thought were the
 executables, and then discovered they were shell scripts that only
 ran from the build directory. Huh?
 
 Could it be as simple as # gmake install (and that not be a
 horribly stupid thing to try)?

If you're using autotools for the configuration part (which is pretty
standard) then essentially, yes: 'gmake install' should put binaries
into appropriate locations.  Make sure that you specify /usr/local as
the prefix when running configure.  It should be the default, but
there's no guarrantee.

Cheers,

Matthew

PS. You might be able to preview the installation action without
installling anything by 'gmake -n install' -- sometimes this gives
useful info, others not.

-- 
Dr Matthew J Seaman MA, D.Phil.   7 Priory Courtyard
  Flat 3
PGP: http://www.infracaninophile.co.uk/pgpkey Ramsgate
JID: matt...@infracaninophile.co.uk   Kent, CT11 9PW



signature.asc
Description: OpenPGP digital signature