jchen818 has asked for the wisdom of the Perl Monks concerning the following question:

Hi All

I tried to install Text::Aspell 0.09 which I download from CPAN on Windows with strawberry perl. However, I get the errors. Aspell is installed on my computer and I can execute the command 'aspell -a'.

The error message

C:\strawberry\cpan\build\Text-Aspell-0.09-MgtFsq>perl Makefile.PL CCFL +AGS=-IC:/strawberry/Aspell/include LIBS=-LC:/strawberry/Aspell/lib -l +aspell Generating a dmake-style Makefile Writing Makefile for Text::Aspell Writing MYMETA.yml and MYMETA.json C:\strawberry\cpan\build\Text-Aspell-0.09-MgtFsq>dmake install Skip blib\lib\Text\Aspell.pm (unchanged) Skip blib\lib\libpspell-15-dll.lib (unchanged) Skip blib\lib\aspell-15.lib (unchanged) Skip blib\lib\pspell-15.def (unchanged) Skip blib\lib\pspell-15.lib (unchanged) Skip blib\lib\aspell-15.def (unchanged) Skip blib\lib\libaspell-15-dll.lib (unchanged) Running Mkbootstrap for Text::Aspell () "C:\strawberry\perl\bin\perl.exe" -MExtUtils::Command -e chmod -- 644 +"Aspell.bs" gcc -c -IC:/strawberry/Aspell/include -s -O2 -DVERSION=\" +0.09\" -DXS_VERSION=\"0.09\" "-IC:\strawberry\perl\lib\CORE" Aspell.c dlltool --def Aspell.def --output-exp dll.exp g++ -o blib\arch\auto\Text\Aspell\Aspell.xs.dll -Wl,--base-file -Wl,dl +l.base -md ll -s -L"C:\strawberry\perl\lib\CORE" -L"C:\strawberry\c\lib" Aspell.o + "C:\str awberry\perl\lib\CORE\libperl522.a" "C:\strawberry\c\x86_64-w64-mingw3 +2\lib\libm oldname.a" "C:\strawberry\c\x86_64-w64-mingw32\lib\libkernel32.a" "C:\ +strawberry \c\x86_64-w64-mingw32\lib\libuser32.a" "C:\strawberry\c\x86_64-w64-min +gw32\lib\l ibgdi32.a" "C:\strawberry\c\x86_64-w64-mingw32\lib\libwinspool.a" "C:\ +strawberry \c\x86_64-w64-mingw32\lib\libcomdlg32.a" "C:\strawberry\c\x86_64-w64-m +ingw32\lib \libadvapi32.a" "C:\strawberry\c\x86_64-w64-mingw32\lib\libshell32.a" +"C:\strawb erry\c\x86_64-w64-mingw32\lib\libole32.a" "C:\strawberry\c\x86_64-w64- +mingw32\li b\liboleaut32.a" "C:\strawberry\c\x86_64-w64-mingw32\lib\libnetapi32.a +" "C:\stra wberry\c\x86_64-w64-mingw32\lib\libuuid.a" "C:\strawberry\c\x86_64-w64 +-mingw32\l ib\libws2_32.a" "C:\strawberry\c\x86_64-w64-mingw32\lib\libmpr.a" "C:\ +strawberry \c\x86_64-w64-mingw32\lib\libwinmm.a" "C:\strawberry\c\x86_64-w64-ming +w32\lib\li bversion.a" "C:\strawberry\c\x86_64-w64-mingw32\lib\libodbc32.a" "C:\s +trawberry\ c\x86_64-w64-mingw32\lib\libodbccp32.a" "C:\strawberry\c\x86_64-w64-mi +ngw32\lib\ libcomctl32.a" dll.exp Aspell.o:Aspell.c:(.text+0x10f): undefined reference to `aspell_config +_possible_ elements' Aspell.o:Aspell.c:(.text+0x1bc): undefined reference to `aspell_key_in +fo_enumera tion_next' Aspell.o:Aspell.c:(.text+0x2e0): undefined reference to `delete_aspell +_key_info_ enumeration' Aspell.o:Aspell.c:(.text+0x473): undefined reference to `get_aspell_di +ct_info_li st' Aspell.o:Aspell.c:(.text+0x47f): undefined reference to `aspell_dict_i +nfo_list_e lements' Aspell.o:Aspell.c:(.text+0x561): undefined reference to `aspell_dict_i +nfo_enumer ation_next' Aspell.o:Aspell.c:(.text+0x714): undefined reference to `delete_aspell +_dict_info _enumeration' Aspell.o:Aspell.c:(.text+0x873): undefined reference to `get_aspell_di +ct_info_li st' Aspell.o:Aspell.c:(.text+0x87f): undefined reference to `aspell_dict_i +nfo_list_e lements' Aspell.o:Aspell.c:(.text+0x953): undefined reference to `aspell_dict_i +nfo_enumer ation_next' Aspell.o:Aspell.c:(.text+0x967): undefined reference to `delete_aspell +_dict_info _enumeration' Aspell.o:Aspell.c:(.text+0xb8e): undefined reference to `new_aspell_sp +eller' Aspell.o:Aspell.c:(.text+0xb99): undefined reference to `aspell_error_ +number' Aspell.o:Aspell.c:(.text+0xbac): undefined reference to `delete_aspell +_config' Aspell.o:Aspell.c:(.text+0xbbc): undefined reference to `to_aspell_spe +ller' Aspell.o:Aspell.c:(.text+0xbc8): undefined reference to `aspell_spelle +r_config' Aspell.o:Aspell.c:(.text+0xbe4): undefined reference to `aspell_error_ +message' Aspell.o:Aspell.c:(.text+0xd86): undefined reference to `aspell_spelle +r_clear_se ssion' Aspell.o:Aspell.c:(.text+0xd92): undefined reference to `aspell_spelle +r_error' Aspell.o:Aspell.c:(.text+0xda0): undefined reference to `aspell_spelle +r_error_nu mber' Aspell.o:Aspell.c:(.text+0xdb0): undefined reference to `aspell_spelle +r_error_me ssage' Aspell.o:Aspell.c:(.text+0x11c6): undefined reference to `aspell_spell +er_save_al l_word_lists' Aspell.o:Aspell.c:(.text+0x11d2): undefined reference to `aspell_spell +er_error' Aspell.o:Aspell.c:(.text+0x11e0): undefined reference to `aspell_spell +er_error_n umber' Aspell.o:Aspell.c:(.text+0x11f0): undefined reference to `aspell_spell +er_error_m essage' Aspell.o:Aspell.c:(.text+0x14ea): undefined reference to `aspell_spell +er_store_r eplacement' Aspell.o:Aspell.c:(.text+0x14f5): undefined reference to `aspell_spell +er_error' Aspell.o:Aspell.c:(.text+0x1503): undefined reference to `aspell_spell +er_error_n umber' Aspell.o:Aspell.c:(.text+0x1513): undefined reference to `aspell_spell +er_error_m essage' Aspell.o:Aspell.c:(.text+0x1781): undefined reference to `aspell_spell +er_add_to_ session' Aspell.o:Aspell.c:(.text+0x178d): undefined reference to `aspell_spell +er_error' Aspell.o:Aspell.c:(.text+0x179b): undefined reference to `aspell_spell +er_error_n umber' Aspell.o:Aspell.c:(.text+0x17aa): undefined reference to `aspell_spell +er_error_m essage' Aspell.o:Aspell.c:(.text+0x1a11): undefined reference to `aspell_spell +er_add_to_ personal' Aspell.o:Aspell.c:(.text+0x1a1d): undefined reference to `aspell_spell +er_error' Aspell.o:Aspell.c:(.text+0x1a2b): undefined reference to `aspell_spell +er_error_n umber' Aspell.o:Aspell.c:(.text+0x1a3a): undefined reference to `aspell_spell +er_error_m essage' Aspell.o:Aspell.c:(.text+0x1c71): undefined reference to `aspell_spell +er_suggest ' Aspell.o:Aspell.c:(.text+0x1c86): undefined reference to `aspell_word_ +list_eleme nts' Aspell.o:Aspell.c:(.text+0x1ccf): undefined reference to `aspell_strin +g_enumerat ion_next' Aspell.o:Aspell.c:(.text+0x1d07): undefined reference to `delete_aspel +l_string_e numeration' Aspell.o:Aspell.c:(.text+0x1d55): undefined reference to `aspell_spell +er_error_n umber' Aspell.o:Aspell.c:(.text+0x1d64): undefined reference to `aspell_spell +er_error_m essage' Aspell.o:Aspell.c:(.text+0x1f51): undefined reference to `aspell_spell +er_check' Aspell.o:Aspell.c:(.text+0x1f5d): undefined reference to `aspell_spell +er_error' Aspell.o:Aspell.c:(.text+0x1f6b): undefined reference to `aspell_spell +er_error_n umber' Aspell.o:Aspell.c:(.text+0x1f7a): undefined reference to `aspell_spell +er_error_m essage' Aspell.o:Aspell.c:(.text+0x2287): undefined reference to `new_aspell_s +tring_list ' Aspell.o:Aspell.c:(.text+0x2296): undefined reference to `aspell_strin +g_list_to_ mutable_container' Aspell.o:Aspell.c:(.text+0x2380): undefined reference to `aspell_confi +g_retrieve _list' Aspell.o:Aspell.c:(.text+0x2389): undefined reference to `aspell_confi +g_error_nu mber' Aspell.o:Aspell.c:(.text+0x23a3): undefined reference to `aspell_strin +g_list_ele ments' Aspell.o:Aspell.c:(.text+0x23eb): undefined reference to `aspell_strin +g_enumerat ion_next' Aspell.o:Aspell.c:(.text+0x2426): undefined reference to `delete_aspel +l_string_e numeration' Aspell.o:Aspell.c:(.text+0x242e): undefined reference to `delete_aspel +l_string_l ist' Aspell.o:Aspell.c:(.text+0x2445): undefined reference to `aspell_confi +g_error_me ssage' Aspell.o:Aspell.c:(.text+0x245f): undefined reference to `delete_aspel +l_string_l ist' Aspell.o:Aspell.c:(.text+0x2648): undefined reference to `aspell_confi +g_retrieve ' Aspell.o:Aspell.c:(.text+0x2654): undefined reference to `aspell_confi +g_error_nu mber' Aspell.o:Aspell.c:(.text+0x2695): undefined reference to `aspell_confi +g_error_me ssage' Aspell.o:Aspell.c:(.text+0x28a8): undefined reference to `aspell_confi +g_remove' Aspell.o:Aspell.c:(.text+0x28b1): undefined reference to `aspell_confi +g_error_nu mber' Aspell.o:Aspell.c:(.text+0x28f5): undefined reference to `aspell_confi +g_error_me ssage' Aspell.o:Aspell.c:(.text+0x2b78): undefined reference to `aspell_confi +g_replace' Aspell.o:Aspell.c:(.text+0x2b81): undefined reference to `aspell_confi +g_error_nu mber' Aspell.o:Aspell.c:(.text+0x2bc5): undefined reference to `aspell_confi +g_error_me ssage' Aspell.o:Aspell.c:(.text+0x2d8f): undefined reference to `aspell_confi +g_possible _elements' Aspell.o:Aspell.c:(.text+0x2da8): undefined reference to `aspell_confi +g_retrieve ' Aspell.o:Aspell.c:(.text+0x2dd6): undefined reference to `aspell_key_i +nfo_enumer ation_next' Aspell.o:Aspell.c:(.text+0x2de6): undefined reference to `delete_aspel +l_key_info _enumeration' Aspell.o:Aspell.c:(.text+0x2f7e): undefined reference to `delete_aspel +l_speller' Aspell.o:Aspell.c:(.text+0x3084): undefined reference to `new_aspell_c +onfig' collect2.exe: error: ld returned 1 exit status dmake: Error code 129, while making 'blib\arch\auto\Text\Aspell\Aspel +l.xs.dll'

Does anyone have any idea about how to solve this issue?

Thanks.

John

2017-11-08 Athanasius added code and paragragh tags

Replies are listed 'Best First'.
Re: Text::Aspell on Win32 installation fail
by syphilis (Archbishop) on Nov 07, 2017 at 21:33 UTC
    perl Makefile.PL CCFLAGS=-IC:/strawberry/Aspell/include LIBS=-LC:/strawberry/Aspell/lib -laspell

    You have not managed to pull in the aspell library.
    I would replace "CCFLAGS" with "INC" (because "INC" is the norm) and I would place the LIBS value inside double quotes (because of the space between ".../lib" and "-laspell") :

    perl Makefile.PL INC=-IC:/strawberry/Aspell/include LIBS="-LC:/strawberry/Aspell/lib -laspell"

    Cheers,
    Rob
Re: Text::Aspell on Win32 installation fail
by duff (Parson) on Nov 07, 2017 at 21:35 UTC

    Greetings jchen818. I don't know if you realize or not, but your query is horribly formatted. Taking some time to reformat it so that it's legible could go along way towards getting people to actually read and understand it. :-)

    That said, it looks like your compiler might be having trouble finding or loading the appropriate aspell library. (It's hard to tell with the wall of text, but all those "undefined reference" stick out well enough)