James Keenan via RT wrote: > Cosimo, > > The more I look at this, the more I wonder whether the test failure in > 111-auto_gcc-01.t (reported below) has anything to do with the presence > or absence of gdbm on one's OS or whether one's Perl was build with gdbm > or not. >
I'm sorry. I now realize I should have provided more details. I can reproduce the error by using the original t/configure/111-auto_gcc-01.t script and doing: $ sudo apt-get remove libgdbm-dev [...] $ cd ~/Desktop/src/parrot $ perl Configure.pl && make [...] $ perl t/configure/111-auto_gcc-01.t >> Linker failed (see test.ldo) at lib/Parrot/Configure/Step.pm line 525 >> Parrot::Configure::Step::cc_build() called at config/auto/gcc.pm >> line 42 >> auto::gcc::_probe_for_gcc() called at config/auto/gcc.pm line 35 >> auto::gcc::runstep('auto::gcc=HASH(0x83d9194)', >> 'Parrot::Configure=HASH(0x82e7a04)') called at >> t/configure/111-auto_gcc-01.t line 40 > > There's nothing in this error message that makes any reference to gdbm. > I looked at the code in config/init/defaults.pm and > lib/Parrot/Configure/Step.pm that is relevant here, and I find no > reference to gdbm there. In particular, I can't figure out why the > presence of gdbm when your Perl 5 was built should cause a failure in a > test for gcc. That's why I should have provided more details. Looking at `test.ldo' output, shows that: [EMAIL PROTECTED]:~/Desktop/src/parrot$ cat test.ldo /usr/bin/ld: cannot find -lgdbm collect2: ld returned 1 exit status [EMAIL PROTECTED]:~/Desktop/src/parrot$ Logging the `libs' string before and after test init::defaults tests you can see that: 1) In case libgdbm-dev is installed, tests succeed in any case because auto::gcc test tries to compile a test executable with `-lgdbm' and succeeds 2) In case of no libgdbm-dev, test fails. But why `-lgdbm' is anyway supplied to the ld command invocation? Only because underlying perl's $Config{libs} includes libgdbm. No other good reason, IMHO. Sorry if I'm misunderstanding here... -- Cosimo