View Issue Details

IDProjectCategoryView StatusLast Update
0000303Perl for OS/2Bugpublic2012-01-05 08:33
ReporterLewisR Assigned To 
PrioritynormalSeveritymajorReproducibilityalways
Status newResolutionopen 
Summary0000303: CPAN (make) under 5.10.0 fails to build with "No rule to make target `/perl5/lib/5.10.0/os2/Config.pm'"
DescriptionI'm not sure if this is related to 236 or perhaps a remnant of 224, but I can't for the life of me get past this one. Here's a snippet:

Warning: Prerequisite 'Parse::RecDescent => 1.94' for 'M/MA/MARKOV/Mail-IMAPClient-3.12.tar.gz' failed when processing 'D/DC/DCONWAY/Parse-RecDescent-1.94.tar.gz' with 'make => NO'. Continuing, but chances to succeed are limited.
Warning: Prerequisite 'Test::Pod => 0' for 'M/MA/MARKOV/Mail-IMAPClient-3.12.tar.gz' failed when processing 'P/PE/PETDANCE/Test-Pod-1.26.tar.gz' with 'make => NO'. Continuing, but chances to succeed are limited.
Warning: Prerequisite 'Digest::HMAC_MD5 => 0' for 'M/MA/MARKOV/Mail-IMAPClient-3.12.tar.gz' failed when processing 'G/GA/GAAS/Digest-HMAC-1.01.tar.gz' with 'make => NO'. Continuing, but chances to succeed are limited.
make: *** No rule to make target `/perl5/lib/5.10.0/os2/Config.pm', needed by `Makefile'. Stop.
  MARKOV/Mail-IMAPClient-3.12.tar.gz
  make -- NOT OK
Warning (usually harmless): 'YAML' not installed, will not store persistent state
Running make test
  Can't test without successful make
Running make install
  Make had returned bad status, install seems impossible
Additional InformationForgetting the earlier warnings, the "No rule to make target `/perl5/lib/5.10.0/os2/Config.pm'" is persistent.

I have perl installed on J:, and the following in CONFIG.SYS:

SET PERL_PATH=j:/perl5/lib
SET PERLLIB_PREFIX=/perl5/lib;j:/perl5/lib
REM SET PERL_BADFREE=0
REM SET PERL_BADLANG=0
SET PERL_SH_DIR=j:/bin

(The remmed statements predate my installation of 5.10.0 and refer to my earlier 5.8.0 EMX installation, built by Henry.)

Am I missing something simple, perhaps? Then again, I see Shmuel's reference to the same issue here: http://fixunix.com/os2/557536-installing-perl-cpan-modules.html , so I'm thinking that there is something we have in common...

TIA
TagsNo tags attached.

Activities

psmedley

2008-12-26 10:11

administrator   ~0001082

i'll have to test installing from cpan - i normally just download the modules and install manually

LewisR

2008-12-26 11:23

developer   ~0001083

I've managed to figure some of this out...

Evidently, Paul, there is still a need to edit the paths in Config_heavy.pl and Config.pm. I added "u:" to all of the paths, and after running in your build environment, cpan actually works. So, aside from needing the paths adjusted, there must be some conflicting versions of utilities (quick example: tar.exe shipped with eCS 2.0 RC6 and installed to \ecs\bin doesn't work quite right, as it refuses to recurse into bundled gzip archives).

Once I get this all sorted out, I'll post a follow-up.

I think it's more a matter of getting half the story in the error message instead of the whole thing (e.g., I had another module failing to build, but only a cryptic "unknown error"...the "unknown error" was revealed when running make -d, and it was the fact that we couldn't find gcc.exe!).

LewisR

2011-09-06 00:32

developer   ~0001971

I wish I could remember when I post things like this. I've just spent two days trying to get this to work, and this would have given me a leg up (because I'm *almost* to the point where I left off in 2008). Still path issues. I even tried a clean Perl install on C:, as that's where /HOME/DEFAULT is located, and where .cpan lives. Figuring that there are still a number of POSIX paths (I even got - for free - an almost barren /perl5 skeleton created for me by default on C:), I started with a clean Perl on the same drive, and configured CPAN from scratch, not even allowing it to choose defaults, but taking pains to ensure that all paths were correct (I did not check the tar.exe issue I was seeing in 2008, though; I'll have to look again).

Buck

2011-12-01 09:14

reporter   ~0002061

There is a thread on comp.os.os2.ecomstation and copied in comp.os.os2.misc and comp.lang.perl.misc. Not sure if anything in it is helpful but possibly.

shmuel

2011-12-31 01:26

reporter   ~0002086

I don't know how much of this is actually necessary, but I got it to work, more or less with config.sys containing:

LIBPATH=.;Q:\PROGRAMS\RSJCD;Q:\PROGRAMS\NETSCAPE\PROGRAM;Q:\ECS\DLL;Q:\EMX\DLL;Q:\OS2\DLL;Q:\MPTN\DLL;Q:\TCPIP\DLL;Q:\IBMCOM\DLL;Q:\IBMGSK50\LIB;Q:\IBMGSK40\LIB;Q:\IBMGSK\LIB;Q:\OS2\MDOS;Q:\;Q:\OS2\APPS\DLL;Q:\ECS\SYSTEM\AMOUSE;Q:\PRTUTILS\MARKVIS;Q:
SET PATH=Q:\MPTN\BIN;Q:\ECS\BIN;Q:\TCPIP\BIN;Q:\IBMCOM;Q:\PROGRAMS\NETSCAPE\PROGRAM;Q:\EMX\BIN;Q:\IBMGSK50\BIN;Q:\IBMGSK40\BIN;Q:\IBMGSK\BIN;Q:\OS2;Q:\OS2\SYSTEM;Q:\OS2\MDOS\WINOS2;Q:\OS2\INSTALL;Q:\;Q:\OS2\MDOS;Q:\OS2\APPS;Q:\ECS\KLIBC\BIN;Q:\PROGRA
SET BOOKSHELF=Q:\OS2\BOOK;Q:\ecs\book;Q:\EMX\BOOK;Q:\TCPIP\HELP;Q:\MMOS2;Q:\PROGRAMS\4OS2;Q:\WATCOM\BINP\HELP;Q:\OS2TK45\book;G:\PERLLIB\BOOK;
SET MAKESHELL=Q:\PROGRAMS\PERL\bin\sh.exe
SET MANPATH=Q:/PROGRAMS/PERL/MAN
rem SET PERLLIB=Q:/PROGRAMS/PERL/LIB
SET PERLLIB_PREFIX=/PERL5/LIB;Q:/PROGRAMS/PERL/LIB
SET PERL_SH_DIR=Q:/PROGRAMS/PERL/BIN

kLIBC Pathrewriters containing:

/per Q:\PROGRAMS\PERL
/perl5 Q:\PROGRAMS\PERL
/bin U:\bin

q:\programs\perl\lib\5.10.0\os2\Config.pm containing

    archlibexp => 'Q:/PROGRAMS/PERL/lib/5.10.0/os2',
    libpth => 'U:/usr/lib U:/usr/lib/gcc-lib/i386-pc-os2-emx/3.3.5 u:/extras/lib u:/dev/qt/trunk/lib u:/openldap/lib u:/cups/lib',
    privlibexp => 'Q:/PROGRAMS/PERL/lib/5.10.0',
    scriptdir => 'Q:/PROGRAMS/PERL/bin',
    sitearchexp => 'Q:/PROGRAMS/PERL/lib/site_perl/5.10.0/os2',
    sitelibexp => 'Q:/PROGRAMS/PERL/lib/site_perl/5.10.0',

archlib='Q:/PROGRAMS/PERL/lib/5.10.0/os2'
archlibexp='Q:/PROGRAMS/PERL/lib/5.10.0/os2'
bin='Q:/PROGRAMS/PERL/bin'
binexp='Q:/PROGRAMS/PERL/bin'
config_arg1='-Dprefix=Q:/PROGRAMS/PERL'
config_args='-Dprefix=Q:/PROGRAMS/PERL'
initialinstalllocation='Q:/PROGRAMS/PERL/bin'
installarchlib='Q:/PROGRAMS/PERL/lib/5.10.0/os2'
installbin='Q:/PROGRAMS/PERL/bin'
installman1dir='Q:/PROGRAMS/PERL/man/man1'
installman3dir='Q:/PROGRAMS/PERL/man/man3'
installprefix='Q:/PROGRAMS/PERL'
installprefixexp='Q:/PROGRAMS/PERL'
installprivlib='Q:/PROGRAMS/PERL/lib/5.10.0'
installscript='Q:/PROGRAMS/PERL/bin'
installsitearch='Q:/PROGRAMS/PERL/lib/site_perl/5.10.0/os2'
installsitebin='Q:/PROGRAMS/PERL/bin'
installsitelib='Q:/PROGRAMS/PERL/lib/site_perl/5.10.0'
installsiteman1dir='Q:/PROGRAMS/PERL/man/man1'
installsiteman3dir='Q:/PROGRAMS/PERL/man/man3'
installsitescript='Q:/PROGRAMS/PERL/bin'
man1dir='Q:/PROGRAMS/PERL/man/man1'
man1direxp='Q:/PROGRAMS/PERL/man/man1'
man3dir='Q:/PROGRAMS/PERL/man/man3'
man3direxp='Q:/PROGRAMS/PERL/man/man3'
perlpath='Q:/PROGRAMS/PERL/bin/perl'
prefix='Q:/PROGRAMS/PERL'
prefixexp='Q:/PROGRAMS/PERL'
privlib='Q:/PROGRAMS/PERL/lib/5.10.0'
privlibexp='Q:/PROGRAMS/PERL/lib/5.10.0'
scriptdir='Q:/PROGRAMS/PERL/bin'
scriptdirexp='Q:/PROGRAMS/PERL/bin'
shrpenv='env LD_RUN_PATH=Q:/PROGRAMS/PERL/lib/5.10.0/os2/CORE'
sitearch='Q:/PROGRAMS/PERL/lib/site_perl/5.10.0/os2'
sitearchexp='Q:/PROGRAMS/PERL/lib/site_perl/5.10.0/os2'
sitebin='Q:/PROGRAMS/PERL/bin'
sitebinexp='Q:/PROGRAMS/PERL/bin'
sitelib='Q:/PROGRAMS/PERL/lib/site_perl/5.10.0'
sitelib_stem='Q:/PROGRAMS/PERL/lib/site_perl'
sitelibexp='Q:/PROGRAMS/PERL/lib/site_perl/5.10.0'
siteman1dir='Q:/PROGRAMS/PERL/man/man1'
siteman1direxp='Q:/PROGRAMS/PERL/man/man1'
siteman3dir='Q:/PROGRAMS/PERL/man/man3'
siteman3direxp='Q:/PROGRAMS/PERL/man/man3'
siteprefix='Q:/PROGRAMS/PERL'
siteprefixexp='Q:/PROGRAMS/PERL'
sitescript='Q:/PROGRAMS/PERL/bin'
sitescriptexp='Q:/PROGRAMS/PERL/bin'
startperl='#!Q:/PROGRAMS/PERL/bin/perl'

I still get warnings from makefile.pm, but the build seems to be correct.

psmedley

2011-12-31 09:43

administrator   ~0002088

perl is such a bastard when it comes to paths....

LewisR

2011-12-31 14:25

developer   ~0002092

And that, my friend, is about the biggest understatement of 2011. :-)

Happy New Year!

Now to review those paths which Seymour has posted (thanks!) and see what I might need to adjust in my own setup to get things working.

Buck

2011-12-31 14:29

reporter   ~0002093

One thing I had missed earlier in this bug everytime I looked at it until today: the tar.exe you mentioned is probably because it is trying to use stdin... Tar 1.20 does not handle stdin but tar 1.10 does. I keep meaning to find out why 1.20 doesn't as it is a pain to switch back and forth depending on whether I need newer support or need stdin (I had one project I needed both so ended up kludging around the problem with some scripts because I couldn't find the stdin issue within tar.

psmedley

2011-12-31 14:34

administrator   ~0002094

Which reminds me that I want to update tar to the latest level anyway, so I should look at the stdin problem

psmedley

2011-12-31 14:40

administrator   ~0002095

Andy - do you have a simple example for the stdin problem?

Buck

2011-12-31 14:52

reporter   ~0002096

I'll have to see if I can come up with something simple... the only one I can think of off the top of my head was Sage
http://www.sagemath.org/
And now I don't remember if it was stdin/stdout/both. I have only seen it a few times outside of sage but sage uses it extensively. My thought was always that it didn't handle it as binary but I couldn't find where that would be in the code. Sage though is not all that simple and was the code I was trying to work around with the scripts but finally it became too much as just as I'd fix something the stupid sage build process would overwrite it.

psmedley

2012-01-05 08:33

administrator   ~0002141

A pre-release of Perl 5.14.2 is available from http://smedley.info/perl-5.14.2-os2-20120105.zip

Issue History

Date Modified Username Field Change
2008-12-25 18:17 LewisR New Issue
2008-12-26 10:11 psmedley Note Added: 0001082
2008-12-26 11:23 LewisR Note Added: 0001083
2011-09-06 00:32 LewisR Note Added: 0001971
2011-12-01 09:14 Buck Note Added: 0002061
2011-12-31 01:26 shmuel Note Added: 0002086
2011-12-31 09:43 psmedley Note Added: 0002088
2011-12-31 14:25 LewisR Note Added: 0002092
2011-12-31 14:29 Buck Note Added: 0002093
2011-12-31 14:34 psmedley Note Added: 0002094
2011-12-31 14:40 psmedley Note Added: 0002095
2011-12-31 14:52 Buck Note Added: 0002096
2012-01-05 08:33 psmedley Note Added: 0002141