threads / discuss / 51022

(no subject)

Subject:

## tl;dr

5 messages between May 1, 2019 and May 3, 2019.

replies: 4people: 2as markdown or json

Jeffrey Walton· May 1, 2019, 21:57 UTC · lore
Hi Everyone,

I'm attempting to install Git 2.21.0 on Solaris 11.3 x86_64. /usr/gnu/bin is on-path.

'make' was OK, 'make check' had a few failures. 'make install' has troubles.

$ sudo gmake install ...

gmake -C gitweb install
gmake[1]: Entering directory `/export/home/build/git-2.21.0/gitw
eb'
gmake[2]: Entering directory `/export/home/build/git-2.21.0'
gmake[2]: `GIT-VERSION-FILE' is up to date.
gmake[2]: Leaving directory `/export/home/build/git-2.21.0'
    GEN gitweb.cgi
    GEN static/gitweb.js
install -d -m 755 '/usr/local/share/gitweb'
directory /usr/local/share/gitweb created
install -m 755 gitweb.cgi '/usr/local/share/gitweb'
find: cycle detected for /lib/secure/32/
find: cycle detected for /lib/32/
find: cycle detected for /lib/crypto/32/
find: cycle detected for /usr/lib/locale/en_US.UTF-8/LO_LTYPE/32/
find: cycle detected for /usr/lib/locale/en_US.UTF-8/32/
find: cycle detected for /usr/lib/locale/en_US.UTF-8/LC_CTYPE/32/
find: cycle detected for /usr/lib/32/
find: cycle detected for /usr/lib/security/32/
find: cycle detected for /usr/lib/link_audit/32/
find: cycle detected for /usr/lib/rad/client/c/32/
find: cycle detected for /usr/lib/secure/32/
find: cycle detected for /usr/lib/fm/topo/plugins/32/
find: cycle detected for /usr/lib/lwp/32/
find: cycle detected for /usr/lib/pool/32/
find: cycle detected for /usr/lib/brand/solaris10/32/
find: cycle detected for /usr/lib/elfedit/32/
find: cycle detected for /usr/lib/gss/32/
install: gitweb.cgi was not found anywhere!
gmake[1]: *** [install] Error 2
gmake[1]: Leaving directory `/export/home/build/git-2.21.0/gitweb'
gmake: *** [install] Error 2
Jeff
Jonathan Nieder· May 1, 2019, 22:30 UTC · re: Jeffrey Walton · lore

Re: install: gitweb.cgi was not found anywhere

Hi,
Jeffrey Walton wrote:
> I'm attempting to install Git 2.21.0 on Solaris 11.3 x86_64.
> /usr/gnu/bin is on-path.
[...]
Show 12 quoted lines
> gmake -C gitweb install
> gmake[1]: Entering directory `/export/home/build/git-2.21.0/gitw
> eb'
> gmake[2]: Entering directory `/export/home/build/git-2.21.0'
> gmake[2]: `GIT-VERSION-FILE' is up to date.
> gmake[2]: Leaving directory `/export/home/build/git-2.21.0'
>     GEN gitweb.cgi
>     GEN static/gitweb.js
> install -d -m 755 '/usr/local/share/gitweb'
> directory /usr/local/share/gitweb created
> install -m 755 gitweb.cgi '/usr/local/share/gitweb'
> find: cycle detected for /lib/secure/32/
[...]
> install: gitweb.cgi was not found anywhere!

Sounds like it's using "install" when it should be using "ginstall". config.mak.uname contains, under the SunOS category:

	INSTALL = /usr/ucb/install

But gitweb/Makefile seems to forget to include ../config.mak.uname. How about this patch?

-- >8 --
Subject: gitweb: use system-appropriate defaults for commands
Attempting to install gitweb on Solaris 11 produces
 $ gmake install
...
 gmake -C gitweb install
 gmake[1]: Entering directory `/export/home/build/git-2.21.0/gitweb'
 gmake[2]: Entering directory `/export/home/build/git-2.21.0'
 gmake[2]: `GIT-VERSION-FILE' is up to date.
 gmake[2]: Leaving directory `/export/home/build/git-2.21.0'
     GEN gitweb.cgi
     GEN static/gitweb.js
 install -d -m 755 '/usr/local/share/gitweb'
 directory /usr/local/share/gitweb created
 install -m 755 gitweb.cgi '/usr/local/share/gitweb'
 find: cycle detected for /lib/secure/32/
 find: cycle detected for /lib/32/
 find: cycle detected for /lib/crypto/32/
...
 find: cycle detected for /usr/lib/gss/32/
 install: gitweb.cgi was not found anywhere!
 gmake[1]: *** [install] Error 2
 gmake[1]: Leaving directory `/export/home/build/git-2.21.0/gitweb'

This is because the default "install" tool on SunOS doesn't follow the convention we require. Use the /usr/ucb/install command specified in config.mak.uname instead to fix it.

This should also help on other platforms where the default "install" command is not functional enough.

Reported-by: Jeffrey Walton <noloader@gmail.com>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
---
Completely untested.  Junio, please don't apply this without Jeffrey's
tested-by.

Thanks, Jonathan

 gitweb/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gitweb/Makefile b/gitweb/Makefile
index cd194d057f..333aa58be0 100644
--- a/gitweb/Makefile
+++ b/gitweb/Makefile
@@ -39,7 +39,7 @@ GITWEB_SITE_HEADER =
 GITWEB_SITE_FOOTER =
 HIGHLIGHT_BIN = highlight
 
-# include user config
+include ../config.mak.uname
 -include ../config.mak.autogen
 -include ../config.mak
 -include config.mak
-- 
2.21.0.1020.gf2820cf01a
Jeffrey Walton· May 1, 2019, 22:55 UTC · re: Jonathan Nieder · lore

Re: install: gitweb.cgi was not found anywhere

On Wed, May 1, 2019 at 6:30 PM Jonathan Nieder <jrnieder@gmail.com> wrote:
Show 30 quoted lines
> ...
> > install -m 755 gitweb.cgi '/usr/local/share/gitweb'
> > find: cycle detected for /lib/secure/32/
> [...]
> > install: gitweb.cgi was not found anywhere!
>
> Sounds like it's using "install" when it should be using "ginstall".
> config.mak.uname contains, under the SunOS category:
>
>         INSTALL = /usr/ucb/install
>
> But gitweb/Makefile seems to forget to include ../config.mak.uname.
> How about this patch?
> ...
>  gitweb/Makefile | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/gitweb/Makefile b/gitweb/Makefile
> index cd194d057f..333aa58be0 100644
> --- a/gitweb/Makefile
> +++ b/gitweb/Makefile
> @@ -39,7 +39,7 @@ GITWEB_SITE_HEADER =
>  GITWEB_SITE_FOOTER =
>  HIGHLIGHT_BIN = highlight
>
> -# include user config
> +include ../config.mak.uname
>  -include ../config.mak.autogen
>  -include ../config.mak
>  -include config.mak
No joy; same error.

Is there an option to build and install only client tools? If so, I am happy to use it as I don't need server tools.

Do you want an account on the box? I need an authorized_keys file.
Jeff
Jeffrey Walton· May 2, 2019, 18:35 UTC · re: Jonathan Nieder · lore

Re: install: gitweb.cgi was not found anywhere

On Wed, May 1, 2019 at 6:30 PM Jonathan Nieder <jrnieder@gmail.com> wrote:
Show 25 quoted lines
>
> Jeffrey Walton wrote:
>
> > I'm attempting to install Git 2.21.0 on Solaris 11.3 x86_64.
> > /usr/gnu/bin is on-path.
> [...]
> > gmake -C gitweb install
> > gmake[1]: Entering directory `/export/home/build/git-2.21.0/gitw
> > eb'
> > gmake[2]: Entering directory `/export/home/build/git-2.21.0'
> > gmake[2]: `GIT-VERSION-FILE' is up to date.
> > gmake[2]: Leaving directory `/export/home/build/git-2.21.0'
> >     GEN gitweb.cgi
> >     GEN static/gitweb.js
> > install -d -m 755 '/usr/local/share/gitweb'
> > directory /usr/local/share/gitweb created
> > install -m 755 gitweb.cgi '/usr/local/share/gitweb'
> > find: cycle detected for /lib/secure/32/
> [...]
> > install: gitweb.cgi was not found anywhere!
>
> Sounds like it's using "install" when it should be using "ginstall".
> config.mak.uname contains, under the SunOS category:
>
>         INSTALL = /usr/ucb/install
Thanks again Jonathan.
/usr/ucb/install no longer exists in Solaris 11.3 i86pc:
    solaris3:~$ ls -Al /usr/ucb/install
    /usr/ucb/install: No such file or directory
    solaris3:~$ uname -a
    SunOS solaris3. 5.11 11.3 i86pc i386 i86pc
The config files need to be patched:
# Solaris 11.3 no longer has /usr/ucb/install
for file in $(find "$PWD" -name 'config*')
do
    if [[ ! -f "$file" ]]
    then
        continue
    fi
    sed -e 's|/usr/ucb/install|install|g' "$file" > "$file.fixed"
    mv "$file.fixed" "$file"
    chmod +x "$file"
    touch -t 197001010000 "$file"
done
But I think I tracked it down to sane tool path. originally I was using:
    SANE_TOOL_PATH="..." \
    ./configure ...
When I changed it to:
    ./configure ... \
    --sane-tool-path="..."
most of the errors went away.

I also removed a bunch of old patches and hacks that don't seem to be needed for Git 2.21.0. Between both of them I am building Git on Solaris again.

Related to /usr/ucb, also see https://blogs.oracle.com/solaris/preparing-for-the-upcoming-removal-of-ucb-utilities-from-the-next-version-of-solaris-v2 .

Thanks again.
Jeff
Jonathan Nieder· May 3, 2019, 20:56 UTC · re: Jeffrey Walton · lore

Re: install: gitweb.cgi was not found anywhere

Jeffrey Walton wrote:
> On Wed, May 1, 2019 at 6:30 PM Jonathan Nieder <jrnieder@gmail.com> wrote:
Show 15 quoted lines
>> Sounds like it's using "install" when it should be using "ginstall".
>> config.mak.uname contains, under the SunOS category:
>>
>>         INSTALL = /usr/ucb/install
>
> Thanks again Jonathan.
>
> /usr/ucb/install no longer exists in Solaris 11.3 i86pc:
>
>     solaris3:~$ ls -Al /usr/ucb/install
>     /usr/ucb/install: No such file or directory
>     solaris3:~$ uname -a
>     SunOS solaris3. 5.11 11.3 i86pc i386 i86pc
>
> The config files need to be patched:
[...]
> Related to /usr/ucb, also see
> https://blogs.oracle.com/solaris/preparing-for-the-upcoming-removal-of-ucb-utilities-from-the-next-version-of-solaris-v2
Hm.  How about this, in combination with the previous one?
If it looks good, I can send it out as a series for real.
[...]
> I also removed a bunch of old patches and hacks that don't seem to be
> needed for Git 2.21.0. Between both of them I am building Git on
> Solaris again.

To be clear, does that mean you are using unpatched source now, or that you still needed some patches? In the latter case, can you point me to them so we can get something sufficient upstream?

Thanks, Jonathan

diff --git i/config.mak.uname w/config.mak.uname
index d916d1dc7a..41ad90c76a 100644
--- i/config.mak.uname
+++ w/config.mak.uname
@@ -162,7 +162,7 @@ ifeq ($(uname_S),SunOS)
 		NO_STRTOUMAX = YesPlease
 		GIT_TEST_CMP = cmp
 	endif
-	INSTALL = /usr/ucb/install
+	INSTALL = ginstall
 	TAR = gtar
 	BASIC_CFLAGS += -D__EXTENSIONS__ -D__sun__
 endif

← back to recent threads