git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] Explain what 'ginstall' is

From
H.Merijn Brand <h.m.brand@xs4all.nl>
Date
Dec 18, 2007, 11:11 UTC
Message-ID
<20071218121115.1c893dc4@pc09.procura.nl>
In-Reply-To
<200712181014.38986.jnareb@gmail.com>
On Tue, 18 Dec 2007 10:14:38 +0100, Jakub Narebski <jnareb@gmail.com> wrote:
Show 43 quoted lines
> On Tue, 18 Dec 2007, H.Merijn Brand wrote:
> > On Tue, 18 Dec 2007 09:20:38 +0100, Jakub Narebski <jnareb@gmail.com> wrote:
> >> On Tue, 18 Dec 2007, H.Merijn Brand wrote:
> >>> On Mon, 17 Dec 2007 17:21:08 -0800 (PST), Jakub Narebski wrote:
> >>>>
> >>>> Second, the default autoconf macro AC_PROG_INSTALL *requires* that
> >>>> there is BSD-compatible `install' program (as 'install-sh' or
> >>>> 'install.sh') in the sources.  Adding such script is (I think) not a
> >>>> problem; finding minimal portable[*1*] script is.  
> >>>> So if you know one... 
> >> 
> >> [...]. There is need for BSD-compatibile
> >> `install` program as 'install-sh', not 'make-install' script. The idea
> >> is to use system-provided 'install' if it exists and is compatibile,
> > 
> > There lies the problem. HP-UX does have an 'install', but it is not
> > compatible, and chances are (very) small that people have installed
> > the GNU or any other BSD compliant install.
> > 
> >> because it should be faster than script version, and fallback to 
> >> provided install-sh only if system install is not found.
> > 
> > The problem again. It *does* find install, but it turns out to be
> > unusable.
> 
> Could you check if ./configure correctly uses install-sh in your case?
> Copy install-sh from for example autotools[*1*] (e.g. libtool has one)
> to the git sources, uncomment line with AC_PROG_INSTALL in configure.ac,
> generate configure script using "make configure" and check what
> ./configure chooses.
> 
> In my case it is:
> 
>   $ cp /usr/share/libtool/install-sh .
>   $ make configure
>   GIT_VERSION = 1.5.4.rc0.56.g6fbe-dirty
>       GEN configure
>   $ ./configure
>   configure: CHECKS for programs
>   [...]
>   checking for a BSD-compatible install... /usr/bin/install -c
> 
> What is ./configure output in your case?

/pro/3gl/LINUX/git-2007-12-17 112 > rm config.{log,status} /pro/3gl/LINUX/git-2007-12-17 113 > configure --prefix=/pro/local --disable-nls --without-iconv --with-perl=/pro/bin/perl >& config-log /pro/3gl/LINUX/git-2007-12-17 114 > grep -w install !$ grep -w install config-log Exit 1 /pro/3gl/LINUX/git-2007-12-17 115 >

The system could have used either one of these:
/pro/3gl/LINUX/git-2007-12-17 116 > ll /pro/local/share/automa*/install-sh
258090 -rwxr-xr-x 1 merijn softwr 9212 Sep  2  2004 /pro/local/share/automake-1.9/install-sh
 77938 -rwxr-xr-x 1 merijn softwr 5598 Oct  4  2001 /pro/local/share/automake/install-sh

/pro/3gl/LINUX/git-2007-12-17 119 > cp /pro/3gl/GNU/gcc/r3/gcc-4.2.2/install-sh install-sh /pro/3gl/LINUX/git-2007-12-17 120 > rm config.{log,status} /pro/3gl/LINUX/git-2007-12-17 121 > configure --prefix=/pro/local --disable-nls --without-iconv --with-perl=/pro/bin/perl > & config-log /pro/3gl/LINUX/git-2007-12-17 122 > grep -w install config-log Exit 1 /pro/3gl/LINUX/git-2007-12-17 123 > ll install-sh 121737 -rwxrwxr-x 1 merijn softwr 9233 Dec 18 12:06 install-sh /pro/3gl/LINUX/git-2007-12-17 124 >

-- uncommented the AC_PROG_INSTALL line ...

a5:/pro/3gl/LINUX/git-2007-12-17 125 > rm config.{log,status} a5:/pro/3gl/LINUX/git-2007-12-17 126 > configure --prefix=/pro/local --disable-nls --without-iconv --with-perl=/pro/bin/perl > & config-log a5:/pro/3gl/LINUX/git-2007-12-17 127 > grep -w install config-log Exit 1 a5:/pro/3gl/LINUX/git-2007-12-17 128 > grep -w install config.log config.status Exit 1 a5:/pro/3gl/LINUX/git-2007-12-17 129 >

OK, rebuild configure ...
a5:/pro/3gl/LINUX/git-2007-12-17 129 > make configure
    GEN configure
a5:/pro/3gl/LINUX/git-2007-12-17 130 > rm config.{log,status}
a5:/pro/3gl/LINUX/git-2007-12-17 131 > configure --prefix=/pro/local --disable-nls --without-iconv --with-perl=/pro/bin/perl > & config-log
a5:/pro/3gl/LINUX/git-2007-12-17 132 > grep -w install config-log config.log config.status
config-log:checking for a BSD-compatible install... /opt/imake/bin/install -c
config.log:configure:2218: checking for a BSD-compatible install
config.log:configure:2273: result: /opt/imake/bin/install -c
config.log:ac_cv_path_install='/opt/imake/bin/install -c'
config.status:INSTALL="/opt/imake/bin/install -c"
a5:/pro/3gl/LINUX/git-2007-12-17 133 >
Show 5 quoted lines
> Footnotes:
> ----------
> [*1*] Or for example http://svn.scheffers.net/zlib/tclconfig/install-sh
> which is smaller (2189 bytes vs. 9233 autotools one, or 10970 from
> kapptemplate (kdesdk 3.5.3)).
-- 
H.Merijn Brand         Amsterdam Perl Mongers (http://amsterdam.pm.org/)
using & porting perl 5.6.2, 5.8.x, 5.10.x  on HP-UX 10.20, 11.00, 11.11,
& 11.23, SuSE 10.1 & 10.2, AIX 5.2, and Cygwin.       http://qa.perl.org
http://mirrors.develooper.com/hpux/            http://www.test-smoke.org
                        http://www.goldmark.org/jeff/stupid-disclaimers/
Previous: Jakub NarebskiNext: Jakub Narebski
Message 7 of 12 in “Explain what 'ginstall' is”
  1. Explain what 'ginstall' isAndy Dougherty, Dec 17, 2007
  2. Jakub NarebskiDec 18, 2007
  3. H.Merijn BrandDec 18, 2007
  4. Jakub NarebskiDec 18, 2007
  5. H.Merijn BrandDec 18, 2007
  6. Jakub NarebskiDec 18, 2007
  7. H.Merijn BrandDec 18, 2007
  8. Jakub NarebskiDec 18, 2007
  9. H.Merijn BrandDec 18, 2007
  10. Jakub NarebskiDec 18, 2007
  11. H.Merijn BrandDec 18, 2007
  12. Jan HudecDec 23, 2007

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.