Skip Menu |
 

This queue is for tickets about the Text-Iconv CPAN distribution.

Report information
The Basics
Id: 35135
Status: open
Priority: 0/
Queue: Text-Iconv

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

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



Subject: Can't build Text::Iconv 1.7
Date: Wed, 16 Apr 2008 20:49:35 +0000
To: bug-Text-Iconv [...] rt.cpan.org
From: Joe Nahmias <jello [...] debian.org>
Download (untitled) / with headers
text/plain 2.6k
Hello, I tried to install the Text::Iconv module into my Strawberry Perl installation and got a bunch of undefined references when trying to link Iconv.dll: undefined reference to `_imp__libiconv' undefined reference to `_imp__libiconv' undefined reference to `_imp__libiconvctl' undefined reference to `_imp__libiconv_open' undefined reference to `_imp__libiconv_open' undefined reference to `_imp__libiconv_close' Full build log is attached. Details on my config: D:\>perl -V Summary of my perl5 (revision 5 version 10 subversion 0) configuration: Platform: osname=MSWin32, osvers=5.1, archname=MSWin32-x86-multi-thread uname='' config_args='undef' hint=recommended, useposix=true, d_sigaction=undef useithreads=define, usemultiplicity=define useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef use64bitint=undef, use64bitall=undef, uselongdouble=undef usemymalloc=n, bincompat5005=undef Compiler: cc='gcc', ccflags =' -s -O2 -DWIN32 -DHAVE_DES_FCRYPT -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -fno-strict-aliasing -DPERL_MSVCRT_READFIX', optimize='-s -O2', cppflags='-DWIN32' ccversion='', gccversion='3.4.5', gccosandvers='' intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234 d_longlong=undef, longlongsize=8, d_longdbl=define, longdblsize=12 ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='long long', lseeksize=8 alignbytes=8, prototype=define Linker and Libraries: ld='g++', ldflags ='-s -L"C:\strawberry\perl\lib\CORE" -L"C:\strawberry\c\lib"' libpth=C:\strawberry\c\lib libs= -lmsvcrt -lmoldname -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr -lwinmm -lversion -lodbc32 -lodbccp32 perllibs= -lmsvcrt -lmoldname -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr -lwinmm -lversion -lodbc32 -lodbccp32 libc=-lmsvcrt, so=dll, useshrplib=true, libperl=libperl510.a gnulibc_version='' Dynamic Linking: dlsrc=dl_win32.xs, dlext=dll, d_dlsymun=undef, ccdlflags=' ' cccdlflags=' ', lddlflags='-mdll -s -L"C:\strawberry\perl\lib\CORE" -L"C:\strawberry\c\lib"' Characteristics of this binary (from libperl): Compile-time options: MULTIPLICITY PERL_DONT_CREATE_GVSV PERL_IMPLICIT_CONTEXT PERL_IMPLICIT_SYS PERL_MALLOC_WRAP PL_OP_SLAB_ALLOC USE_ITHREADS USE_LARGE_FILES USE_PERLIO Built under MSWin32 Compiled at Dec 21 2007 14:11:41 @INC: C:/strawberry/perl/lib C:/strawberry/perl/site/lib .
Subject: Re: [rt.cpan.org #35135] Can't build Text::Iconv 1.7
Date: Wed, 16 Apr 2008 21:31:31 +0000
To: Bugs in Text-Iconv via RT <bug-Text-Iconv [...] rt.cpan.org>
From: Joe Nahmias <jello [...] debian.org>
Oops, forgot the attachment...

Message body is not shown because sender requested not to inline it.

From: mxp [...] dynalabs.de
Download (untitled) / with headers
text/plain 940b
Hi, On Wed Apr 16 16:50:10 2008, jello wrote: Show quoted text
> I tried to install the Text::Iconv module into my Strawberry Perl > installation and got a bunch of undefined references when trying to > link Iconv.dll: > > undefined reference to `_imp__libiconv' > undefined reference to `_imp__libiconv' > undefined reference to `_imp__libiconvctl' > undefined reference to `_imp__libiconv_open' > undefined reference to `_imp__libiconv_open' > undefined reference to `_imp__libiconv_close' > > Full build log is attached. Details on my config:
Apparently (judging from the build log), it is not being linked to libiconv. No wonder the functions can't be found. Since I don't have access to a Windows system, this is hard to debug. The need for -liconv is correctly detected, so -liconv should be added to the $config{LIBS}. I don't know why it is not used, maybe it's overwritten. Someone would have to figure this out.
I just managed to install Text::Iconv 1.7 on Strawberry 5.10.1, out of the box:

<<
C:\>cpan Text::Iconv
Database was generated on Tue, 19 Jan 2010 08:11:19 GMT
Running install for module 'Text::Iconv'
Running make for M/MP/MPIOTR/Text-Iconv-1.7.tar.gz
Fetching with LWP:
http://cpan.strawberryperl.com/authors/id/M/MP/MPIOTR/Text-Iconv-1.7.tar.gz
Fetching with LWP:
http://cpan.strawberryperl.com/authors/id/M/MP/MPIOTR/CHECKSUMS
Checksum for C:\strawberry\cpan\sources\authors\id\M\MP\MPIOTR\Text-Iconv-1.7.tar.gz ok

  CPAN.pm: Going to build M/MP/MPIOTR/Text-Iconv-1.7.tar.gz

Checking for iconv ... ok (added -liconv)

NOTE: If you have multiple iconv implementations installed, you might
      want to make sure that I've found the one you want to use.
      If necessary, you can explicitly specify paths like this:

      C:\strawberry\perl\bin\perl.exe Makefile.PL LIBS='-L/path/to/lib' INC='-I/path/to/include'

Checking if your kit is complete...
Looks good
Writing Makefile for Text::Iconv
(C:\strawberry\perl\bin\perl.exe Makefile.PL exited with 0)
CPAN::Reporter: Makefile.PL result is 'pass', No errors.
cp Iconv.pm blib\lib\Text\Iconv.pm
AutoSplitting blib\lib\Text\Iconv.pm (blib\lib\auto\Text\Iconv)
C:\strawberry\perl\bin\perl.exe C:\strawberry\perl\lib\ExtUtils\xsubpp  -typemap C:\strawberry\perl\lib\ExtUtils\typemap -typemap typemap  Iconv.xs > Iconv.xsc && C:\strawberry\perl\bin\perl.exe -MExtUtils::Command -e "mv" -- Iconv.xsc Iconv.cgcc -c          -s -O2 -DWIN32 -DHAVE_DES_FCRYPT -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -fno-strict-aliasing -DPERL_MSVCRT_READFIX -s -O2    -DVERSION=\"1.7\"     -DXS_VERSION=\"1.7\"  "-IC:\strawberry\perl\lib\CORE"   Iconv.c
Running Mkbootstrap for Text::Iconv ()
C:\strawberry\perl\bin\perl.exe -MExtUtils::Command -e "chmod" -- 644 Iconv.bs
C:\strawberry\perl\bin\perl.exe -MExtUtils::Mksymlists \
     -e "Mksymlists('NAME'=>\"Text::Iconv\", 'DLBASE' => 'Iconv', 'DL_FUNCS' => {  }, 'FUNCLIST' => [], 'IMPORTS' => {  }, 'DL_VARS' => []);"
dlltool --def Iconv.def --output-exp dll.exp
g++ -o blib\arch\auto\Text\Iconv\Iconv.dll -Wl,--base-file -Wl,dll.base -mdll -s -L"C:\strawberry\perl\lib\CORE" -L"C:\strawberry\c\lib" Iconv.o -Wl,--image-base,0x3f4d0000  C:\strawberry\perl\lib\CORE\libperl510.a C:\strawberry\c\lib\libiconv.a C:\strawberry\c\lib\libmoldname.a C:\strawberry\c\lib\libkernel32.a C:\strawberry\c\lib\libuser32.a C:\strawberry\c\lib\libgdi32.a C:\strawberry\c\lib\libwinspool.a C:\strawberry\c\lib\libcomdlg32.a C:\strawberry\c\lib\libadvapi32.a C:\strawberry\c\lib\libshell32.a C:\strawberry\c\lib\libole32.a C:\strawberry\c\lib\liboleaut32.a C:\strawberry\c\lib\libnetapi32.a C:\strawberry\c\lib\libuuid.a C:\strawberry\c\lib\libws2_32.a C:\strawberry\c\lib\libmpr.a C:\strawberry\c\lib\libwinmm.a C:\strawberry\c\lib\libversion.a C:\strawberry\c\lib\libodbc32.a C:\strawberry\c\lib\libodbccp32.a dll.exp
dlltool --def Iconv.def --base-file dll.base --output-exp dll.exp
g++ -o blib\arch\auto\Text\Iconv\Iconv.dll -mdll -s -L"C:\strawberry\perl\lib\CORE" -L"C:\strawberry\c\lib" Iconv.o -Wl,--image-base,0x3f4d0000  C:\strawberry\perl\lib\CORE\libperl510.a C:\strawberry\c\lib\libiconv.a C:\strawberry\c\lib\libmoldname.a C:\strawberry\c\lib\libkernel32.a C:\strawberry\c\lib\libuser32.a C:\strawberry\c\lib\libgdi32.a C:\strawberry\c\lib\libwinspool.a C:\strawberry\c\lib\libcomdlg32.a C:\strawberry\c\lib\libadvapi32.a C:\strawberry\c\lib\libshell32.a C:\strawberry\c\lib\libole32.a C:\strawberry\c\lib\liboleaut32.a C:\strawberry\c\lib\libnetapi32.a C:\strawberry\c\lib\libuuid.a C:\strawberry\c\lib\libws2_32.a C:\strawberry\c\lib\libmpr.a C:\strawberry\c\lib\libwinmm.a C:\strawberry\c\lib\libversion.a C:\strawberry\c\lib\libodbc32.a C:\strawberry\c\lib\libodbccp32.a dll.exp
C:\strawberry\perl\bin\perl.exe -MExtUtils::Command -e "chmod" -- 755 blib\arch\auto\Text\Iconv\Iconv.dll
C:\strawberry\perl\bin\perl.exe -MExtUtils::Command -e "cp" -- Iconv.bs blib\arch\auto\Text\Iconv\Iconv.bs
C:\strawberry\perl\bin\perl.exe -MExtUtils::Command -e "chmod" -- 644 blib\arch\auto\Text\Iconv\Iconv.bs
(C:\strawberry\c\bin\dmake.EXE exited with 0)
CPAN::Reporter: dmake result is 'pass', No errors.
  MPIOTR/Text-Iconv-1.7.tar.gz
  C:\strawberry\c\bin\dmake.EXE -- OK
Running make test
C:\strawberry\perl\bin\perl.exe "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib\lib', 'blib\arch')" t/*.t
t/00_load.t ...... ok
t/01_charsets.t .. ok
All tests successful.
Files=2, Tests=14,  1 wallclock secs ( 0.06 usr +  0.01 sys =  0.08 CPU)
Result: PASS
(C:\strawberry\c\bin\dmake.EXE test exited with 0)
CPAN::Reporter: Test result is 'pass', All tests successful.
CPAN::Reporter: preparing a CPAN Testers report for Text-Iconv-1.7
CPAN::Reporter: sending test report with 'pass' to cpan-testers@perl.org
  MPIOTR/Text-Iconv-1.7.tar.gz
  C:\strawberry\c\bin\dmake.EXE test -- OK
Running make install
Prepending C:\strawberry\cpan\build\Text-Iconv-1.7-EQT4ZA/blib/arch C:\strawberry\cpan\build\Text-Iconv-1.7-EQT4ZA/blib/lib to PERL5LIB for 'install'
Files found in blib\arch: installing files in blib\lib into architecture dependent library tree
Installing C:\strawberry\perl\site\lib\auto\Text\Iconv\Iconv.bs
Installing C:\strawberry\perl\site\lib\auto\Text\Iconv\Iconv.dll
Installing C:\strawberry\perl\site\lib\auto\Text\Iconv\autosplit.ix
Installing C:\strawberry\perl\site\lib\Text\Iconv.pm
Appending installation info to C:\strawberry\perl\lib/perllocal.pod
  MPIOTR/Text-Iconv-1.7.tar.gz
  C:\strawberry\c\bin\dmake.EXE install UNINST=1 -- OK
Show quoted text
>>
From: insane [...] mozgam.net
Download (untitled) / with headers
text/plain 4.3k
Win7 x64, Strawberry Perl 5.14.2.1 (32bit), still does not work: C:\Users\Insane\Documents\Dropbox\Dev\perl\gupkb>cpan Text::Iconv CPAN: LWP::UserAgent loaded ok (v6.03) CPAN: Time::HiRes loaded ok (v1.9724) Fetching with LWP: http://cpan.strawberryperl.com/authors/01mailrc.txt.gz CPAN: YAML loaded ok (v0.77) CPAN: CPAN::SQLite loaded ok (v0.202) Fetching with LWP: http://cpan.strawberryperl.com/modules/02packages.details.txt.gz Fetching with LWP: http://cpan.strawberryperl.com/modules/03modlist.data.gz Creating database file ... Done!Running install for module 'Text::Iconv' Running make for M/MP/MPIOTR/Text-Iconv-1.7.tar.gz Fetching with LWP: http://cpan.strawberryperl.com/authors/id/M/MP/MPIOTR/Text-Iconv-1.7.tar.gz CPAN: Digest::SHA loaded ok (v5.63) Fetching with LWP: http://cpan.strawberryperl.com/authors/id/M/MP/MPIOTR/CHECKSUMS CPAN: Compress::Zlib loaded ok (v2.042) Checksum for D:\strawberry\cpan\sources\authors\id\M\MP\MPIOTR\Text-Iconv-1.7.ta r.gz ok CPAN: Archive::Tar loaded ok (v1.80) CPAN: File::Temp loaded ok (v0.22) CPAN: Parse::CPAN::Meta loaded ok (v1.4401) CPAN: CPAN::Meta loaded ok (v2.112621) CPAN.pm: Building M/MP/MPIOTR/Text-Iconv-1.7.tar.gz Checking for iconv ... ok (added -liconv) NOTE: If you have multiple iconv implementations installed, you might want to make sure that I've found the one you want to use. If necessary, you can explicitly specify paths like this: D:\strawberry\perl\bin\perl.exe Makefile.PL LIBS='-L/path/to/lib' INC='-I/ path/to/include' Checking if your kit is complete... Looks good Writing Makefile for Text::Iconv Writing MYMETA.yml and MYMETA.json CPAN: Module::CoreList loaded ok (v2.57) cp Iconv.pm blib\lib\Text\Iconv.pm AutoSplitting blib\lib\Text\Iconv.pm (blib\lib\auto\Text\Iconv) D:\strawberry\perl\bin\perl.exe D:\strawberry\perl\lib\ExtUtils\xsubpp -typemap D:\strawberry\perl\lib\ExtUtils\typemap -typemap typemap Iconv.xs > Iconv.xsc && D:\strawberry\perl\bin\perl.exe -MExtUtils::Command -e mv -- Iconv.xsc Iconv. c gcc -c -s -O2 -DWIN32 -DPERL_TEXTMODE_SCRIPTS -DUSE_SITECUSTOMIZE -DPER L_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -fno-strict-aliasing -mms-bitfields -s -O 2 -DVERSION=\"1.7\" -DXS_VERSION=\"1.7\" "-ID:\strawberry\perl\lib\ CORE" Iconv.c Iconv.xs: In function 'do_conv': Iconv.xs:124: warning: passing argument 2 of 'libiconv' from incompatible pointe r type d:\strawberry\c\bin\../lib/gcc/i686-w64-mingw32/4.4.7/../../../../include/iconv. h:83: note: expected 'char **' but argument is of type 'const char **' Running Mkbootstrap for Text::Iconv () D:\strawberry\perl\bin\perl.exe -MExtUtils::Command -e chmod -- 644 Iconv.bs D:\strawberry\perl\bin\perl.exe -MExtUtils::Mksymlists \ -e "Mksymlists('NAME'=>\"Text::Iconv\", 'DLBASE' => 'Iconv', 'DL_FUNCS' => { }, 'FUNCLIST' => [], 'IMPORTS' => { }, 'DL_VARS' => []);" dlltool --def Iconv.def --output-exp dll.exp g++ -o blib\arch\auto\Text\Iconv\Iconv.dll -Wl,--base-file -Wl,dll.base -mdll -s -L"D:\strawberry\perl\lib\CORE" -L"D:\strawberry\c\lib" Iconv.o D:\strawberry \perl\lib\CORE\libperl514.a D:\strawberry\c\lib\libiconv.a D:\strawberry\c\i686- w64-mingw32\lib\libmoldname.a D:\strawberry\c\i686-w64-mingw32\lib\libkernel32.a D:\strawberry\c\i686-w64-mingw32\lib\libuser32.a D:\strawberry\c\i686-w64-mingw 32\lib\libgdi32.a D:\strawberry\c\i686-w64-mingw32\lib\libwinspool.a D:\strawber ry\c\i686-w64-mingw32\lib\libcomdlg32.a D:\strawberry\c\i686-w64-mingw32\lib\lib advapi32.a D:\strawberry\c\i686-w64-mingw32\lib\libshell32.a D:\strawberry\c\i68 6-w64-mingw32\lib\libole32.a D:\strawberry\c\i686-w64-mingw32\lib\liboleaut32.a D:\strawberry\c\i686-w64-mingw32\lib\libnetapi32.a D:\strawberry\c\i686-w64-ming w32\lib\libuuid.a D:\strawberry\c\i686-w64-mingw32\lib\libws2_32.a D:\strawberry \c\i686-w64-mingw32\lib\libmpr.a D:\strawberry\c\i686-w64-mingw32\lib\libwinmm.a D:\strawberry\c\i686-w64-mingw32\lib\libversion.a D:\strawberry\c\i686-w64-ming w32\lib\libodbc32.a D:\strawberry\c\i686-w64-mingw32\lib\libodbccp32.a D:\strawb erry\c\i686-w64-mingw32\lib\libcomctl32.a dll.exp dll.exp: file not recognized: File format not recognized collect2: ld returned 1 exit status dmake.EXE: Error code 129, while making 'blib\arch\auto\Text\Iconv\Iconv.dll' MPIOTR/Text-Iconv-1.7.tar.gz D:\strawberry\c\bin\dmake.EXE -- NOT OK Running make test Can't test without successful make Running make install Make had returned bad status, install seems impossible


This service is sponsored and maintained by Best Practical Solutions and runs on Perl.org infrastructure.

Please report any issues with rt.cpan.org to rt-cpan-admin@bestpractical.com.