Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 318653

Summary: app-text/hunspell-1.2.9 fails to build on IRIX
Product: Gentoo/Alt Reporter: Stuart Shelton <srcshelton>
Component: Prefix SupportAssignee: Gentoo Prefix <prefix>
Status: RESOLVED WONTFIX    
Severity: normal    
Priority: High    
Version: unspecified   
Hardware: All   
OS: IRIX   
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: hunspell/files/hunspell-1.2.9-libparsers.patch
hunspell-1.2.9.ebuild.patch

Description Stuart Shelton 2010-05-05 17:23:30 UTC
With patches (against issues which have now been fixed upstream), hunspell-1.2.8 builds successfully on IRIX.

hunspell-1.2.9, however, fails with:

Making all in tools
make[3]: Entering directory `/usr/opt/gentoo/var/tmp/portage/app-text/hunspell-1.2.9/work/hunspell-1.2.9/src/tools'
source='analyze.cxx' object='analyze.o' libtool=no \
        DEPDIR=.deps depmode=gcc /opt/gentoo/bin/bash ../../depcomp \                                                                                                                                      CC -DHAVE_CONFIG_H -I. -I../.. -I../../src/hunspell -I../../src/parsers  -I/opt/gentoo/usr/include  -J2 -O2 -n32 -mips4 -r14000 -float_const -use_readonly_const -TARG:isa=mips4:platform=ip30:processor=r14000 -TENV:zeroinit_in_bss=ON -OPT:fast_io=ON:Olimit=8192:reorg_common=ON:swp=ON -LNO:auto_dist=ON:fusion_peeling_limit=8:gather_scatter=2 -diag_error 1035,1999,3333 -FE:eliminate_duplicate_inline_copies:template_in_elf_section -woff 1174,1183,1185,1552,3968,3970  -c -o analyze.o analyze.cxx                                                                                  /opt/gentoo/bin/bash ../../libtool --tag=CXX   --mode=link CC  -J2 -O2 -n32 -mips4 -r14000 -float_const -use_readonly_const -TARG:isa=mips4:platform=ip30:processor=r14000 -TENV:zeroinit_in_bss=ON -OPT:fast_io=ON:Olimit=8192:reorg_common=ON:swp=ON -LNO:auto_dist=ON:fusion_peeling_limit=8:gather_scatter=2 -diag_error 1035,1999,3333 -FE:eliminate_duplicate_inline_copies:template_in_elf_section -woff 1174,1183,1185,1552,3968,3970   -Wl,-n32,-mips4,-rdata_shared,-allow_jump_at_eop,-rpath,/opt/gentoo/usr/lib32:/opt/gentoo/lib32 -L/opt/gentoo/usr/lib32 -L/opt/gentoo/lib32 -o hunspell-analyze analyze.o ../hunspell/libhunspell-1.2.la
libtool: link: CC -J2 -O2 -n32 -mips4 -r14000 -float_const -use_readonly_const -TARG:isa=mips4:platform=ip30:processor=r14000 -TENV:zeroinit_in_bss=ON -OPT:fast_io=ON:Olimit=8192:reorg_common=ON:swp=ON -LNO:auto_dist=ON:fusion_peeling_limit=8:gather_scatter=2 -diag_error 1035,1999,3333 -FE:eliminate_duplicate_inline_copies:template_in_elf_section -woff 1174,1183,1185,1552,3968,3970 -Wl,-n32 -Wl,-mips4 -Wl,-rdata_shared -Wl,-allow_jump_at_eop -Wl,-rpath -Wl,/opt/gentoo/usr/lib32:/opt/gentoo/lib32 -o .libs/hunspell-analyze analyze.o  -L/opt/gentoo/usr/lib32 -L/opt/gentoo/lib32 ../hunspell/.libs/libhunspell-1.2.so -Wl,-rpath -Wl,/usr/opt/gentoo/var/tmp/portage/app-text/hunspell-1.2.9/work/hunspell-1.2.9/src/hunspell/.libs:/opt/gentoo/usr/lib32
source='chmorph.cxx' object='chmorph.o' libtool=no \
        DEPDIR=.deps depmode=gcc /opt/gentoo/bin/bash ../../depcomp \
        CC -DHAVE_CONFIG_H -I. -I../.. -I../../src/hunspell -I../../src/parsers  -I/opt/gentoo/usr/include  -J2 -O2 -n32 -mips4 -r14000 -float_const -use_readonly_const -TARG:isa=mips4:platform=ip30:processor=r14000 -TENV:zeroinit_in_bss=ON -OPT:fast_io=ON:Olimit=8192:reorg_common=ON:swp=ON -LNO:auto_dist=ON:fusion_peeling_limit=8:gather_scatter=2 -diag_error 1035,1999,3333 -FE:eliminate_duplicate_inline_copies:template_in_elf_section -woff 1174,1183,1185,1552,3968,3970  -c -o chmorph.o chmorph.cxx
/opt/gentoo/bin/bash ../../libtool --tag=CXX   --mode=link CC  -J2 -O2 -n32 -mips4 -r14000 -float_const -use_readonly_const -TARG:isa=mips4:platform=ip30:processor=r14000 -TENV:zeroinit_in_bss=ON -OPT:fast_io=ON:Olimit=8192:reorg_common=ON:swp=ON -LNO:auto_dist=ON:fusion_peeling_limit=8:gather_scatter=2 -diag_error 1035,1999,3333 -FE:eliminate_duplicate_inline_copies:template_in_elf_section -woff 1174,1183,1185,1552,3968,3970   -Wl,-n32,-mips4,-rdata_shared,-allow_jump_at_eop,-rpath,/opt/gentoo/usr/lib32:/opt/gentoo/lib32 -L/opt/gentoo/usr/lib32 -L/opt/gentoo/lib32 -o hunspell-chmorph chmorph.o ../hunspell/libhunspell-1.2.la ../parsers/libparsers.a
libtool: link: CC -J2 -O2 -n32 -mips4 -r14000 -float_const -use_readonly_const -TARG:isa=mips4:platform=ip30:processor=r14000 -TENV:zeroinit_in_bss=ON -OPT:fast_io=ON:Olimit=8192:reorg_common=ON:swp=ON -LNO:auto_dist=ON:fusion_peeling_limit=8:gather_scatter=2 -diag_error 1035,1999,3333 -FE:eliminate_duplicate_inline_copies:template_in_elf_section -woff 1174,1183,1185,1552,3968,3970 -Wl,-n32 -Wl,-mips4 -Wl,-rdata_shared -Wl,-allow_jump_at_eop -Wl,-rpath -Wl,/opt/gentoo/usr/lib32:/opt/gentoo/lib32 -o .libs/hunspell-chmorph chmorph.o  -L/opt/gentoo/usr/lib32 -L/opt/gentoo/lib32 ../hunspell/.libs/libhunspell-1.2.so ../parsers/libparsers.a -Wl,-rpath -Wl,/usr/opt/gentoo/var/tmp/portage/app-text/hunspell-1.2.9/work/hunspell-1.2.9/src/hunspell/.libs:/opt/gentoo/usr/lib32
ld32: ERROR   33 : Unresolved text symbol "mystrdup(const char*)" -- 1st referenced by ../parsers/libparsers.a(textparser.o).
        Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "u8_u16(w_char*,int,const char*)" -- 1st referenced by ../parsers/libparsers.a(textparser.o).
        Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "unicodeisalpha(unsigned short)" -- 1st referenced by ../parsers/libparsers.a(textparser.o).
        Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: ERROR   33 : Unresolved text symbol "flag_bsearch(unsigned short*,unsigned short,int)" -- 1st referenced by ../parsers/libparsers.a(textparser.o).
        Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: INFO    152: Output file removed because of error.
make[3]: *** [hunspell-chmorph] Error 2
make[3]: Leaving directory `/usr/opt/gentoo/var/tmp/portage/app-text/hunspell-1.2.9/work/hunspell-1.2.9/src/tools'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/usr/opt/gentoo/var/tmp/portage/app-text/hunspell-1.2.9/work/hunspell-1.2.9/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/opt/gentoo/var/tmp/portage/app-text/hunspell-1.2.9/work/hunspell-1.2.9'
make: *** [all] Error 2
 * ERROR: app-text/hunspell-1.2.9 failed:
 *   emake failed
 *
 * Call stack:
 *     ebuild.sh, line   54:  Called call-ebuildshell 'src_compile'
 *   environment, line  629:  Called src_compile
 *   environment, line 3304:  Called _eapi2_src_compile
 *     ebuild.sh, line  695:  Called die
 * The specific snippet of code:
 *              emake || die "emake failed"


The one-line fix for this seems to be:

--- src/parsers/Makefile.dist   2010-05-05 18:02:50.038220560 +0100
+++ src/parsers/Makefile        2010-05-05 18:02:54.110839920 +0100
@@ -66,7 +66,7 @@
 libparsers_a_LIBADD =
 am_libparsers_a_OBJECTS = firstparser.$(OBJEXT) htmlparser.$(OBJEXT) \
        latexparser.$(OBJEXT) manparser.$(OBJEXT) textparser.$(OBJEXT)
-libparsers_a_OBJECTS = $(am_libparsers_a_OBJECTS)
+libparsers_a_OBJECTS = $(am_libparsers_a_OBJECTS) ../hunspell/csutil.$(OBJEXT)
 PROGRAMS = $(noinst_PROGRAMS)
 am_testparser_OBJECTS = firstparser.$(OBJEXT) htmlparser.$(OBJEXT) \
        latexparser.$(OBJEXT) manparser.$(OBJEXT) testparser.$(OBJEXT) \
Comment 1 Stuart Shelton 2010-05-05 17:49:58 UTC
Created attachment 230501 [details, diff]
hunspell/files/hunspell-1.2.9-libparsers.patch


Patch to Makefile.am (must be pulled-in before 'eautoreconf' is run!) to fix build failure.

Note that Makemake.am already includes the lines:

"
# need mystrdup()
LDADD = ../hunspell/libhunspell-1.2.la
"

... so perhaps this is what obviates this problem on other platforms.  No idea why it's not working in this case, though.  '../hunspell/.libs/libhunspell-1.2.a', referenced by the above file (and assuming that libtool does it's magic to find the file in the .libs directory), does include csutil.o where mystrdup et al. are defined.
Comment 2 Stuart Shelton 2010-05-05 17:54:09 UTC
Created attachment 230503 [details, diff]
hunspell-1.2.9.ebuild.patch


As supplied, all of hunspell's test scripts have '/bin/bash' as their interpreter - but, under prefix at least, assuming bash exists in this location is not a good idea.

This patch to the hunspell-1.2.9 ebuild incorporates the above libparsers patch and corrects the test scripts so that they can actually run.
Comment 3 Fabian Groffen gentoo-dev 2011-12-15 18:57:54 UTC
We are sorry to close this bug.  We lack the man-power and devotion to support mips-irix in the tree.