Current-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: ghc and current aarch64



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


Home | Main Index | Thread Index | Old Index