View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0000303 | Perl for OS/2 | Bug | public | 2008-12-25 07:47 | 2012-01-04 22:03 |
Reporter | LewisR | Assigned To | |||
Priority | normal | Severity | major | Reproducibility | always |
Status | new | Resolution | open | ||
Summary | 0000303: CPAN (make) under 5.10.0 fails to build with "No rule to make target `/perl5/lib/5.10.0/os2/Config.pm'" | ||||
Description | I'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 Information | Forgetting 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 | ||||
Tags | No tags attached. | ||||
|
i'll have to test installing from cpan - i normally just download the modules and install manually |
|
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!). |
|
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). |
|
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. |
|
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. |
|
perl is such a bastard when it comes to paths.... |
|
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. |
|
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. |
|
Which reminds me that I want to update tar to the latest level anyway, so I should look at the stdin problem |
|
Andy - do you have a simple example for the stdin problem? |
|
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. |
|
A pre-release of Perl 5.14.2 is available from http://smedley.info/perl-5.14.2-os2-20120105.zip |
Date Modified | Username | Field | Change |
---|---|---|---|
2008-12-25 07:47 | LewisR | New Issue | |
2008-12-25 23:41 | psmedley | Note Added: 0001082 | |
2008-12-26 00:53 | LewisR | Note Added: 0001083 | |
2011-09-05 15:02 | LewisR | Note Added: 0001971 | |
2011-11-30 22:44 | Buck | Note Added: 0002061 | |
2011-12-30 14:56 | shmuel | Note Added: 0002086 | |
2011-12-30 23:13 | psmedley | Note Added: 0002088 | |
2011-12-31 03:55 | LewisR | Note Added: 0002092 | |
2011-12-31 03:59 | Buck | Note Added: 0002093 | |
2011-12-31 04:04 | psmedley | Note Added: 0002094 | |
2011-12-31 04:10 | psmedley | Note Added: 0002095 | |
2011-12-31 04:22 | Buck | Note Added: 0002096 | |
2012-01-04 22:03 | psmedley | Note Added: 0002141 |