* CPV: app-emacs/gnuserv-programs-3.12.8 * REPO: gentoo_prefix * USE: X elibc_glibc kernel_linux prefix userland_GNU x86 >>> Unpacking source... >>> Unpacking gnuserv-3.12.8.tar.gz to /usr/prefix/var/tmp/portage/app-emacs/gnuserv-programs-3.12.8/work >>> Source unpacked in /usr/prefix/var/tmp/portage/app-emacs/gnuserv-programs-3.12.8/work >>> Compiling source in /usr/prefix/var/tmp/portage/app-emacs/gnuserv-programs-3.12.8/work/gnuserv-3.12.8 ... ./configure --prefix=/usr/prefix/usr --build=i686-pc-linux-gnu --host=i686-pc-linux-gnu --mandir=/usr/prefix/usr/share/man --infodir=/usr/prefix/usr/share/info --datadir=/usr/prefix/usr/share --sysconfdir=/usr/prefix/etc --localstatedir=/usr/prefix/var/lib --enable-xauth --x-includes=/usr/include --x-libraries=/usr/lib checking for i686-pc-linux-gnu-gcc... i686-pc-linux-gnu-gcc checking for C compiler default output file name... a.out checking whether the C compiler works... yes checking whether we are cross compiling... no checking for suffix of executables... checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether i686-pc-linux-gnu-gcc accepts -g... yes checking for i686-pc-linux-gnu-gcc option to accept ISO C89... none needed checking for a BSD-compatible install... /usr/prefix/usr/bin/install -c checking for an ANSI C-conforming const... yes checking whether sys_siglist is declared... yes checking how to run the C preprocessor... i686-pc-linux-gnu-gcc -E checking for grep that handles long lines and -e... /usr/prefix/bin/grep checking for egrep... /usr/prefix/bin/grep -E checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking for string.h... (cached) yes checking for unistd.h... (cached) yes checking for sys/types.h... (cached) yes checking sys/select.h usability... yes checking sys/select.h presence... yes checking for sys/select.h... yes checking sys/socket.h usability... yes checking sys/socket.h presence... yes checking for sys/socket.h... yes checking sys/time.h usability... yes checking sys/time.h presence... yes checking for sys/time.h... yes checking libintl.h usability... yes checking libintl.h presence... yes checking for libintl.h... yes checking sys/un.h usability... yes checking sys/un.h presence... yes checking for sys/un.h... yes checking sgtty.h usability... yes checking sgtty.h presence... yes checking for sgtty.h... yes checking bsd/sgtty.h usability... no checking bsd/sgtty.h presence... no checking for bsd/sgtty.h... no checking for socklen_t... yes checking for long... yes checking size of long... 4 checking for X... libraries /usr/lib, headers /usr/include checking X11/Xauth.h usability... yes checking X11/Xauth.h presence... yes checking for X11/Xauth.h... yes checking for XauGetAuthByAddr in -lXau... yes checking for socket in -lsocket... no checking for inet_ntoa in -lnsl... yes checking for gettext in -lintl... no checking for getcwd... yes checking for memcmp... yes checking for strerror... yes checking for internet-domain sockets... yes checking "for sun_len member in struct sockaddr_un"... no checking for unix-domain sockets... yes checking for msgget... yes checking for GNU libc... yes configure: creating ./config.status config.status: creating Makefile config.status: creating config.h make ELC= i686-pc-linux-gnu-gcc -c -I. -I. -DHAVE_CONFIG_H -I/usr/prefix/usr/include -I/usr/include -mtune=generic -march=i686 -O6 -g0 -pipe gnuserv.c i686-pc-linux-gnu-gcc -c -I. -I. -DHAVE_CONFIG_H -I/usr/prefix/usr/include -I/usr/include -mtune=generic -march=i686 -O6 -g0 -pipe getopt.c i686-pc-linux-gnu-gcc -c -I. -I. -DHAVE_CONFIG_H -I/usr/prefix/usr/include -I/usr/include -mtune=generic -march=i686 -O6 -g0 -pipe gnuslib.c gnuslib.c: In function 'connect_to_internet_server': gnuslib.c:377: warning: ignoring return value of 'write', declared with attribute warn_unused_result gnuslib.c:378: warning: ignoring return value of 'write', declared with attribute warn_unused_result gnuslib.c:386: warning: ignoring return value of 'write', declared with attribute warn_unused_result i686-pc-linux-gnu-gcc -I/usr/prefix/usr/include -I/usr/include -mtune=generic -march=i686 -O6 -g0 -pipe -o gnuserv gnuserv.o gnuslib.o -lnsl -L/usr/lib -lXau i686-pc-linux-gnu-gcc -c -I. -I. -DHAVE_CONFIG_H -I/usr/prefix/usr/include -I/usr/include -mtune=generic -march=i686 -O6 -g0 -pipe gnuclient.c i686-pc-linux-gnu-gcc -I/usr/prefix/usr/include -I/usr/include -mtune=generic -march=i686 -O6 -g0 -pipe -o gnuclient gnuclient.o gnuslib.o getopt.o -lnsl -L/usr/lib -lXau >>> Source compiled. >>> Test phase [not enabled]: app-emacs/gnuserv-programs-3.12.8 >>> Install gnuserv-programs-3.12.8 into /usr/prefix/var/tmp/portage/app-emacs/gnuserv-programs-3.12.8/image/usr/prefix/ category app-emacs make -j1 ELC= prefix=/usr/prefix/var/tmp/portage/app-emacs/gnuserv-programs-3.12.8/image//usr man1dir=/usr/prefix/var/tmp/portage/app-emacs/gnuserv-programs-3.12.8/image//usr/share/man/man1 install/usr/prefix/bin/bash ./mkinstalldirs /usr/prefix/var/tmp/portage/app-emacs/gnuserv-programs-3.12.8/image//usr/bin /usr/prefix/var/tmp/portage/app-emacs/gnuserv-programs-3.12.8/image//usr/share /usr/prefix/var/tmp/portage/app-emacs/gnuserv-programs-3 .12.8/image//usr/share/man/man1 mkdir /usr/prefix/var/tmp/portage/app-emacs/gnuserv-programs-3.12.8/image/usr mkdir /usr/prefix/var/tmp/portage/app-emacs/gnuserv-programs-3.12.8/image/usr/bin mkdir /usr/prefix/var/tmp/portage/app-emacs/gnuserv-programs-3.12.8/image/usr/share mkdir /usr/prefix/var/tmp/portage/app-emacs/gnuserv-programs-3.12.8/image/usr/share/man mkdir /usr/prefix/var/tmp/portage/app-emacs/gnuserv-programs-3.12.8/image/usr/share/man/man1 /usr/prefix/usr/bin/install -c gnuserv /usr/prefix/var/tmp/portage/app-emacs/gnuserv-programs-3.12.8/image//usr/bin/gnuserv /usr/prefix/usr/bin/install -c gnuclient /usr/prefix/var/tmp/portage/app-emacs/gnuserv-programs-3.12.8/image//usr/bin/gnuclient /usr/prefix/usr/bin/install -c gnuattach /usr/prefix/var/tmp/portage/app-emacs/gnuserv-programs-3.12.8/image//usr/bin/gnuattach /usr/prefix/usr/bin/install -c gnudoit /usr/prefix/var/tmp/portage/app-emacs/gnuserv-programs-3.12.8/image//usr/bin/gnudoit /usr/prefix/usr/bin/install -c -m 644 ./gnuserv.1 /usr/prefix/var/tmp/portage/app-emacs/gnuserv-programs-3.12.8/image//usr/share/man/man1/gnuserv.1 ln -s /usr/prefix/var/tmp/portage/app-emacs/gnuserv-programs-3.12.8/image//usr/share/man/man1/gnuserv.1 /usr/prefix/var/tmp/portage/app-emacs/gnuserv-programs-3.12.8/image//usr/share/man/man1/gnuclient.1 ln -s /usr/prefix/var/tmp/portage/app-emacs/gnuserv-programs-3.12.8/image//usr/share/man/man1/gnuserv.1 /usr/prefix/var/tmp/portage/app-emacs/gnuserv-programs-3.12.8/image//usr/share/man/man1/gnuattach.1 ln -s /usr/prefix/var/tmp/portage/app-emacs/gnuserv-programs-3.12.8/image//usr/share/man/man1/gnuserv.1 /usr/prefix/var/tmp/portage/app-emacs/gnuserv-programs-3.12.8/image//usr/share/man/man1/gnudoit.1 >>> Completed installing gnuserv-programs-3.12.8 into /usr/prefix/var/tmp/portage/app-emacs/gnuserv-programs-3.12.8/image/usr/prefix/ find: `/usr/prefix/var/tmp/portage/app-emacs/gnuserv-programs-3.12.8/image/usr/prefix/': No such file or directory * QA Notice: the following files are outside of the prefix: * /usr/bin * /usr/bin/gnuattach * /usr/bin/gnuserv * /usr/bin/gnudoit * /usr/bin/gnuclient * /usr/share * /usr/share/man * /usr/share/man/man1 * /usr/share/man/man1/gnudoit.1 * /usr/share/man/man1/gnuclient.1 * /usr/share/man/man1/gnuattach.1 * /usr/share/man/man1/gnuserv.1 * ERROR: app-emacs/gnuserv-programs-3.12.8 failed: * Aborting due to QA concerns: there are files installed outside the prefix * * Call stack: * misc-functions.sh, line 1487: Called install_qa_check * misc-functions.sh, line 94: Called install_qa_check_prefix * misc-functions.sh, line 596: Called die * The specific snippet of code: * die "Aborting due to QA concerns: there are files installed outside the prefix" * * If you need support, post the output of 'emerge --info =app-emacs/gnuserv-programs-3.12.8', * the complete build log and the output of 'emerge -pqv =app-emacs/gnuserv-programs-3.12.8'. * The complete build log is located at '/usr/prefix/var/tmp/portage/app-emacs/gnuserv-programs-3.12.8/temp/build.log'. * The ebuild environment file is located at '/usr/prefix/var/tmp/portage/app-emacs/gnuserv-programs-3.12.8/temp/environment'. * S: '/usr/prefix/var/tmp/portage/app-emacs/gnuserv-programs-3.12.8/work/gnuserv-3.12.8' Reproducible: Always Steps to Reproduce: emerge gnuserv-programs Actual Results: See above. Expected Results: No QA warning. N/A
Not surprising, the configure call is wrong. This package needs porting. Can you try modifying the ebuild like this? Index: gnuserv-programs-3.12.8.ebuild =================================================================== RCS file: /var/cvsroot/gentoo-x86/app-emacs/gnuserv-programs/gnuserv-programs-3.12.8.ebuild,v retrieving revision 1.3 diff -u -r1.3 gnuserv-programs-3.12.8.ebuild --- gnuserv-programs-3.12.8.ebuild 19 Jul 2009 17:27:32 -0000 1.3 +++ gnuserv-programs-3.12.8.ebuild 29 Apr 2010 11:07:56 -0000 @@ -26,14 +26,14 @@ unset LDFLAGS econf $(use_enable X xauth) \ - --x-includes=/usr/include \ - --x-libraries=/usr/$(get_libdir) || die "econf failed" + --x-includes="${EPREFIX}"/usr/include \ + --x-libraries="${EPREFIX}"/usr/$(get_libdir) || die "econf failed" emake ELC="" || die "emake failed" } src_install() { emake -j1 ELC="" \ - prefix="${D}"/usr \ - man1dir="${D}"/usr/share/man/man1 \ + prefix="${ED}"/usr \ + man1dir="${ED}"/usr/share/man/man1 \ install || die "emake install failed" }
It sounds like the proposed fix would fix the problem. Another (app-emacs) package failed in the same way, but I forgot which one. Looking through the app-emacs ebuilds, it seems that many other packages are using ${D} instead of ${ED}. But that's only from a quick glance.
(In reply to comment #2) > Another (app-emacs) package failed in the same way, but I forgot which one. > Looking through the app-emacs ebuilds, it seems that many other packages are > using ${D} instead of ${ED}. But that's only from a quick glance. That is because you are using packages that have not been tested. In your case* you are accepting the "x86" keyword when you should *only* be accepting the x86-linux keyword, unless you are prepared to fix packages. Note: Just because a package is in the tree, doesn't mean it has been tested/fixed/etc. %% epkginfo gnuserv-programs <snip> Keywords: 3.12.8:0: amd64 x86 ~ppc * I have not seen your emerge --info or package.keywords file so this is my best guess.
@emacs: I need an EAPI bump to 3 for this ebuild, for which the src_compile function obviously has to be split in two. Are you OK with this change, and can we apply it to a -r1, or in place?
(In reply to comment #4) > @emacs: I need an EAPI bump to 3 for this ebuild, for which the src_compile > function obviously has to be split in two. > > Are you OK with this change, and can we apply it to a -r1, or in place? Is this the patch from comment #1, plus src_configure/compile split? If yes, go ahead (but please revbump to -r1). And while you're at it, you can drop the "|| die" from econf, too.
thanks, committed.