Re: How do you install utility built using gnu toolchain?
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?
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?
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