Hi everybory, Endvironment: OS: Win7 Pro 64-bit (irrelevant I presume, just in case) Perl: Strawberry portable 5.14.2.1 64-bit [ http://strawberryperl.com/releases.html ] I have: 1. Unpacked zip file into, saying, C:\myperl 2. Set env vars due to README.portable.txt 3. Started to install my favourite modules: 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. [... required modules installed successfully ...] CPAN.pm: Building R/RS/RSCHUPP/PAR-Packer-1.013.tar.gz cp lib/App/Packer/PAR.pm blib\lib\App\Packer\PAR.pm [... some more cps' here ...] 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> ================= (I have broken command line and deleted repetative lines above for better readability). Oops... But OK, seems to me the linker couldn't find some symbols due to one or more library missing in command line. But which one? Because of lack of tool like Linux' 'nm' (*) I used Agent Ransack which found those symbols in libperl514.a only. But of course it couldn't say whether the library *defines* or *requires* those symbols. I do not know much about mangled external symbols in Windows lib's with dynamic linking used, but symbols '_imp__*' and other missing are present in perl\bin\perl514.dll (and many others dll's but I guess it may be perl514.dll which provides those symbols). ******************* So question is: ******************* Which library supplies missing symbols listed above? Is it perl514.dll? If so, how to make linker to see the library? or Which (config?) file(s) I must modify to make the problem extinct permanently? Is it perl/lib/Config_heavy.pl? Which line(s) must I edit? (*) is any similar tool to nm which recognizes format of *.a files on Wins (made by mingw I think)? Cygwin's nm (2.22) doesn't, Linux' nm (2.17) either, as one may expect... Any help will be appreciated. -- Greetings Jarek Lubczyński There are 10 kinds of people: Those who understand binary and those who don'tThread Next