On Tue, Feb 17, 2004 at 10:49:58PM -0500, Joey Hess wrote: >----- Forwarded message from [EMAIL PROTECTED] ----- >Anyone know the answer to the first question?
> bill => /home/knight/build/perl-5.8.2/perl: relocation error: > bill => /usr/lib/perl/5.8.2/auto/NDBM_File/NDBM_File.so: undefined symbol: > bill => Perl_Gthr_key_pt > > ben => Whomever installed your previous version of perl should be > ben => shot :). > > bill => I guess that'd be me. My only defense is that I used > bill => Debian's apt-get installation utility, which is entirely > bill => hands-off (at least in my hands). As far as I can tell, > bill => all the decisions as to where to put things are built > bill => into the downloaded package. > Is this a bug in the Debian testing perl-5.8.2 distribution? I don't think so. You can't just rebuild perl with a different ABI, drop it into the system and expect things not to break. I'm guessing that he built perl from the Debian source packages after removing -Dusethreads from debian/config.debian, but didn't have all the build-depends installed (libgdbm-dev specifically). The test he mentioned uses AnyDBM_File which tries NDBM_File... since he's got the standard @INC it was picking up the one from /usr/lib and breaking. > ben => I'd suggest moving the whole auto directory into an > ben => arch-specific subdirectory > > > This sounds like good advice to me. Is there any good reason why > the Debian installation doesn't do it this way? archlib is typically /usr/lib/perl5/<ver>/<arch>-<os><stuff> (stuff being things like "-thread-multi"). Our directory layout moves the arch independant stuff to /usr/share, making the <arch>-<os> subdirectory redundant (since these are implicit in the packaging). As far as <stuff> goes, there are a bunch of package dependencies which make assumptions on the ABI: apt-cache showpkg perlapi-5.8.0 perlapi-5.8.1 perlapi-5.8.2 perlapi-5.8.3 these would break whether <stuff> was there (file not found) or not (relocation error as above). In short, if you want a non-standard perl (version, ABI, whatever) install to /usr/local. --bod -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

