Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 261609 - dev-perl/POE fails to install properly
Summary: dev-perl/POE fails to install properly
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Unspecified (show other bugs)
Hardware: AMD64 Linux
: High major (vote)
Assignee: Gentoo Perl team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-03-07 19:30 UTC by Dan Reidy
Modified: 2009-03-07 19:58 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
(snipped) paludis --info (paludis-info.txt,9.87 KB, text/plain)
2009-03-07 19:31 UTC, Dan Reidy
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Dan Reidy 2009-03-07 19:30:04 UTC
Installing dev-perl/POE (tested several versions from portage) completes successfully while not actually installing anything except it's docs.

This has been tested with perl-5.10 and perl-5.8.8 with both emerge and paludis on different system with the same result.

Reproducible: Always

Steps to Reproduce:
1. emerge --sync (or paludis --sync)
2. emerge POE (paludis -i dev-perl/POE)
3. perl -MPOE -e 'print 1;' #to test if module was installed

Actual Results:  
output from paludis while installing:
(1 of 1) Installing dev-perl/POE-1.003:0::gentoo

Checking 'POE-1.003.tar.gz'... ok
>>> Running ebuild phase killold as root:root...
>>> Starting builtin_killold
>>> Done builtin_killold
>>> Completed ebuild phase killold
>>> Running ebuild phases init saveenv as paludisbuild:paludisbuild...
>>> Starting builtin_init
>>> Done builtin_init
>>> Starting builtin_saveenv
>>> Done builtin_saveenv
>>> Completed ebuild phases init saveenv
>>> Running ebuild phases loadenv setup saveenv as root:root...
>>> Starting builtin_loadenv
>>> Done builtin_loadenv
>>> Starting pkg_setup
>>> Done pkg_setup
>>> Starting builtin_saveenv
>>> Done builtin_saveenv
>>> Completed ebuild phases loadenv setup saveenv
>>> Running ebuild phases loadenv unpack saveenv as paludisbuild:paludisbuild...
>>> Starting builtin_loadenv
>>> Done builtin_loadenv
>>> Starting src_unpack
>>> Unpacking POE-1.003.tar.gz to /tmp/paludis/dev-perl-POE-1.003/work
tar zxf /var/ports/distfiles/POE-1.003.tar.gz --no-same-owner
>>> Done src_unpack
>>> Starting builtin_saveenv
>>> Done builtin_saveenv
>>> Completed ebuild phases loadenv unpack saveenv
>>> Running ebuild phases loadenv compile saveenv as paludisbuild:paludisbuild...
>>> Starting builtin_loadenv
>>> Done builtin_loadenv
>>> Starting src_compile
 * Using ExtUtils::MakeMaker

=============================================

STDIN is not a terminal.  Assuming --default.

=============================================

*** Some required features may not be available:
***   POE::Test::Loops 1.002 could not be loaded.
*** Some optional features may not be available:
***   Curses 1.08 could not be loaded.
***   Gtk 0.7009 could not be loaded.
***   Tk 800.027 could not be loaded.
Warning: prerequisite POE::Test::Loops 1.002 not found.
Some of POE's tests require a functional network.
You can skip these tests if you'd like.

Would you like to skip the network tests? [n] n


Checking if your kit is complete...
Looks good
Writing Makefile for POE
make -j1 OTHERLDFLAGS=-Wl,-O1 -Wl,-O1 -Wl,--as-needed -Wl,--hash-style=gnu /usr
make: Nothing to be done for `/usr'.
>>> Done src_compile
>>> Starting builtin_saveenv
>>> Done builtin_saveenv
>>> Completed ebuild phases loadenv compile saveenv
>>> Running ebuild phases loadenv install saveenv as root:root...
>>> Starting builtin_loadenv
>>> Done builtin_loadenv
>>> Starting src_install
make -j1 pure_install
>>> Done src_install
 * Compressing doc files.
 * Compressing man and info files
>>> Starting builtin_saveenv
>>> Done builtin_saveenv
>>> Completed ebuild phases loadenv install saveenv
>>> Stripping inside /tmp/paludis/dev-perl-POE-1.003/image
>>> Running ebuild phases loadenv preinst saveenv as root:root...
>>> Starting builtin_loadenv
>>> Done builtin_loadenv
>>> Starting pkg_preinst
>>> Done pkg_preinst
>>> Starting builtin_saveenv
>>> Done builtin_saveenv
>>> Completed ebuild phases loadenv preinst saveenv
>>> Writing VDB entry to '/var/db/pkg/dev-perl/-checking-POE-1.003'...
>>> Writing VDB entry keys ...
>>> Generating saved ebuild and environment...
>>> Finished writing VDB entry
>>> Checking whether we can merge to / ../usr/bin/paludis@1236453961: [WARNING e.vdb_merger.warning] In thread ID '9246':
  ... In program /usr/bin/paludis (--log-level warning --show-reasons summary --dl-reinstall-scm never --dl-reinstall if-use-changed --continue-on-failure if-satisfied --resume-command-template /root/paludis-resume.sh) -i --dl-deps-default discard dev-perl/POE:
  ... When performing install action from command line:
  ... When executing install task:
  ... When installing 'dev-perl/POE-1.003:0::gentoo' replacing { 'dev-perl/POE-1.003:0::installed' }:
  ... When merging 'dev-perl/POE-1.003:0::gentoo' at '/tmp/paludis/dev-perl-POE-1.003/image' to VDB repository 'installed':
  ... When checking merge from '/tmp/paludis/dev-perl-POE-1.003/image' to '/':
  ... When checking merge from '/tmp/paludis/dev-perl-POE-1.003/image' to '/':
  ... When checking merge from '/tmp/paludis/dev-perl-POE-1.003/image/usr' to '/usr':
  ... When handling dir '/tmp/paludis/dev-perl-POE-1.003/image/usr/lib' to '/usr':
  ... Expected '/usr/lib' to be a directory but found a symlink to a directory
..../usr/bin/paludis@1236453961: [WARNING merger.empty_directory] In thread ID '9246':
  ... In program /usr/bin/paludis (--log-level warning --show-reasons summary --dl-reinstall-scm never --dl-reinstall if-use-changed --continue-on-failure if-satisfied --resume-command-template /root/paludis-resume.sh) -i --dl-deps-default discard dev-perl/POE:
  ... When performing install action from command line:
  ... When executing install task:
  ... When installing 'dev-perl/POE-1.003:0::gentoo' replacing { 'dev-perl/POE-1.003:0::installed' }:
  ... When merging 'dev-perl/POE-1.003:0::gentoo' at '/tmp/paludis/dev-perl-POE-1.003/image' to VDB repository 'installed':
  ... When checking merge from '/tmp/paludis/dev-perl-POE-1.003/image' to '/':
  ... When checking merge from '/tmp/paludis/dev-perl-POE-1.003/image' to '/':
  ... When checking merge from '/tmp/paludis/dev-perl-POE-1.003/image/usr' to '/usr':
  ... When checking merge from '/tmp/paludis/dev-perl-POE-1.003/image/usr/lib' to '/usr/lib':
  ... When checking merge from '/tmp/paludis/dev-perl-POE-1.003/image/usr/lib/perl5' to '/usr/lib/perl5':
  ... When checking merge from '/tmp/paludis/dev-perl-POE-1.003/image/usr/lib/perl5/vendor_perl' to '/usr/lib/perl5/vendor_perl':
  ... When checking merge from '/tmp/paludis/dev-perl-POE-1.003/image/usr/lib/perl5/vendor_perl/5.10.0' to '/usr/lib/perl5/vendor_perl/5.10.0':
  ... Installing empty directory '/usr/lib/perl5/vendor_perl/5.10.0'
collision-protect>  * Checking for collisions...
collision-protect>  * Hooray!  No collisions
...
>>> Merging to /
=>> [dir] /usr
=>> [dir] /usr/lib
=>> [dir] /usr/lib64/perl5
=>> [dir] /usr/lib64/perl5/vendor_perl
=>> [dir] /usr/lib64/perl5/vendor_perl/5.10.0
=>> [dir] /usr/share
=>> [dir] /usr/share/doc
=>> [dir] /usr/share/doc/POE-1.003
<>> [obj] /usr/share/doc/POE-1.003/README.bz2
<>> [obj] /usr/share/doc/POE-1.003/CHANGES.bz2

(1 of 1) Cleaning dev-perl/POE-1.003:0::installed

>>> Running ebuild phase killold as root:root...
bunzip2 < /var/db/pkg/dev-perl/-reinstalling-POE-1.003/environment.bz2 > /var/tmp/paludis/environment-dev-perl-POE-1.003-11443
ebuild_scrub_environment /var/tmp/paludis/environment-dev-perl-POE-1.003-11443
ebuild_safe_source /var/tmp/paludis/environment-dev-perl-POE-1.003-11443
rm /var/tmp/paludis/environment-dev-perl-POE-1.003-11443
>>> Starting builtin_killold
>>> Done builtin_killold
>>> Completed ebuild phase killold
>>> Running ebuild phases initmisc prerm saveenv as root:root...
bunzip2 < /var/db/pkg/dev-perl/-reinstalling-POE-1.003/environment.bz2 > /var/tmp/paludis/environment-dev-perl-POE-1.003-11495
ebuild_scrub_environment /var/tmp/paludis/environment-dev-perl-POE-1.003-11495
ebuild_safe_source /var/tmp/paludis/environment-dev-perl-POE-1.003-11495
rm /var/tmp/paludis/environment-dev-perl-POE-1.003-11495
>>> Starting builtin_initmisc
>>> Done builtin_initmisc
>>> Starting pkg_prerm
>>> Done pkg_prerm
>>> Starting builtin_saveenv
>>> Done builtin_saveenv
>>> Completed ebuild phases initmisc prerm saveenv
undo-prelink>  * Checking for prelinked binaries...
--- [!time] /usr/share/doc/POE-1.003/README.bz2
--- [!time] /usr/share/doc/POE-1.003/CHANGES.bz2
--- [!empt] /usr/share/doc/POE-1.003
--- [!empt] /usr/share/doc
--- [!empt] /usr/share
--- [!empt] /usr/lib64/perl5/vendor_perl/5.10.0
--- [!empt] /usr/lib64/perl5/vendor_perl
--- [!empt] /usr/lib64/perl5
--- [!type] /usr/lib
--- [!empt] /usr
>>> Running ebuild phases loadenv postrm tidyup as root:root...
bunzip2 < /var/db/pkg/dev-perl/-reinstalling-POE-1.003/environment.bz2 > /var/tmp/paludis/environment-dev-perl-POE-1.003-11593
ebuild_scrub_environment /var/tmp/paludis/environment-dev-perl-POE-1.003-11593
ebuild_safe_source /var/tmp/paludis/environment-dev-perl-POE-1.003-11593
rm /var/tmp/paludis/environment-dev-perl-POE-1.003-11593
>>> Starting builtin_loadenv
>>> Done builtin_loadenv
>>> Starting pkg_postrm
>>> Done pkg_postrm
>>> Starting builtin_tidyup
rm -fr /var/tmp/paludis/dev-perl-POE-1.003-uninstall
>>> Done builtin_tidyup
>>> Completed ebuild phases loadenv postrm tidyup
>>> Running ebuild phases loadenv postinst saveenv as root:root...
>>> Starting builtin_loadenv
>>> Done builtin_loadenv
>>> Starting pkg_postinst
>>> Done pkg_postinst
>>> Starting builtin_saveenv
>>> Done builtin_saveenv
>>> Completed ebuild phases loadenv postinst saveenv
>>> Running ebuild phase tidyup as root:root...
>>> Starting builtin_tidyup
rm -fr /tmp/paludis/dev-perl-POE-1.003
>>> Done builtin_tidyup
>>> Completed ebuild phase tidyup
Messages log: /var/log/paludis/1236453955-install-dev-perl_POE-1.003:0::gentoo.messages

 * Regenerating environment...
Regenerating //etc/ld.so.cache...
 * Done regenerating environment
 * Updating CONFIG_PROTECT and CONFIG_PROTECT_MASK caches.

Updating world file
Comment 1 Dan Reidy 2009-03-07 19:31:08 UTC
Created attachment 184263 [details]
(snipped) paludis --info
Comment 2 Kent Fredric (IRC: kent\n) (RETIRED) gentoo-dev 2009-03-07 19:34:17 UTC
Noted there is a trivial fix for this discovered. 

In the ebuild, comment out the line "mymake='/usr'" and the problem seems to go away. Also, adding in "SRC_TEST='do'" to enable the tests and running them all pass  happily. 
Comment 3 Kent Fredric (IRC: kent\n) (RETIRED) gentoo-dev 2009-03-07 19:35:34 UTC
Note this "trivial fix" is not understood yet, and was just the first attempt, there's probably a reason that was in there, as it previously worked, but it could be a legacy entry ( considering when POE was released, JUNE '08 ) and the eclass may have changed since then. 
Comment 4 Lars Wendler (Polynomial-C) (RETIRED) gentoo-dev 2009-03-07 19:40:23 UTC
Reassigning to perl herd.
Comment 5 Dan Reidy 2009-03-07 19:47:10 UTC
Thanks Kent, that worked on dev-perl/POE-1.003
Comment 6 Kent Fredric (IRC: kent\n) (RETIRED) gentoo-dev 2009-03-07 19:52:12 UTC
Just clarifying, this appears to be a bug with *both* available versions of POE. Advertised fix only tested on 1.003 

Looking through /usr/portage with a bit of aggressive grepping, all I can find about "mymake" amounts to this: 

./app-admin/conky/conky-1.6.1.ebuild:   local mymake
./app-admin/conky/conky-1.6.1.ebuild:           mymake="MPD_NO_IPV6=noipv6"
./app-admin/conky/conky-1.6.1.ebuild:   emake ${mymake} || die "compile failed"
./app-admin/conky/conky-1.6.2_pre1355.ebuild:   local mymake
./app-admin/conky/conky-1.6.2_pre1355.ebuild:           mymake="MPD_NO_IPV6=noipv6"
./app-admin/conky/conky-1.6.2_pre1355.ebuild:   emake ${mymake} || die "compile failed"
./app-text/gocr/gocr-0.45.ebuild:       local mymakes="src man"
./app-text/gocr/gocr-0.45.ebuild:       use doc && mymakes="${mymakes} doc examples"
./app-text/gocr/gocr-0.45.ebuild:       emake ${mymakes} || die "make ${mymakes} failed"
./app-text/gocr/gocr-0.46.ebuild:       local mymakes="src man"
./app-text/gocr/gocr-0.46.ebuild:       use doc && mymakes="${mymakes} doc examples"
./app-text/gocr/gocr-0.46.ebuild:       emake ${mymakes} || die "make ${mymakes} failed"
./dev-perl/Clone/Clone-0.29.ebuild:mymake='OPTIMIZE=${CFLAGS}'
./dev-perl/Clone/Clone-0.30.ebuild:mymake='OPTIMIZE=${CFLAGS}'
./dev-perl/Clone/Clone-0.31.ebuild:mymake='OPTIMIZE=${CFLAGS}'
./dev-perl/IO-Tty/ChangeLog:  Remove mymake="/usr". Cleanup
./dev-perl/Inline-Java/Inline-Java-0.52.ebuild: mymake="java all"
./dev-perl/POE/POE-0.99.89.ebuild:mymake="/usr"
./dev-perl/POE/POE-1.003.ebuild:mymake="/usr"
./dev-perl/TermReadKey/ChangeLog:  Remove mymake="/usr"
./dev-perl/Time-modules/ChangeLog:  Remove mymake="/usr"
./dev-perl/perltidy/perltidy-20070508.ebuild:mymake="/usr"
./dev-perl/perltidy/perltidy-20071205.ebuild:mymake="/usr"
./dev-util/oprofile/oprofile-0.9.3.ebuild:      local mymake=""
./dev-util/oprofile/oprofile-0.9.3.ebuild:      emake ${mymake} || die "emake failed"
./dev-util/oprofile/oprofile-0.9.4.ebuild:      local mymake=""
./dev-util/oprofile/oprofile-0.9.4.ebuild:      emake ${mymake} || die "emake failed"

which much of indicates to me its "old stuff" 
Comment 7 Patrick Lauer gentoo-dev 2009-03-07 19:58:42 UTC
+*POE-1.003-r1 (07 Mar 2009)
+
+  07 Mar 2009; Patrick Lauer <patrick@gentoo.org> +POE-1.003-r1.ebuild:
+  Trivial fix to the ebuild to fix #261609


After reproducing the bug I decided to fix it with the suggestions from above.