On Sat, 19 Nov 2022, adr wrote:
Right now the bootstrap compiler is built in netbsd-8, so it depends
on emulators/compat80, which isn't available to aarch64. So in
current (and I suppose 9 too) you'll end up with:
/usr/pkgsrc/lang/ghc92/work/.tools/lib/ghc-9.2.1/bin/ghc-pkg: Shared
object "libcurses.so.8" not found
Has someone crosscompiled a bootstrap compiler for haskell in current
or netbsd-9?
Regards,
adr.
If you install emulators/compat90 you will get libcurses.so.8.
I haven't thought in using compat90 because the makefile justify
the use of compat80 precisely with this:
[...]
# NetBSD 9.x have libcurses with a newer major version than the
# bootstrap kit is linked against. For now, work around this with
# compat80.
[...]
I'll give it a try.
Thanks for the help, it indeed has libcurses.so.8 and I didn't find
any other problem building ghc92. It also has libterminfo.so.1 so maybe
is better to apply this patch?
--- Makefile 2022-11-01 05:53:31.274909905 +0000
+++ /tmp/Makefile 2022-11-20 12:13:45.276048528 +0000
@@ -233,17 +233,15 @@
BUILD_DEPENDS+= ${PYPKGPREFIX}-sphinx-[0-9]*:../../textproc/py-sphinx
.endif
-# NetBSD 9.x have libcurses with a newer major version than the
+# NetBSD >9.0 have libcurses with a newer major version than the
# bootstrap kit is linked against. For now, work around this with
# compat80.
-.if !empty(MACHINE_PLATFORM:MNetBSD-*-x86_64) && ${OPSYS_VERSION} >= 090000
-BUILD_DEPENDS+= compat80-[0-9]*:../../emulators/compat80
+.if ${OPSYS_VERSION} > 090000
+BUILD_DEPENDS+= compat90-[0-9]*:../../emulators/compat90
# In a sandboxed build environment, we have to reach over to the
-# installed libraries themselves, since the symlinks compat80 adds
+# installed libraries themselves, since the symlinks compat90 adds
# to the /usr tree can't be applied.
-ALL_ENV+= LD_LIBRARY_PATH=${PREFIX}/emul/netbsd/usr/lib:${WRKDIR}/lib
-# XXX: ${WRKDIR}/lib is a temporary workaround for compat80 not having
-# libterminfo.so.1. See ./bootstrap.mk
+ALL_ENV+= LD_LIBRARY_PATH=${PREFIX}/emul/netbsd/usr/lib
.endif
# On Solaris-based platforms our bootkit tends to depend on