Skip Menu |

This queue is for tickets about the Perl-Dist-Strawberry CPAN distribution.

Report information
The Basics
Id: 32789
Status: rejected
Priority: 0/
Queue: Perl-Dist-Strawberry

People
Owner: Nobody in particular
Requestors: jello [...] debian.org
Cc:
AdminCc:

Bug Information
Severity: Normal
Broken in: (no value)
Fixed in: (no value)



Subject: DBD::ODBC -- Error code 129, while making 'ODBC.o'
Downloaded and installed StrawberryPerl 5.10.0 from http://strawberryperl.com/download/strawberry-perl-5.10.0-final.exe. Tried to install the DBD::ODBC module from CPAN and it failed. It looks to me like the initial error is: In file included from ODBC.xs:1: ODBC.h:13:61: DBIXS.h: No such file or directory After that, there's a whole litany of errors produced which are probably the result of some dependancy/library not being installed. See the attached build log for the entire story.
Subject: DBD-ODBC-1.15-build.log
Download DBD-ODBC-1.15-build.log
application/octet-stream 59.7k

Message body not shown because it is not plain text.

Subject: Re: [rt.cpan.org #32789] DBIXS.h is on the system, just not where expected perhaps
Date: Wed, 30 Jan 2008 00:10:02 +0000
To: Bugs in Perl-Dist-Strawberry via RT <bug-Perl-Dist-Strawberry [...] rt.cpan.org>
From: Joe Nahmias <jello [...] debian.org>
Just to follow up. It seems that the DBIXS.h file does exist within the strawberry perl tree: C:\>dir /s/b c:\strawberry\DBIXS.h c:\strawberry\perl\site\lib\auto\DBI\DBIXS.h However it doesn't seem like this directory is part of the normal include search path: C:\>echo %INCLUDE% C:\Program Files\Microsoft Visual Studio.NET\FrameworkSDK\include\;C:\strawberry\c\include;C:\strawberry\perl\lib\CORE Nor was it specifically mentioned (via -I) in the compile args: gcc -c -IC:\strawberry\c\include -s -O2 -DWIN32 -DHAVE_DES_FCRYPT -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -fno-strict-aliasing -DPERL_MSVCRT_READFIX -s -O2 -DVERSION=\"1.15\" -DXS_VERSION=\"1.15\" "-IC:\strawberry\perl\lib\CORE" -DWITH_UNICODE ODBC.c --Joe
Subject: Re: [rt.cpan.org #32789] DBIXS.h is on the system, just not where expected perhaps
Date: Wed, 30 Jan 2008 11:23:03 +1100
To: bug-Perl-Dist-Strawberry [...] rt.cpan.org
From: "Adam Kennedy" <adamkennedybackup [...] gmail.com>
The DBI-specific path will of course not be included in the INCLUDE paths, as it is only needed for this specific case. This is not as bug in Strawberry Perl, it is a bug in the Makefile.PL for DBD::ODBC, not looking for the .h file in a typical location. Recommend you refile this bug under DBD::ODBC. Adam K On 30/01/2008, Joe Nahmias via RT <bug-Perl-Dist-Strawberry@rt.cpan.org> wrote: Show quoted text
> > Queue: Perl-Dist-Strawberry > Ticket <URL: http://rt.cpan.org/Ticket/Display.html?id=32789 > > > Just to follow up. It seems that the DBIXS.h file does exist within the > strawberry perl tree: > > C:\>dir /s/b c:\strawberry\DBIXS.h > c:\strawberry\perl\site\lib\auto\DBI\DBIXS.h > > However it doesn't seem like this directory is part of the normal > include search path: > > C:\>echo %INCLUDE% > C:\Program Files\Microsoft Visual Studio.NET\FrameworkSDK\include\;C:\strawberry\c\include;C:\strawberry\perl\lib\CORE > > Nor was it specifically mentioned (via -I) in the compile args: > > gcc -c -IC:\strawberry\c\include -s -O2 -DWIN32 -DHAVE_DES_FCRYPT -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -fno-strict-aliasing -DPERL_MSVCRT_READFIX -s -O2 -DVERSION=\"1.15\" -DXS_VERSION=\"1.15\" "-IC:\strawberry\perl\lib\CORE" -DWITH_UNICODE ODBC.c > > --Joe > >
From: jello [...] debian.org
On Tue Jan 29 19:23:20 2008, adamkennedybackup@gmail.com wrote: [snip] Show quoted text
> This is not as bug in Strawberry Perl, it is a bug in the Makefile.PL > for DBD::ODBC, not looking for the .h file in a typical location. > > Recommend you refile this bug under DBD::ODBC.
Sorry, haven't used RT much. How do I reassign this bug? Nothing in the web interface seems to allow this. Do I need to create a separate bug?
Subject: Re: [rt.cpan.org #32789] DBD::ODBC -- Error code 129, while making 'ODBC.o'
Date: Wed, 30 Jan 2008 12:01:51 +1100
To: bug-Perl-Dist-Strawberry [...] rt.cpan.org
From: "Adam Kennedy" <adamkennedybackup [...] gmail.com>
To be honest, I'm not sure. I recommend just creating a new bug and I'll close this one. On 30/01/2008, Joe Nahmias via RT <bug-Perl-Dist-Strawberry@rt.cpan.org> wrote: Show quoted text
> > Queue: Perl-Dist-Strawberry > Ticket <URL: http://rt.cpan.org/Ticket/Display.html?id=32789 > > > On Tue Jan 29 19:23:20 2008, adamkennedybackup@gmail.com wrote: > [snip]
> > This is not as bug in Strawberry Perl, it is a bug in the Makefile.PL > > for DBD::ODBC, not looking for the .h file in a typical location. > > > > Recommend you refile this bug under DBD::ODBC.
> > Sorry, haven't used RT much. How do I reassign this bug? Nothing in > the web interface seems to allow this. Do I need to create a separate bug? > >
I think to reassign you click on Basics and edit the Queue
CC: jello [...] debian.org
Subject: Re: [rt.cpan.org #32789] DBD::ODBC -- Error code 129, while making 'ODBC.o'
Date: Wed, 30 Jan 2008 18:44:23 +0000
To: Andreas Koenig via RT <bug-Perl-Dist-Strawberry [...] rt.cpan.org>
From: Joe Nahmias <jello [...] debian.org>
On Tue, Jan 29, 2008 at 08:14:43PM -0500, Andreas Koenig via RT wrote: Show quoted text
> I think to reassign you click on Basics and edit the Queue
Well, it looks like reassigning is not allowed in this version of RT. So, I've opened a new ticket under the DBD-ODBC module: http://rt.cpan.org/Public/Bug/Display.html?id=32811 --Joe
From: martin.evans [...] easysoft.com
On Tue Jan 29 19:23:20 2008, adamkennedybackup@gmail.com wrote: Show quoted text
> The DBI-specific path will of course not be included in the INCLUDE > paths, as it is only needed for this specific case. > > This is not as bug in Strawberry Perl, it is a bug in the Makefile.PL > for DBD::ODBC, not looking for the .h file in a typical location. > > Recommend you refile this bug under DBD::ODBC.
I'm not so sure this is an DBD::ODBC issue. When I install Strawberry perl and repeat the exercise I get a Makefile containing snippets like this: # MakeMaker 'CONFIGURE' Parameters: # INC => q[ -IC:\strawberry\perl\site\lib\auto\DBI] INC = -IC:\strawberry\perl\site\lib\auto\DBI # --- MakeMaker const_cccmd section: CCCMD = $(CC) -c $(PASTHRU_INC) $(INC) \ $(CCFLAGS) $(OPTIMIZE) \ $(PERLTYPE) $(MPOLLUTE) $(DEFINE_VERSION) \ $(XS_DEFINE_VERSION) So the path to DBI files is defined and added to the Makefile. Unfortunately I cannot take this any further at the moment because I don't have nmake or a compiler on this windows machine. Please look at the Makefile that was generated for you and search it for lines like those above - have you got them? and if so then why is the CC command being run without the INC? Martin -- Martin J. Evans Wetherby, UK
CC: jello [...] debian.org
Subject: Re: [rt.cpan.org #32789] DBD::ODBC -- Error code 129, while making 'ODBC.o'
Date: Thu, 31 Jan 2008 17:40:53 +0000
To: Martin J Evans via RT <bug-Perl-Dist-Strawberry [...] rt.cpan.org>
From: Joe Nahmias <jello [...] debian.org>
On Thu, Jan 31, 2008 at 05:17:25AM -0500, Martin J Evans via RT wrote: Show quoted text
> I'm not so sure this is an DBD::ODBC issue. When I install Strawberry > perl and repeat the exercise I get a Makefile containing snippets like this: > > # MakeMaker 'CONFIGURE' Parameters: > # INC => q[ -IC:\strawberry\perl\site\lib\auto\DBI] > > INC = -IC:\strawberry\perl\site\lib\auto\DBI > > # --- MakeMaker const_cccmd section: > CCCMD = $(CC) -c $(PASTHRU_INC) $(INC) \ > $(CCFLAGS) $(OPTIMIZE) \ > $(PERLTYPE) $(MPOLLUTE) $(DEFINE_VERSION) \ > $(XS_DEFINE_VERSION) > > So the path to DBI files is defined and added to the Makefile. > Unfortunately I cannot take this any further at the moment because I > don't have nmake or a compiler on this windows machine. > > Please look at the Makefile that was generated for you and search it for > lines like those above - have you got them? and if so then why is the CC > command being run without the INC?
Hmm, first the facts: C:\>egrep -n "\<INC" C:\strawberry\cpan\build\DBD-ODBC-1.15-TtLTK7\Makefile 9:# MakeMaker ARGV: (q[LIBS=-LC:\strawberry\c\lib], q[INC=-IC:\strawberry\c\in clude]) 17:# INC => q[] 31:# INC => q[ -IC:\strawberry\perl\site\lib\auto\DBI] 163:INC = -IC:\strawberry\c\include 315:CCCMD = $(CC) -c $(PASTHRU_INC) $(INC) \ 349: gcc -E -c $(PASTHRU_INC) $(INC) \ 684: cd $(DISTVNAME) && $(ABSPERLRUN) Makefile.PL "LIBS=-LC:\strawberry\c\lib" "INC=-IC:\strawberry\c\include" 894: $(PERLRUN) Makefile.PL "LIBS=-LC:\strawberry\c\lib" "INC=-IC:\strawberry\c\include" 917: INC=-IC:\strawberry\c\include Now my shot at the analysis: - Line 31 shows that the DBI dir was of the "MakeMaker 'CONFIGURE' Parameters" - However, for some reason it didn't end up in the INC definition in line 163. MakeMaker v6.42 bug? Time to move to Module::Build ?? --Joe
From: martin.evans [...] easysoft.com
On Thu Jan 31 13:13:06 2008, jello wrote: Show quoted text
> > Hmm, first the facts: > > C:\>egrep -n "\<INC" C:\strawberry\cpan\build\DBD-ODBC-1.15- > TtLTK7\Makefile > 9:# MakeMaker ARGV: (q[LIBS=-LC:\strawberry\c\lib], q[INC=- > IC:\strawberry\c\in > clude]) > 17:# INC => q[] > 31:# INC => q[ -IC:\strawberry\perl\site\lib\auto\DBI] > 163:INC = -IC:\strawberry\c\include > 315:CCCMD = $(CC) -c $(PASTHRU_INC) $(INC) \ > 349: gcc -E -c $(PASTHRU_INC) $(INC) \ > 684: cd $(DISTVNAME) && $(ABSPERLRUN) Makefile.PL "LIBS=- > LC:\strawberry\c\lib" "INC=-IC:\strawberry\c\include" > 894: $(PERLRUN) Makefile.PL "LIBS=-LC:\strawberry\c\lib" "INC=- > IC:\strawberry\c\include" > 917: INC=-IC:\strawberry\c\include
ok, I've not got egrep on this windows machine but I now have a compiler and the build works fine. After "perl Makefile.PL MAKE=nmake" I have the following INC references in my Makefile: # INC => q[] # INC => q[ -IC:\strawberry\perl\site\lib\auto\DBI] PERLMAINCC = $(CC) PERL_INC = C:\strawberry\perl\lib\CORE INC = -IC:\strawberry\perl\site\lib\auto\DBI CONFIGDEP = $(PERL_ARCHLIB)$(DFSEP)Config.pm $(PERL_INC)$(DFSEP)config.h PERL_ARCHIVE = $(PERL_INC)\libperl510.a CCCMD = $(CC) -c $(PASTHRU_INC) $(INC) \ gcc -E -c $(PASTHRU_INC) $(INC) \ $(CCCMD) -S $(CCCDLFLAGS) "-I$(PERL_INC)" $(PASTHRU_DEFINE) $(DEFINE) $*.c Note, my INC clearly contains the path to DBI. Show quoted text
> Now my shot at the analysis: > > - Line 31 shows that the DBI dir was of the "MakeMaker 'CONFIGURE' > Parameters" > - However, for some reason it didn't end up in the INC definition in > line 163. > > MakeMaker v6.42 bug? Time to move to Module::Build ?? > > --Joe
I have the stock Strawberry Perl the original reporter referred to and ExtUtils::MakeMaker 6.42 as it came with Strawberry. When I generate the Makefile it is generated correctly and the build of DBD::ODBC works fine. Here is the first cc line: gcc -c -IC:\strawberry\perl\site\lib\auto\DBI -s -O2 -DWIN32 -DHAVE_DES_FCRYPT -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -fno-strict-aliasing -DPERL_MSVCRT_READFIX -s -O2 -DVERSION=\"1.15\" -DXS_VERSION=\"1.15\" "-IC:\strawberry\perl\lib\CORE" -DWITH_UNICODE ODBC.c BTW, I've replied here rather than in DBD::ODBC where a bug was raised because the reported does not seem to reply. Martin
CC: jello [...] debian.org
Subject: Re: [rt.cpan.org #32789] DBD::ODBC -- Error code 129, while making 'ODBC.o'
Date: Wed, 13 Feb 2008 18:53:46 +0000
To: Martin J Evans via RT <bug-Perl-Dist-Strawberry [...] rt.cpan.org>
From: Joe Nahmias <jello [...] debian.org>
Hi Martin, On Tue, Feb 12, 2008 at 06:13:23AM -0500, Martin J Evans via RT wrote: Show quoted text
> > <URL: http://rt.cpan.org/Ticket/Display.html?id=32789 > > > On Thu Jan 31 13:13:06 2008, jello wrote:
> > > > Hmm, first the facts: > > > > C:\>egrep -n "\<INC" C:\strawberry\cpan\build\DBD-ODBC-1.15- > > TtLTK7\Makefile > > 9:# MakeMaker ARGV: (q[LIBS=-LC:\strawberry\c\lib], q[INC=- > > IC:\strawberry\c\in > > clude]) > > 17:# INC => q[] > > 31:# INC => q[ -IC:\strawberry\perl\site\lib\auto\DBI] > > 163:INC = -IC:\strawberry\c\include > > 315:CCCMD = $(CC) -c $(PASTHRU_INC) $(INC) \ > > 349: gcc -E -c $(PASTHRU_INC) $(INC) \ > > 684: cd $(DISTVNAME) && $(ABSPERLRUN) Makefile.PL "LIBS=- > > LC:\strawberry\c\lib" "INC=-IC:\strawberry\c\include" > > 894: $(PERLRUN) Makefile.PL "LIBS=-LC:\strawberry\c\lib" "INC=- > > IC:\strawberry\c\include" > > 917: INC=-IC:\strawberry\c\include
> > ok, I've not got egrep on this windows machine but I now have a compiler > and the build works fine. After "perl Makefile.PL MAKE=nmake" I have the > following INC references in my Makefile: > > # INC => q[] > # INC => q[ -IC:\strawberry\perl\site\lib\auto\DBI] > PERLMAINCC = $(CC) > PERL_INC = C:\strawberry\perl\lib\CORE > INC = -IC:\strawberry\perl\site\lib\auto\DBI > CONFIGDEP = $(PERL_ARCHLIB)$(DFSEP)Config.pm $(PERL_INC)$(DFSEP)config.h > PERL_ARCHIVE = $(PERL_INC)\libperl510.a > CCCMD = $(CC) -c $(PASTHRU_INC) $(INC) \ > gcc -E -c $(PASTHRU_INC) $(INC) \ > $(CCCMD) -S $(CCCDLFLAGS) "-I$(PERL_INC)" $(PASTHRU_DEFINE) $(DEFINE) $*.c > > Note, my INC clearly contains the path to DBI.
[snip] OK, so this is clearly the problem that for some reason, you've got INC setup properly, but mine didn't. Any ideas as to how we can track this down? I'm going to retry on another machine from scratch. Show quoted text
> BTW, I've replied here rather than in DBD::ODBC where a bug was raised > because the reported does not seem to reply.
Sorry, my email has been completely backed up due to spam. Should be better now. --Joe
Subject: Re: [rt.cpan.org #32789] DBD::ODBC -- Error code 129, while making 'ODBC.o'
Date: Fri, 15 Feb 2008 02:01:28 +0000
To: Martin J Evans via RT <bug-Perl-Dist-Strawberry [...] rt.cpan.org>
From: Joe Nahmias <jello [...] debian.org>
On Wed, Feb 13, 2008 at 06:53:46PM +0000, Joe Nahmias wrote: [snip] Show quoted text
> OK, so this is clearly the problem that for some reason, you've got INC > setup properly, but mine didn't. Any ideas as to how we can track this > down? I'm going to retry on another machine from scratch.
I've retried on another machine with exactly the same results. The steps I took are: 1) Download and install strawberry perl. 2) cpan -fi CPAN::Reporter 3) cpan -i DBI 4) cpan -i DBD::ODBC Note that some of the tests for CPAN::Reporter failed, so I had to force installation. Any ideas? --Joe
From: martin.evans [...] easysoft.com
On Thu Feb 14 21:02:37 2008, jello wrote: Show quoted text
> On Wed, Feb 13, 2008 at 06:53:46PM +0000, Joe Nahmias wrote: > [snip]
> > OK, so this is clearly the problem that for some reason, you've got INC > > setup properly, but mine didn't. Any ideas as to how we can track this > > down? I'm going to retry on another machine from scratch.
> > I've retried on another machine with exactly the same results. The > steps I took are: > > 1) Download and install strawberry perl. > 2) cpan -fi CPAN::Reporter > 3) cpan -i DBI > 4) cpan -i DBD::ODBC > > Note that some of the tests for CPAN::Reporter failed, so I had to force > installation. > > Any ideas? > > --Joe
Can we move this to the ticket you created on DBD::ODBC so the strawberry guys can close this. I now think it is an issue with the Makefile generated for dmake. Could you send me the generated Makefile. Have you got nmake and can you try building for nmake e.g. e.g., perl Makefile.PL MAKE=nmake Martin
As far as I am concerned this is not a strawberry issue and discussion has been moved to http://rt.cpan.org/Ticket/Display.html?id=32811 so you may close this issue now but note I am not the reporter and they may think differently. FWIW, the issue appears to be that INC=xxx on the command line when building the Makefile overrides any additions the Makefile.PL wants to make to INC so when DBD::ODBC adds the DBI include path to INC it is lost. The reporter was running "cpan -i DBD::ODBC" and this sets LIBS and INC on the command line. Martin
Not a Strawberry bug