Skip Menu |

This queue is for tickets about the Net-DNS CPAN distribution.

Report information
The Basics
Id: 2632
Status: resolved
Priority: 0/
Queue: Net-DNS

People
Owner: rt-cpan [...] triv.org
Requestors:
Cc:
AdminCc:

Bug Information
Severity: Normal
Broken in: 0.34_02
Fixed in: 0.34



Net::DNS 0.34_02 that was PAUSEd yesterday does not compile for me. Actually it compiles fine. Just the "make test" fails. Any ideas? ============ $ make test PERL_DL_NONLAZY=1 /usr/local/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', ' blib/arch')" t/*.t t/00-load.............NOK 1# Failed test (t/00-load.t at line 8) # Tried to use 'Net::DNS'. # Error: Can't load '/home/rob/redhat/BUILD/Net-DNS-0.34_02/blib/arch/auto/Net/DNS/DNS.so' for module Net::DNS: /home/rob/redhat/BUILD/Net-DNS-0.34_02/blib/arch/auto/Net/DNS/DNS.so: undefined symbol: __dn_expand at /usr/lib/perl5/5.8.0/i386-linux-thread-multi/DynaLoader.pm line 229. # at (eval 1) line 2 # Compilation failed in require at (eval 1) line 2. t/00-load.............ok 64/64# Looks like you failed 1 tests of 64. t/00-load.............dubious Test returned status 1 (wstat 256, 0x100) DIED. FAILED test 1 Failed 1/64 tests, 98.44% okay
Date: Thu, 22 May 2003 17:43:05 -0400 (EDT)
From: Chris Reinhardt <ctriv [...] dyndns.org>
To: via RT <bug-Net-DNS [...] rt.cpan.org>
Subject: Re: [cpan #2632]
RT-Send-Cc:
On Thu, 22 May 2003, via RT wrote: Show quoted text
> Net::DNS 0.34_02 that was PAUSEd yesterday does not compile for me. > Actually it compiles fine. Just the "make test" fails.
Good thing it's a devel release :). Show quoted text
> Any ideas?
[snip] Show quoted text
> # Error: Can't load > '/home/rob/redhat/BUILD/Net-DNS-0.34_02/blib/arch/auto/Net/DNS/DNS.so' > for module Net::DNS: > /home/rob/redhat/BUILD/Net-DNS-0.34_02/blib/arch/auto/Net/DNS/DNS.so: > undefined symbol: __dn_expand at > /usr/lib/perl5/5.8.0/i386-linux-thread-multi/DynaLoader.pm line 229.
Nothing off the top of my head, I haven't tried the XS bits with linux, or with 5.8, or with a threaded perl. There's no obvious place where a "__dn_expand" symbol is used, it must be hidding somewhere. I'll see if I can reproduce this. -- Chris Reinhardt ctriv@dyndns.org Systems Architect Dynamic DNS Network Services http://www.dyndns.org/
Date: Thu, 22 May 2003 16:22:39 -0600 (MDT)
From: Rob Brown <rob [...] roobik.com>
To: Chris Reinhardt via RT <bug-Net-DNS [...] rt.cpan.org>
CC: bbb [...] cpan.org
Subject: Re: [cpan #2632] make test failure
RT-Send-Cc:
I get the same __dn_expand spewage on my not threaded perl 5.6.0 box too. So I don't think it has much to do with perl 5.8.0 nor with it being threaded or not. On Thu, 22 May 2003, Chris Reinhardt via RT wrote: Show quoted text
> > This message about Net-DNS was sent to you by ctriv@dyndns.org <ctriv@dyndns.org> via rt.cpan.org > > Full context and any attached attachments can be found at: > <URL: https://rt.cpan.org/Ticket/Display.html?id=2632 > > > On Thu, 22 May 2003, via RT wrote: >
> > Net::DNS 0.34_02 that was PAUSEd yesterday does not compile for me. > > Actually it compiles fine. Just the "make test" fails.
> > Good thing it's a devel release :). >
> > Any ideas?
> > [snip] >
> > # Error: Can't load > > '/home/rob/redhat/BUILD/Net-DNS-0.34_02/blib/arch/auto/Net/DNS/DNS.so' > > for module Net::DNS: > > /home/rob/redhat/BUILD/Net-DNS-0.34_02/blib/arch/auto/Net/DNS/DNS.so: > > undefined symbol: __dn_expand at > > /usr/lib/perl5/5.8.0/i386-linux-thread-multi/DynaLoader.pm line 229.
> > Nothing off the top of my head, I haven't tried the XS bits with linux, > or with 5.8, or with a threaded perl. There's no obvious place where a > "__dn_expand" symbol is used, it must be hidding somewhere. > > I'll see if I can reproduce this. > >
Date: Thu, 22 May 2003 18:30:44 -0400 (EDT)
From: Chris Reinhardt <ctriv [...] dyndns.org>
To: Rob Brown via RT <bug-Net-DNS [...] rt.cpan.org>
Subject: Re: [cpan #2632] make test failure
RT-Send-Cc:
On Thu, 22 May 2003, Rob Brown via RT wrote: Show quoted text
> > This message about Net-DNS was sent to you by rob@roobik.com <rob@roobik.com> via rt.cpan.org > > Full context and any attached attachments can be found at: > <URL: https://rt.cpan.org/Ticket/Display.html?id=2632 > > > I get the same __dn_expand spewage on my not threaded perl > 5.6.0 box too. So I don't think it has much to do with > perl 5.8.0 nor with it being threaded or not. >
It compiles for me with 5.6.1 on Sun/Darwin/FreeBSD/NetBSD and 5.6.0 on openbsd. I'm not quite sure what your'e doing to get the errors. -- Chris Reinhardt ctriv@dyndns.org Systems Architect Dynamic DNS Network Services http://www.dyndns.org/
Date: Thu, 22 May 2003 18:45:12 -0400 (EDT)
From: Chris Reinhardt <ctriv [...] dyndns.org>
To: Rob Brown via RT <bug-Net-DNS [...] rt.cpan.org>
Subject: Re: [cpan #2632] make test failure
RT-Send-Cc:
On Thu, 22 May 2003, Rob Brown via RT wrote: Show quoted text
> > This message about Net-DNS was sent to you by rob@roobik.com <rob@roobik.com> via rt.cpan.org > > Full context and any attached attachments can be found at: > <URL: https://rt.cpan.org/Ticket/Display.html?id=2632 > > > I get the same __dn_expand spewage on my not threaded perl > 5.6.0 box too. So I don't think it has much to do with > perl 5.8.0 nor with it being threaded or not. >
I'm just not with it, that's all. You just need to add a 'LIBS' => ['-lresolv'], To WriteMakefile in the Makefile.PL. Perl links in libresolv on some platforms, and not on others. -- Chris Reinhardt ctriv@dyndns.org Systems Architect Dynamic DNS Network Services http://www.dyndns.org/
Date: Fri, 23 May 2003 16:53:49 -0600 (MDT)
From: Rob Brown <rob [...] roobik.com>
To: Chris Reinhardt via RT <bug-Net-DNS [...] rt.cpan.org>
Subject: Re: [cpan #2632] make test failure
RT-Send-Cc:
Yes, it works perfectly now. Can you PAUSE a version _03 with the Makefile.PL patched? Or will it be fixed in the next "stable" release? I think it is wrong to assume the platform will automagically link with -lresolv. -- Rob On Thu, 22 May 2003, Chris Reinhardt via RT wrote: Show quoted text
> > This message about Net-DNS was sent to you by ctriv@dyndns.org <ctriv@dyndns.org> via rt.cpan.org > > Full context and any attached attachments can be found at: > <URL: https://rt.cpan.org/Ticket/Display.html?id=2632 > > > On Thu, 22 May 2003, Rob Brown via RT wrote: >
> > > > This message about Net-DNS was sent to you by rob@roobik.com <rob@roobik.com> via rt.cpan.org > > > > Full context and any attached attachments can be found at: > > <URL: https://rt.cpan.org/Ticket/Display.html?id=2632 > > > > > I get the same __dn_expand spewage on my not threaded perl > > 5.6.0 box too. So I don't think it has much to do with > > perl 5.8.0 nor with it being threaded or not. > >
> > I'm just not with it, that's all. You just need to add a > > 'LIBS' => ['-lresolv'], > > To WriteMakefile in the Makefile.PL. Perl links in libresolv on some > platforms, and not on others. > >
Date: Fri, 23 May 2003 23:39:01 -0400 (EDT)
From: Chris Reinhardt <ctriv [...] dyndns.org>
To: Rob Brown via RT <bug-Net-DNS [...] rt.cpan.org>
Subject: Re: [cpan #2632] make test failure
RT-Send-Cc:
On Fri, 23 May 2003, Rob Brown via RT wrote: Show quoted text
> Yes, it works perfectly now. Can you PAUSE a version _03 > with the Makefile.PL patched? Or will it be fixed in the > next "stable" release? I think it is wrong to assume the > platform will automagically link with -lresolv.
There's a _03 out right now. -- Chris Reinhardt ctriv@dyndns.org Systems Architect Dynamic DNS Network Services http://www.dyndns.org/
Date: Tue, 27 May 2003 10:45:24 -0600 (MDT)
From: Rob Brown <rob [...] roobik.com>
To: Chris Reinhardt via RT <bug-Net-DNS [...] rt.cpan.org>
CC: bbb [...] cpan.org
Subject: Re: [cpan #2632] make test failure
RT-Send-Cc:
On Fri, 23 May 2003, Chris Reinhardt via RT wrote: Show quoted text
> > This message about Net-DNS was sent to you by ctriv@dyndns.org <ctriv@dyndns.org> via rt.cpan.org > > Full context and any attached attachments can be found at: > <URL: https://rt.cpan.org/Ticket/Display.html?id=2632 > > > On Fri, 23 May 2003, Rob Brown via RT wrote: >
> > Yes, it works perfectly now. Can you PAUSE a version _03 > > with the Makefile.PL patched? Or will it be fixed in the > > next "stable" release? I think it is wrong to assume the > > platform will automagically link with -lresolv.
> > There's a _03 out right now.
Yeah, I noticed your next email after I already sent that. But I'm getting crazy errors now: ------ Testing if you have a C compiler and the needed header files.... make[1]: Entering directory `/home/rob/redhat/BUILD/Net-DNS-0.35' cc -c -o test.o test.c make[1]: Leaving directory `/home/rob/redhat/BUILD/Net-DNS-0.35' You have a working compiler. You appear to be directly connected to the Internet. I have some tests that try to query live nameservers. + /usr/bin/make test cc test.o -o test ------ Why would "make test" actually create a "test" file instead of running the test suite. I think my Makefile is getting corrupted somehow. I've never seen this behavior until the new version of Net::DNS. Any ideas? -- Rob
Date: Tue, 27 May 2003 19:19:20 -0600 (MDT)
From: Rob Brown <rob [...] roobik.com>
To: Rob Brown via RT <bug-Net-DNS [...] rt.cpan.org>
CC: Chris Reinhardt <ctriv [...] dyndns.org>
Subject: Re: [cpan #2632] make test failure
RT-Send-Cc:
Chris: Okay, I figured it out. You just uploaded a corrupt tarball to CPAN. Wow, I've been banging my head for the last 15 hours trying to see how this can be possible. Basically, here is the bug: diff -r Net-DNS-0.35.orig/Net-DNS.spec Net-DNS-0.35/Net-DNS.spec 4c4 < %define version 0.34_03 --- Show quoted text
> %define version 0.35
Do NOT apply this as a patch. To duplicate the crash, just alter lib/Net/DNS.pm (like just change the $VERSION) and then run "make dist" to create the corrupted tarball. It will always break to extract a corrupt tarball and do cd Net-DNS-xxx perl Makefile.PL make make test make install (which is why CPAN.pm has been failing so miserably for all the world ever since 0.35 was posted). Simply running "perl Makefile.PL" again should fix it. But doing so is tedious and, well, impossible for CPAN.pm or most other automated installation utilities to handle. To avoid generating corrupt tarballs, always do BOTH make make dist instead of just make dist or better yet perl Makefile.PL make make test make dist before posting to CPAN. This was my bad because it was my dangerous idea to add that Net-DNS.spec.PL file in the first place. I'm sorry about not mentioning this danger before. But besides, it's always a good idea to at least "make test" before doing a "make dist" to ensure it at least compiles. If you do not understand the danger, or cannot ensure that "make" is run before "make dist", then just delete the spec file and all associated references by reverse patching the patch I sent you before. Maybe it's just not worth it. :-/ Would you mind bumping the version to 0.36 and posting again? It also might be nice to delete that corrupt 0.35 tarball from CPAN to avoid any more pain from others attempting to install it. Also, can that test.c test be called compile.c or gcc_test.c to avoid confusion when running "make test" to run the test suite instead of actually making a "test" file from the "test.o" file? Again, sorry for all the troubles. -- Rob Changes ========== *** 0.36 May 27 2003 Minor build/install tweaking. (No code changes.) On Tue, 27 May 2003, Rob Brown via RT wrote: Show quoted text
> > There's a _03 out right now.
> > Yeah, I noticed your next email after I already sent that. > > But I'm getting crazy errors now: > > ------ > Testing if you have a C compiler and the needed header files.... > make[1]: Entering directory `/home/rob/redhat/BUILD/Net-DNS-0.35' > cc -c -o test.o test.c > make[1]: Leaving directory `/home/rob/redhat/BUILD/Net-DNS-0.35' > You have a working compiler. > > You appear to be directly connected to the Internet. I have some tests > that try to query live nameservers. > > + /usr/bin/make test > cc test.o -o test > ------ > > Why would "make test" actually create a "test" file instead > of running the test suite. I think my Makefile is getting > corrupted somehow. I've never seen this behavior until the > new version of Net::DNS. > > Any ideas? > > -- > Rob
Date: Wed, 28 May 2003 18:27:28 -0400 (EDT)
From: Chris Reinhardt <ctriv [...] dyndns.org>
To: Rob Brown via RT <bug-Net-DNS [...] rt.cpan.org>
Subject: Re: [cpan #2632] make test failure
RT-Send-Cc:
On Tue, 27 May 2003, Rob Brown via RT wrote: Show quoted text
> To avoid generating corrupt tarballs, always do BOTH > > make > make dist > > place. I'm sorry about not mentioning this danger before. > But besides, it's always a good idea to at least "make test" > before doing a "make dist" to ensure it at least compiles. > If you do not understand the danger, or cannot ensure that > "make" is run before "make dist", then just delete the spec > file and all associated references by reverse patching the > patch I sent you before. Maybe it's just not worth it. :-/
I think there's probably a better wayt to do it, that way is a pretty nasty hack, and with the new CC tests, firing up the Makefile.PL again is a bad idea. I've taken out the spec file stuff for now, we can put it back in when we come up with a better way to do it. Show quoted text
> Would you mind bumping the version to 0.36 and posting again? > It also might be nice to delete that corrupt 0.35 tarball > from CPAN to avoid any more pain from others attempting to > install it. Also, can that test.c test be called compile.c > or gcc_test.c to avoid confusion when running "make test" > to run the test suite instead of actually making a "test" > file from the "test.o" file? >
Damnit! I just released 0.36 without fixing that. 0.37 in a few minutes! -- Chris Reinhardt ctriv@dyndns.org Systems Architect Dynamic DNS Network Services http://www.dyndns.org/
Date: Fri, 30 May 2003 10:05:31 -0600 (MDT)
From: Rob Brown <rob [...] roobik.com>
To: Chris Reinhardt via RT <bug-Net-DNS [...] rt.cpan.org>
Subject: Re: [cpan #2632] make test failure
RT-Send-Cc:
On Wed, 28 May 2003, Chris Reinhardt via RT wrote: Show quoted text
> On Tue, 27 May 2003, Rob Brown via RT wrote: >
> > To avoid generating corrupt tarballs, always do BOTH > > > > make > > make dist > > > > place. I'm sorry about not mentioning this danger before. > > But besides, it's always a good idea to at least "make test" > > before doing a "make dist" to ensure it at least compiles. > > If you do not understand the danger, or cannot ensure that > > "make" is run before "make dist", then just delete the spec > > file and all associated references by reverse patching the > > patch I sent you before. Maybe it's just not worth it. :-/
> > I think there's probably a better wayt to do it, that way is a pretty > nasty hack, and with the new CC tests, firing up the Makefile.PL again is > a bad idea. I've taken out the spec file stuff for now, we can put it > back in when we come up with a better way to do it.
Sounds good. I don't think it's necessary anymore since we now have the cpan2rpm to generate the spec file anyway. And that old spec file didn't account for the defective version of the ExtUtils::MakeMaker module that comes stock with perl 5.8.0. I say leave it out and don't worry about it. Show quoted text
> > Would you mind bumping the version to 0.36 and posting again? > > It also might be nice to delete that corrupt 0.35 tarball > > from CPAN to avoid any more pain from others attempting to > > install it. Also, can that test.c test be called compile.c > > or gcc_test.c to avoid confusion when running "make test" > > to run the test suite instead of actually making a "test" > > file from the "test.o" file? > >
> > Damnit! I just released 0.36 without fixing that. 0.37 in a few minutes!
No, everything is perfectly fine with the 0.36 you posted. It is not necessary to rename test.c since you've already purged the spec.PL stuff. The entire problem was that Net-DNS.spec was dependant on both Net-DNS.spec.PL and lib/Net/DNS.pm. If you run "make dist" after changing DNS.pm, it ignores these dependencies and creates the tarball with the exact timestamps as are on the drive. After extracting and running "make" for the first time, MakeMaker notices that the spec is older than the DNS.pm file and immediately deletes "Makefile" to ensure you run Makefile.PL again in order to rebuiled the spec and satisify all dependencies. That's why running "make test" would build the "test" file from the "test.o". It is make's best assumtion of how to make "test" without a Makefile. But since the spec file is gone, this can't happen anymore. But I guess it may still avoid some "make test" confusion to use compile.c instead of test.c. :-D This Bug #2632 may now be resolved/fixed/closed. -- Rob
Date: Fri, 30 May 2003 16:58:28 -0400 (EDT)
From: Chris Reinhardt <ctriv [...] dyndns.org>
To: Rob Brown via RT <bug-Net-DNS [...] rt.cpan.org>
Subject: Re: [cpan #2632] make test failure
RT-Send-Cc:
On Fri, 30 May 2003, Rob Brown via RT wrote: Show quoted text
> But I guess it may still avoid some "make test" confusion to > use compile.c instead of test.c. :-D
There was a few reports of make confusing this that I receaved outside of RT. Thanks for helping out on all this (I'm out in hanalulu waiting for perl whirl to start, doing releases on a modem with a strange computer is /fun/). I'll resolve this once I get on the ship, which has wireless. -- Chris Reinhardt ctriv@dyndns.org Systems Architect Dynamic DNS Network Services http://www.dyndns.org/