🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.perl
Article #52415

Re: PAR::Packer - problem z instalacją pod Windows / Strawberry Perl portable

#52415
From: Jarosław Lubczyński
Date: Tue, 28 Feb 2012 05:38
158 lines
7656 bytes
W dniu 2012-02-27 21:56, Jarosław Lubczyński pisze:
> Środowisko:
> Windows 7 Professional 64-bit (dla porządku, zapewne nie ma znaczenia)
> Perl: Strawberry portable 5.14.2.1 64-bit
> [ http://strawberryperl.com/releases.html ]
>
> Rozpakowałem zip'a do katalogu - powiedzmy - c:\myperl, w skrypcie
> wywołującym skrypt c:\myperl\bin\cpan.bat ustawiłem stosowne zmienne
> zgodnie z README.portable.txt
>
> No i zacząłem instalować moje ulubione moduły:
>
> cpan> install PAR
> Fetching with LWP:
> http://cpan.strawberryperl.com/authors/01mailrc.txt.gz
> ....
> Appending installation info to [...]
> RSCHUPP/PAR-1.005.tar.gz
> D:\ex\perl\portable\5.14.2.1-64\c\bin\dmake.exe install UNINST=1 -- OK
> cpan>
>
> ================================
> so far so good...
> ================================
>
> cpan> install PAR:Packer
> Running install for module 'PAR::Packer'
> Running make for R/RS/RSCHUPP/PAR-Packer-1.013.tar.gz
> Fetching with LWP:
> http://cpan.strawberryperl.com/authors/id/R/RS/RSCHUPP/PAR-Packer-1.013.tar.gz
>
> [...]
> Warning: prerequisite Getopt::ArgvFile 1.07 not found.
> Warning: prerequisite Module::ScanDeps 1.05 not found.
> [... instalacja w/w brakujących modułów zakończona sukcesem]
> CPAN.pm: Building R/RS/RSCHUPP/PAR-Packer-1.013.tar.gz
>
> cp lib/App/Packer/PAR.pm blib\lib\App\Packer\PAR.pm
> [... jeszcze parę cp's]
> cp lib/PAR/Filter/Bleach.pm blib\lib\PAR\Filter\Bleach.pm
>
> C:\myperl\perl\bin\perl.exe file2c.pl -s ..\script\par.pl my_par_pl.c
> load_my_par_pl
> C:\myperl\perl\bin\perl.exe sha1.c.PL
> gcc -c -s -O2 -DWIN32 -DWIN64 -DCONSERVATIVE
> -DPERL_TEXTMODE_SCRIPTS -DUSE_SITECUSTOMIZE
> -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS
> -fno-strict-aliasing -mms-bitfields
> -I"C:\myperl\perl\lib\CORE"
> -DLOAD_MY_LIBGCC -DPARL_EXE=\"parl.exe\" -s -O2 main.c
> windres -F pei-i386 -i winres\pp.rc -o winres\pp.res
> windres -o ppresource.coff winres\pp.res
> g++.exe main.o ppresource.coff -s -s
> -L"C:\myperl\perl\lib\CORE" -L"C:\myperl\c\lib"
> C:\myperl\perl\lib\CORE\libperl514.a
> C:\myperl\c\x86_64-w64-mingw32\lib\libmoldname.a
> C:\myperl\c\x86_64-w64-mingw32\lib\libkernel32.a
> C:\myperl\c\x86_64-w64-mingw32\lib\libuser32.a
> C:\myperl\c\x86_64-w64-mingw32\lib\libgdi32.a
> C:\myperl\c\x86_64-w64-mingw32\lib\libwinspool.a
> C:\myperl\c\x86_64-w64-mingw32\lib\libcomdlg32.a
> C:\myperl\c\x86_64-w64-mingw32\lib\libadvapi32.a
> C:\myperl\c\x86_64-w64-mingw32\lib\libshell32.a
> C:\myperl\c\x86_64-w64-mingw32\lib\libole32.a
> C:\myperl\c\x86_64-w64-mingw32\lib\liboleaut32.a
> C:\myperl\c\x86_64-w64-mingw32\lib\libnetapi32.a
> C:\myperl\c\x86_64-w64-mingw32\lib\libuuid.a
> C:\myperl\c\x86_64-w64-mingw32\lib\libws2_32.a
> C:\myperl\c\x86_64-w64-mingw32\lib\libmpr.a
> C:\myperl\c\x86_64-w64-mingw32\lib\libwinmm.a
> C:\myperl\c\x86_64-w64-mingw32\lib\libversion.a
> C:\myperl\c\x86_64-w64-mingw32\lib\libodbc32.a
> C:\myperl\c\x86_64-w64-mingw32\lib\libodbccp32.a
> C:\myperl\c\x86_64-w64-mingw32\lib\libcomctl32.a -o par.exe
>
> main.o:main.c:(.text+0x2b4f): undefined reference to
> `_imp__Perl_get_context'
> main.o:main.c:(.text+0x2d12): undefined reference to `_imp__Perl_newSVpv'
> main.o:main.c:(.text+0x31d1): undefined reference to `boot_DynaLoader'
> main.o:main.c:(.text+0x31e2): undefined reference to `_imp__Perl_newXS'
> main.o:main.c:(.text+0x31f6): undefined reference to `boot_Win32CORE'
> main.o:main.c:(.text+0x3253): undefined reference to
> `_imp__Perl_newXS_flags'
> main.o:main.c:(.text+0x4471): undefined reference to
> `_imp__Perl_gv_fetchpv'
> main.o:main.c:(.text+0x44e5): undefined reference to `_imp__Perl_av_fetch'
> main.o:main.c:(.text+0x4510): undefined reference to
> `_imp__Perl_sv_2pv_flags'
> main.o:main.c:(.text+0x4567): undefined reference to `_imp__Perl_sv_setpv'
> main.o:main.c:(.text+0x464a): undefined reference to `_imp__Perl_av_shift'
> main.o:main.c:(.text+0x467b): undefined reference to `_imp__Perl_mg_set'
> main.o:main.c:(.text+0x46e9): undefined reference to
> `_imp__Perl_croak_nocontext'
> main.o:main.c:(.text+0x477d): undefined reference to `_imp__Perl_dounwind'
> main.o:main.c:(.text+0x4798): undefined reference to
> `_imp__Perl_save_destructor_x'
> main.o:main.c:(.text.startup+0x26): undefined reference to
> `_imp__Perl_sys_init3'
> main.o:main.c:(.text.startup+0x2b): undefined reference to
> `_imp__PL_do_undump'
> main.o:main.c:(.text.startup+0x87): undefined reference to
> `_imp__Perl_safesysmalloc'
> main.o:main.c:(.text.startup+0xfc): undefined reference to
> `_imp__perl_parse'
> main.o:main.c:(.text.startup+0x110): undefined reference to
> `_imp__perl_destruct'
> main.o:main.c:(.text.startup+0x12c): undefined reference to
> `_imp__perl_free'
> main.o:main.c:(.text.startup+0x132): undefined reference to
> `_imp__Perl_sys_term'
> main.o:main.c:(.text.startup+0x141): undefined reference to
> `_imp__perl_alloc'
> main.o:main.c:(.text.startup+0x153): undefined reference to
> `_imp__perl_construct'
> main.o:main.c:(.text.startup+0x175): undefined reference to
> `_imp__perl_run'
> main.o:main.c:(.text.startup+0x1aa): undefined reference to
> `_imp__PL_memory_wrap'
> collect2: ld returned 1 exit status
> dmake: Error code 129, while making 'par.exe'
> dmake.exe: Error code 255, while making 'subdirs'
> RSCHUPP/PAR-Packer-1.013.tar.gz
> C:\myperl\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
> Failed during this command:
> RSCHUPP/PAR-Packer-1.013.tar.gz : make NO
>
> cpan>
>
>
> =================
>
> (powyżej połamałem trochę linię wywołującą g++ i wyciąłem powtarzające
> się niezdefiniowane symbole dla większej czytelności).
>
> OK. Widać, że linkerowi brakuje jakiejś biblioteki (-ek). Tylko
> której(-ych)? Sądząc po znajomych nazwach niektórych symboli jest to
> biblioteka raczej baaardzo podstawowa. "Szukacz" (Agent Ransack)
> odnalazł kilka (te, których szukałem wyrywkowo) z ww symboli w pliku
> perl\lib\CORE\libperl514.a

Autouzupełnienie #2: oczywiście zdaję sobie sprawę, że owe symbole mogą 
być *wymagane* a nie *dostarczane* przez bibliotekę ale bez narzędzia 
typu nm (a linuksowy nm "napuszczony" na libperl514.a odpowiedział mi 
zgodnie z oczekiwaniem, że "unrecognized format") nie jestem w stanie 
tych dwóch przypadków rozróżnić.

-- 
Pozdrawiam
Jarek Lubczyński
(eljot<NULL>90125 at gmail dot com)
Nawiasy trójkątne z zawartością zbędne są

There are 10 kinds of people:
Those who understand binary and those who don't
Technical Details
Message-ID: <jihpbc$tkh$1@opal.futuro.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!opal.futuro.pl!not-for-mail
References: <jigqpt$6c8$1@inews.gazeta.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!opal.futuro.pl!not-for-mail
From: Jarosław Lubczyński <guess@who.com.pl>
Newsgroups: pl.comp.lang.perl
Subject: Re: PAR::Packer - problem z instalacją pod Windows
 / Strawberry Perl portable
Date: Tue, 28 Feb 2012 06:38:09 +0100
Organization: Pro Futuro
Lines: 159
Message-ID: <jihpbc$tkh$1@opal.futuro.pl>
References: <jigqpt$6c8$1@inews.gazeta.pl>
Reply-To: guess@who.com.pl
NNTP-Posting-Host: ns.elkomtech.com.pl
Mime-Version: 1.0
X-Trace: opal.futuro.pl 1330407596 30353 62.233.147.142 (28 Feb 2012 05:39:56 GMT)
X-Complaints-To: usenet@futuro.pl
NNTP-Posting-Date: Tue, 28 Feb 2012 05:39:56 +0000 (UTC)
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:10.0.2) Gecko/20120216 Thunderbird/10.0.2
In-Reply-To: <jigqpt$6c8$1@inews.gazeta.pl>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit