Subject: | DBD-Firebird-1.24: Compilation using Strawberry Perl 5.24.2.1 fails |
Date: | Sat, 12 Aug 2017 14:18:32 +0200 |
To: | bug-DBD-Firebird [...] rt.cpan.org |
From: | Werner Bochtler <werner.bochtler [...] zkrd.de> |
Hello,
Compiling DBD-Firebird-1.24 using Strawberry Perl 5.24.2.1 (32 bit *and*
64 bit) fails with error code 129 as shown in the following screen log:
Show quoted text
--- begin of screen log ---
c:\temp\DBD-Firebird-1.24>perl Makefile.PL
Configuring DBD::Firebird (on MSWin32)
FIREBIRD_HOME : C:\Program Files (x86)\Firebird\Firebird_2_5
FIREBIRD_INCLUDE: C:\Program Files (x86)\Firebird\Firebird_2_5\include
FIREBIRD_LIB : C:\Program Files (x86)\Firebird\Firebird_2_5\lib
Client library : fbclient
Using DBI 1.636 (for perl 5.024002 on MSWin32-x86-multi-thread-64int)
installed in
C:/strawberry-perl-5.24.2.1-32bit-portable/perl/vendor/lib/auto/DBI/
Using MinGW gcc
libfbembed not found, building of DBD::FirebirdEmbed skipped.
Generating a dmake-style Makefile
Writing Makefile for DBD::Firebird
Writing MYMETA.yml and MYMETA.json
Please, set at least DBI_PASS (or ISC_PASSWORD), before 'make test'.
The default for DBI_USER is 'SYSDBA'.
c:\temp\DBD-Firebird-1.24>set ISC_PASSWORD=masterkey
c:\temp\DBD-Firebird-1.24>dmake test
...
C:\Program Files (x86)\Firebird\Firebird_2_5\lib/fbclient_ms.lib: error
adding symbols: File format not recognized
collect2.exe: error: ld returned 1 exit status
dmake: Error code 129, while making
'blib\arch\auto\DBD\Firebird\Firebird.xs.dll'
--- end of screen log ---
Observations:
1. Compilation and tests succeed with the following manual modification
to the generated Makefile.
< LDLOADLIBS = "C:\Program Files
(x86)\Firebird\Firebird_2_5\lib/fbclient_ms.lib" -lmoldname ...
> LDLOADLIBS = -Wl,--enable-stdcall-fixup "C:\Program Files
(x86)\Firebird\Firebird_2_5\bin\fbclient.dll" -lmoldname ...
2. When using Strawberry Perl 5.26.0.1 there are no issues except that
gmake instead of dmake has to be used now. This might be mentioned in
the README file.
Kind regards,
Werner