Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 250718 - g-cpan fails to find Build.PL/Makefile.PL on all modules
Summary: g-cpan fails to find Build.PL/Makefile.PL on all modules
Status: RESOLVED TEST-REQUEST
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Development (show other bugs)
Hardware: x86 Linux
: High major
Assignee: Gentoo Perl team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-12-12 17:34 UTC by Dylan Vanderhoof
Modified: 2010-02-12 20:07 UTC (History)
3 users (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Dylan Vanderhoof 2008-12-12 17:34:18 UTC
I'm going to assume this is a problem with my system, but I can't figure out what to remerge/unmerge to fix the issue.  

g-cpan fails to build any modules, with the error message "No Make or Build file detected" being the culprit.  However, it will merge an empty module and unmerge any previous instance.  

Merging dev-perl/* modules from the normal tree works fine, so it doesn't seem to actually be an issue with the perl eclasses.

Output is as follows:

netresponse-test ~ # g-cpan -i Exception::Base
-CPAN: File::HomeDir loaded ok (v0.69)
CPAN: Storable loaded ok (v2.18)
Going to read /var/tmp/g-cpan/.cpan/Metadata
  Database was generated on Thu, 11 Dec 2008 23:26:56 GMT
 * Ebuild already exists for Exception-Base (perl-gcpan/Exception-Base)
Calculating dependencies... done!
>>> Verifying ebuild Manifests...

>>> Emerging (1 of 1) perl-gcpan/Exception-Base-0.21 to /
 * Exception-Base-0.21.tar.gz RMD160 SHA1 SHA256 size ;-) ...                                                                                           [ ok ]
 * checking ebuild checksums ;-) ...                                                                                                                    [ ok ]
 * checking auxfile checksums ;-) ...                                                                                                                   [ ok ]
 * checking miscfile checksums ;-) ...                                                                                                                  [ ok ]
 * checking Exception-Base-0.21.tar.gz ;-) ...                                                                                                          [ ok ]
>>> Unpacking source...
>>> Unpacking Exception-Base-0.21.tar.gz to /var/tmp/portage/perl-gcpan/Exception-Base-0.21/work
>>> Source unpacked.
>>> Compiling source in /var/tmp/portage/perl-gcpan/Exception-Base-0.21/work ...
 * No Make or Build file detected...
>>> Source compiled.
>>> Test phase [not enabled]: perl-gcpan/Exception-Base-0.21

>>> Install Exception-Base-0.21 into /var/tmp/portage/perl-gcpan/Exception-Base-0.21/image/ category perl-gcpan
 * Cleaning out stray man files
>>> Completed installing Exception-Base-0.21 into /var/tmp/portage/perl-gcpan/Exception-Base-0.21/image/

* checking 0 files for package collisions
>>> Merging perl-gcpan/Exception-Base-0.21 to /
>>> Safely unmerging already-installed instance...
No package files given... Grabbing a set.
>>> Original instance of package unmerged safely.
 * Man pages are not installed for most modules now.
 * Please use perldoc instead.
>>> perl-gcpan/Exception-Base-0.21 merged.

>>> No packages selected for removal by clean
>>> Auto-cleaning packages...

>>> No outdated packages were found on your system.
 * GNU info directory index is up-to-date.



It looks like its searching for the Build and/or Make file in the work directory, instead of the source directory.

Reproducible: Always

Steps to Reproduce:
1. Run g-cpan -i Perl::Module
2. 
3.
Comment 1 Panagiotis Christopoulos (RETIRED) gentoo-dev 2008-12-14 19:36:03 UTC
Please paste your emerge --info output and your "emerge -pv g-cpan" output. 
Comment 2 Dylan Vanderhoof 2008-12-14 19:38:12 UTC
dylanv@netresponse-test ~ $ sudo emerge --info
Password:
Portage 2.1.4.5 (default/linux/x86/2008.0, gcc-4.1.2, glibc-2.6.1-r0, 2.6.22-gentoo-r9 i686)
=================================================================
System uname: 2.6.22-gentoo-r9 i686 Intel(R) Xeon(TM) CPU 2.80GHz
Timestamp of tree: Thu, 11 Dec 2008 20:21:02 +0000
app-shells/bash:     3.2_p33
dev-java/java-config: 1.3.7-r1, 2.1.6
dev-lang/python:     2.4.4-r13, 2.5.2-r7
dev-python/pycrypto: 2.0.1-r6
sys-apps/baselayout: 1.12.11.1
sys-apps/sandbox:    1.2.18.1-r2
sys-devel/autoconf:  2.13, 2.61-r2
sys-devel/automake:  1.7.9-r1, 1.9.6-r2, 1.10.1-r1
sys-devel/binutils:  2.18-r3
sys-devel/gcc-config: 1.4.0-r4
sys-devel/libtool:   1.5.26
virtual/os-headers:  2.6.23-r3
ACCEPT_KEYWORDS="x86"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=pentium4 -fomit-frame-pointer -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/terminfo /etc/udev/rules.d"
CXXFLAGS="-O2 -march=pentium4 -fomit-frame-pointer -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="distlocks metadata-transfer parallel-fetch sandbox sfperms strict unmerge-orphans userfetch"
GENTOO_MIRRORS="http://gentoo.llarian.net/"
LDFLAGS="-Wl,-O1"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage /usr/local/perl-experimental /txlogic/portage"
SYNC="rsync://gentoo.llarian.net/gentoo-portage"
USE="acl apache2 berkdb bzip2 cli cracklib crypt dba dri gd gdbm gif gpm iconv innodb isdnlog jpeg mbox midi mmx mudflap ncurses nls no-htdocs nptl nptlonly openmp pam pcre perl png pppd python readline reflection session snmp spl sse sse2 ssl sysfs tiff unicode x86 xml xorg zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU" VIDEO_CARDS="fbdev glint i810 intel mach64 mga neomagic nv r128 radeon savage sis tdfx trident vesa vga via vmware voodoo"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LANG, LC_ALL, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

dylanv@netresponse-test ~ $ sudo emerge -pv g-cpan

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild   R   ] app-portage/g-cpan-0.15.0-r1  0 kB

Total: 1 package (1 reinstall), Size of downloads: 0 kB
Comment 3 Dylan Vanderhoof 2008-12-15 20:57:52 UTC
I've tracked it down to this bug:

http://bugs.gentoo.org/show_bug.cgi?id=176630

${S} is being set to the archive dir, plus a string of random characters, so the workdir isn't being found.  The patch included in bug 176630 solves the problem, but I have the latest Gentoo::CPAN module available (does not include the patch), and it is definitely still broken in some environments.

Comment 4 Johannes 'fish' Ziemke 2008-12-22 15:34:33 UTC
Same here, looks like removing the S-Var fixes it.
But i don't know what side-effects it might have.. Why does g-cpan even set the S to these string including a version number? Looks like that again the best practice here: "Including version numbers in SRC_URI and S"

http://www.gentoo.org/proj/en/devrel/handbook/handbook.xml?part=2&chap=3#doc_chap1
Comment 5 Gregg Casillo 2009-01-04 21:09:01 UTC
Good find, Dylan. The patch provided in that bug report works for me. I was able to install a couple modules with g-cpan once again.
Comment 6 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2010-02-12 20:07:13 UTC
Should be fixed in g-cpan r226, will be released soon.