aMule Forum

English => Compilation problems => Topic started by: Stu Redman on March 25, 2008, 02:20:16 AM

Title: Why is there install man during make ?
Post by: Stu Redman on March 25, 2008, 02:20:16 AM
Hi,

I noticed that during an ordinary make there is executed a "make install" in man. This causes a failure when building with MingW under Vista, because install may not be executed without admin permissions. Also, isn't this wrong in the first place ?

Code: [Select]
$ make
make  all-recursive
make[1]: Entering directory `/home/Martin/amulesvn'
Making all in docs
make[2]: Entering directory `/home/Martin/amulesvn/docs'
Making all in man
make[3]: Entering directory `/home/Martin/amulesvn/docs/man'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/Martin/amulesvn/docs/man'
make[3]: Entering directory `/home/Martin/amulesvn/docs'
Making install in man
make[4]: Entering directory `/home/Martin/amulesvn/docs/man'
make[5]: Entering directory `/home/Martin/amulesvn/docs/man'
make[5]: Nothing to be done for `install-exec-am'.
make  install-data-hook
make[6]: Entering directory `/home/Martin/amulesvn/docs/man'
 /bin/sh ../../mkinstalldirs /home/Martin/amulebin/man/man1
 /mingw/bin/install -c -m 644 ./amulegui.1 /home/Martin/amulebin/man/man1/amulegui.1
/bin/sh: /mingw/bin/install: Permission denied
 /bin/sh ../../mkinstalldirs /home/Martin/amulebin/man/de/man1
 /mingw/bin/install -c -m 644 ./amulegui.de.1 /home/Martin/amulebin/man/de/man1/amulegui.1
/bin/sh: /mingw/bin/install: Permission denied
 /bin/sh ../../mkinstalldirs /home/Martin/amulebin/man/man1
 /mingw/bin/install -c -m 644 ./amule.1 /home/Martin/amulebin/man/man1/amule.1
/bin/sh: /mingw/bin/install: Permission denied
 /bin/sh ../../mkinstalldirs /home/Martin/amulebin/man/de/man1
 /mingw/bin/install -c -m 644 ./amule.de.1 /home/Martin/amulebin/man/de/man1/amule.1
/bin/sh: /mingw/bin/install: Permission denied
 /bin/sh ../../mkinstalldirs /home/Martin/amulebin/man/es/man1
 /mingw/bin/install -c -m 644 ./amule.es.1 /home/Martin/amulebin/man/es/man1/amule.1
/bin/sh: /mingw/bin/install: Permission denied
 /bin/sh ../../mkinstalldirs /home/Martin/amulebin/man/eu/man1
 /mingw/bin/install -c -m 644 ./amule.eu.1 /home/Martin/amulebin/man/eu/man1/amule.1
/bin/sh: /mingw/bin/install: Permission denied
 /bin/sh ../../mkinstalldirs /home/Martin/amulebin/man/fr/man1
 /mingw/bin/install -c -m 644 ./amule.fr.1 /home/Martin/amulebin/man/fr/man1/amule.1
/bin/sh: /mingw/bin/install: Permission denied
 /bin/sh ../../mkinstalldirs /home/Martin/amulebin/man/hu/man1
 /mingw/bin/install -c -m 644 ./amule.hu.1 /home/Martin/amulebin/man/hu/man1/amule.1
/bin/sh: /mingw/bin/install: Permission denied
 /bin/sh ../../mkinstalldirs /home/Martin/amulebin/man/man1
 /mingw/bin/install -c -m 644 ./ed2k.1 /home/Martin/amulebin/man/man1/ed2k.1
/bin/sh: /mingw/bin/install: Permission denied
 /bin/sh ../../mkinstalldirs /home/Martin/amulebin/man/de/man1
 /mingw/bin/install -c -m 644 ./ed2k.de.1 /home/Martin/amulebin/man/de/man1/ed2k.1
/bin/sh: /mingw/bin/install: Permission denied
 /bin/sh ../../mkinstalldirs /home/Martin/amulebin/man/es/man1
 /mingw/bin/install -c -m 644 ./ed2k.es.1 /home/Martin/amulebin/man/es/man1/ed2k.1
/bin/sh: /mingw/bin/install: Permission denied
 /bin/sh ../../mkinstalldirs /home/Martin/amulebin/man/eu/man1
 /mingw/bin/install -c -m 644 ./ed2k.eu.1 /home/Martin/amulebin/man/eu/man1/ed2k.1
/bin/sh: /mingw/bin/install: Permission denied
 /bin/sh ../../mkinstalldirs /home/Martin/amulebin/man/fr/man1
 /mingw/bin/install -c -m 644 ./ed2k.fr.1 /home/Martin/amulebin/man/fr/man1/ed2k.1
/bin/sh: /mingw/bin/install: Permission denied
 /bin/sh ../../mkinstalldirs /home/Martin/amulebin/man/hu/man1
 /mingw/bin/install -c -m 644 ./ed2k.hu.1 /home/Martin/amulebin/man/hu/man1/ed2k.1
/bin/sh: /mingw/bin/install: Permission denied
make[6]: *** [install-data-hook] Error 126
make[6]: Leaving directory `/home/Martin/amulesvn/docs/man'
make[5]: *** [install-data-am] Error 2
make[5]: Leaving directory `/home/Martin/amulesvn/docs/man'
make[4]: *** [install-am] Error 2
make[4]: Leaving directory `/home/Martin/amulesvn/docs/man'
make[3]: *** [install-recursive] Error 1
make[3]: Leaving directory `/home/Martin/amulesvn/docs'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/Martin/amulesvn/docs'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/Martin/amulesvn'
make: *** [all] Error 2
Title: Re: Why is there install man during make ?
Post by: GonoszTopi on March 25, 2008, 11:11:38 AM
This should not happen and does not happen here (MinGW, XP). Strange.
Title: Re: Why is there install man during make ?
Post by: Stu Redman on March 25, 2008, 12:17:17 PM
What further information can I provide ?
I've set it up from a clean checkout with autogen.sh, which ran with no problem.
There is a second (probably related) problem. make install (called as admin) runs into an infinite recursion in the man directory.
Title: Re: Why is there install man during make ?
Post by: GonoszTopi on March 25, 2008, 08:16:47 PM
sturedman, can you please send me (by PM) the Makefile.in and Makefile files from your docs and docs/man directories?
Title: Re: Why is there install man during make ?
Post by: Stu Redman on March 25, 2008, 11:34:08 PM
Here it is (attaching to pm didn't work, mail neither).
Title: Re: Why is there install man during make ?
Post by: GonoszTopi on March 27, 2008, 12:04:07 AM
The Makefiles seem perfectly ok to me, they work here. What version of make are you using? Try running make -d to find out what triggers the install rule. (Be warned: this will produce lots of information.)
Title: Re: Why is there install man during make ?
Post by: Stu Redman on March 27, 2008, 12:21:18 AM
It's GNU Make 3.81.

Here's the -d log.

Ah, there is a file named 'INSTALL'. That's probably what is triggering it. Make is switching everything to lowercase for this platform.
Code: [Select]
dist_doc_DATA = \
ABOUT-NLS \
amulesig.txt \
amule-win32.HOWTO.txt \
Changelog \
ED2K-Links.HOWTO \
INSTALL \
license.txt \
README \
TODO \
EC_Protocol.txt \
socks4.protocol

Code: [Select]
  Considering target file `ED2K-Links.HOWTO'.
   Looking for an implicit rule for `ED2K-Links.HOWTO'.
   Trying pattern rule with stem `ED2K-Links.HOWTO'.
   Trying implicit prerequisite `ED2K-Links.HOWTO,v'.
   Trying pattern rule with stem `ED2K-Links.HOWTO'.
   Trying implicit prerequisite `RCS/ED2K-Links.HOWTO,v'.
   Trying pattern rule with stem `ED2K-Links.HOWTO'.
   Trying implicit prerequisite `RCS/ED2K-Links.HOWTO'.
   Trying pattern rule with stem `ED2K-Links.HOWTO'.
   Trying implicit prerequisite `s.ED2K-Links.HOWTO'.
   Trying pattern rule with stem `ED2K-Links.HOWTO'.
   Trying implicit prerequisite `SCCS/s.ED2K-Links.HOWTO'.
   No implicit rule found for `ED2K-Links.HOWTO'.
   Finished prerequisites of target file `ED2K-Links.HOWTO'.
  No need to remake target `ED2K-Links.HOWTO'.
  Considering target file `install'.
   File `install' does not exist.
    Considering target file `install-recursive'.
     File `install-recursive' does not exist.
     Finished prerequisites of target file `install-recursive'.
    Must remake target `install-recursive'.
make[3]: Entering directory `/home/Martin/amulesvn/docs'
Putting child 0x0a026ed8 (install-recursive) PID 5664 on the chain.
Live child 0x0a026ed8 (install-recursive) PID 5664
Making install in man
GNU Make 3.81
Title: Re: Why is there install man during make ?
Post by: GonoszTopi on March 27, 2008, 12:58:05 AM
Strange, but not unexpected from MSW. I don't really know what we can do about it.
Title: Re: Why is there install man during make ?
Post by: Stu Redman on March 27, 2008, 01:09:48 AM
How about renaming 'INSTALL' to 'INSTALL.txt' ? That should fix it.  ;)