in reply to Re: Can't Install/Use GDBM_File.pm
in thread Can't Install/Use GDBM_File.pm
I (re-)installed the gdbm files from Ubuntu. I'll try to rebuild Perl tomorrow to see what happens. Thanks for looking into this.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^3: Can't Install/Use GDBM_File.pm
by perrin (Chancellor) on Sep 13, 2006 at 21:31 UTC | |
| [reply] |
by Fletch (Bishop) on Sep 13, 2006 at 23:09 UTC | |
Yup, if you're in a bind you can go into the ext/GDBM directory in the source tree and run Makefile.PL after the fact. It will get installed under site_perl rather than with the rest of the core modules, but it will work. (And in fact I did just this recently when it was discovered missing; fortunately had the original build directory lying around and it took a couple of minutes and an up2date --install gdbm-devel) | [reply] |
by jkeenan1 (Deacon) on Sep 15, 2006 at 00:01 UTC | |
Went to a GNU mirror and downloaded a tarball of the latest version of gdbm. Unpacked that tarball, changed into the gdbm-1.8.3 directory, called ./configure and then make. Unfortunately, the Makefile so created is defective. On both systems on which I tried this, the Makefile contained this code:
This created problems when I later called make install. The install failed at these lines in the Makefile:
Read more... (852 Bytes)
... which, when the variables were interpolated, came out as:
Since bin was nonexistent as either an owner or group-member, the install failed. I hacked around this by manually editing the Makefile to assign myself to the two variables:
Read more... (234 Bytes)
make install then succeeded. But there's more! As I reported yesterday, GDBM_File.pm was neither built nor tested when I installed Perl -- even though a test file for this module exists in the perl 5.8.8 distribution! Instead, once Perl was installed, I took up Fletch's suggestion, changed to the ext/GDBM_File directory under .cpan/build/perl-5.8.8, and tried to build GDBM_File from the Makefile.PLfound therein.
So far, so good!
Oops! To cut to the quick, t/gdbm.t has a hard-coded assignment to @INC:
But when I worked around this by providing a successful value for @INC, I got this:
I was ready to throw in the towel, but I figured, "What the hell!", and called:
... leading at long last to:
Now, is there anyone who can tell me why this process should have been so difficult? Setting aside the problem with GNU gdbm -- for which the Perl community is not responsible -- why is GDBM_File (and its C components) included in the Perl source distribution if it's not going to be installed in a typical installation? And this is not a problem with the OSes! Last night, in order to get a headstart on solving this problem at work today, I spent two hours trying to get GDBM_File installed on my Mac OS X 10.4 system at home. I decided to take the opportunity to upgrade from 5.8.7 to 5.8.8 and installed, in the default configuration, from source, as I have done several times previously. I again noted that, during make test, t/gdbm.t was passed over.
Read more... (527 Bytes)
And, once again, when Perl was done installing, GDBM_File was not working. Eventually I stumbled on the hack described above. Then I came to work this morning, booted my Ubuntu Linux box, and solved the problem on that box in exactly the same way as on my Mac!
Why? Why? Why?
Jim Keenan
| [reply] [d/l] [select] |
by Fletch (Bishop) on Sep 15, 2006 at 01:03 UTC | |
by jkeenan1 (Deacon) on Sep 16, 2006 at 02:56 UTC | |