Because the IRIX linker doesn't re-order objects to ensure that dependencies are met, the Makefile{.am,.in} files had to be altered, some of the debugging was just plain broken, and for some reason it didn't compile with only the C++ headers included so I had to include the C ones too... Note that the final patch makes hunspell-1.2.8/tests/test.sh prefix-aware, but (since the shell doesn't expand "${EPREFIX}" in #! lines) this would probably have to be done in the ebuild - its included here for completeness. (I also found that initially the test suite wouldn't run - due to being unable to find libhunspell-1.2.so.1.1 in any standard library paths. Obviously, this starts working once the package is already installed - but for first time installs the .libs directory will also probably have to be added to the Makefile)
Created attachment 181035 [details, diff] Fixes to allow hunspell to build on IRIX (Note this patches Makefile.am, Makefile.in, and also Makefile. The latter was really for testing)
(In reply to comment #0) > linker doesn't re-order objects to ensure that dependencies are met, This rings a bell in my brain-archive: Are both binaries 'lorder' and 'tsort' available? In very old Makefiles I've seen something linke this: ar q libx.a `lorder $(OBJS) | tsort` ld -o executable `lorder $(OBJS) | tsort`
No 'lorder' that I can see, unfortunately :(
Created attachment 196142 [details, diff] Patch to allow hunspell-1.2.8 to build on IRIX Here's a much better patch: Improvements to the MIPSpro wrapper have resolved the library order issues, and a closer look has revealed that the C++ system headers either do nothing or include the C headers if -LANG:libc_in_namespace_std is specified - although if this is not the case they should #error out, which wasn't happening either. In any case, simply including the C headers seems to work. This can be included with: --- hunspell-1.2.8.ebuild +++ hunspell-1.2.8.ebuild @@ -30,6 +30,7 @@ # to be placed in /usr/bin - this patch prefixes them with 'hunspell-'. # It modifies a Makefile.am file, hence eautoreconf. epatch "${FILESDIR}"/${PN}-1.2.2-renameexes.patch + [[ $CHOST == *-irix* ]] && epatch "${FILESDIR}"/${PN}-1.2.8-irix.patch eautoreconf } This patch does not alter the test-suite at all.
Looks like this issue was fixed upstream in 1.2.9 which is now in the tree. Please, check with 1.2.9 and reopen bug if it still fails for you. Thanks.