Re: Update lang/ecl to 20.4.24
On Fri, 31 Jul 2020 19:07:07 -0700 Josh Elsasser wrote: > I applied the diff directly from gitlab and was able to build ecl on > sparc64 and mips64. When I tried to run the tests, sparc64 hung (not > spinning) on test CMP.0009.FINALIZATION and mips64 segfaulted almost > immediately: > > Running test ATOMIC-INCF/DECF > ;;; > ;;; Detected access to protected memory, also known as 'bus or segmentation > fault'. > ;;; Jumping to the outermost toplevel prompt I rechecked powerpc64 (and amd64, macppc) and can't reproduce the hang or segfault. In my opinion, we should package ecl-20.4.24 for mips64 and sparc64, even if we can't fix these problems. I resent my gc diff in "devel/boehm-gc: use mmap; fix powerpc64, sparc64" to ask for OK. Who will commit the ecl update? I want the update with these changes: 1. remove the BROKEN-mips64 2. add patch-src_c_package_d so I can run ecl on powerpc64 This is the patch-src_c_package_d; I have trimmed it to remove the part that only reformatted a comment: Index: patches/patch-src_c_package_d === RCS file: patches/patch-src_c_package_d diff -N patches/patch-src_c_package_d --- /dev/null 1 Jan 1970 00:00:00 - +++ patches/patch-src_c_package_d 3 Aug 2020 16:11:28 - @@ -0,0 +1,26 @@ +$OpenBSD$ + +Work around a SIGSEGV on 64-bit big-endian platforms +(mips64, powerpc64, sparc64), from Daniel Kochmaski, +https://gitlab.com/embeddable-common-lisp/ecl/-/issues/604#note_388147381 + +Index: src/c/package.d +--- src/c/package.d.orig src/c/package.d +@@ -327,10 +327,12 @@ ecl_find_package_nolock(cl_object name) + return name; + name = cl_string(name); + +- p = ecl_symbol_value(@'*package*'); +- if (ECL_PACKAGEP(p)) { +-p = ecl_assoc(name, p->pack.local_nicknames); +-if (!Null(p)) return ECL_CONS_CDR(p); ++ if (ecl_option_values[ECL_OPT_BOOTED]) { ++p = ecl_symbol_value(@'*package*'); ++if (ECL_PACKAGEP(p)) { ++ p = ecl_assoc(name, p->pack.local_nicknames); ++ if (!Null(p)) return ECL_CONS_CDR(p); ++} + } + + l = cl_core.packages;
Re: Update lang/ecl to 20.4.24
On Thu, Jul 30, 2020 at 02:33:45PM -0400, George Koehler wrote: > On Thu, 30 Jul 2020 08:32:25 -0700 > Josh Elsasser wrote: > > > With George's patch, it segfaults in ecl_min as he predicted, > > similarly to mips64: > > ... > > Got signal before environment was installed on our thread > > > > Daniel Kochmański put up a diff for ecl_find_package_nolock() that > "is not a proper fix", but gets around the segfault: > https://gitlab.com/embeddable-common-lisp/ecl/-/issues/604#note_388147381 > > Here's the diff as a ports/lang/ecl patch. With this diff, and the > boehm-gc diff from my last mail, I can build and run ecl on my > powerpc64. "make test" says, > > Did 245 tests (0 crashed), 17999 checks. > >Pass: 17908 (99%) > >Fail: 91 ( 1%) > I applied the diff directly from gitlab and was able to build ecl on sparc64 and mips64. When I tried to run the tests, sparc64 hung (not spinning) on test CMP.0009.FINALIZATION and mips64 segfaulted almost immediately: Running test ATOMIC-INCF/DECF ;;; ;;; Detected access to protected memory, also known as 'bus or segmentation fault'. ;;; Jumping to the outermost toplevel prompt
Re: Update lang/ecl to 20.4.24
On Thu, 30 Jul 2020 08:32:25 -0700 Josh Elsasser wrote: > With George's patch, it segfaults in ecl_min as he predicted, > similarly to mips64: > ... > Got signal before environment was installed on our thread > Daniel Kochmański put up a diff for ecl_find_package_nolock() that "is not a proper fix", but gets around the segfault: https://gitlab.com/embeddable-common-lisp/ecl/-/issues/604#note_388147381 Here's the diff as a ports/lang/ecl patch. With this diff, and the boehm-gc diff from my last mail, I can build and run ecl on my powerpc64. "make test" says, Did 245 tests (0 crashed), 17999 checks. Pass: 17908 (99%) Fail: 91 ( 1%) --- /dev/null Thu Jul 30 14:17:54 2020 +++ patches/patch-src_c_package_d Thu Jul 30 13:44:33 2020 @@ -0,0 +1,45 @@ +$OpenBSD$ + +Index: src/c/package.d +--- src/c/package.d.orig src/c/package.d +@@ -308,15 +308,14 @@ ecl_rename_package(cl_object x, cl_object name, cl_obj + } + + /* +- ecl_find_package_nolock(n) seaches for a package with name n, where n is +- a valid string designator, or simply outputs n if it is a +- package. ++ ecl_find_package_nolock(n) seaches for a package with name n, where n is a ++ valid string designator, or simply outputs n if it is a package. + +- This is not a locking routine and someone may replace the list of +- packages while we are scanning it. Nevertheless, the list IS NOT +- be destructively modified, which means that we are on the safe side. +- Routines which need to ensure that the package list remains constant +- should enforce a global lock with PACKAGE_OP_LOCK(). ++ This is not a locking routine and someone may replace the list of packages ++ while we are scanning it. Nevertheless, the list IS NOT destructively ++ modified, which means that we are on the safe side. Routines which need to ++ ensure that the package list remains constant should enforce a global lock ++ with PACKAGE_OP_LOCK(). + */ + cl_object + ecl_find_package_nolock(cl_object name) +@@ -327,10 +326,12 @@ ecl_find_package_nolock(cl_object name) + return name; + name = cl_string(name); + +- p = ecl_symbol_value(@'*package*'); +- if (ECL_PACKAGEP(p)) { +-p = ecl_assoc(name, p->pack.local_nicknames); +-if (!Null(p)) return ECL_CONS_CDR(p); ++ if (ecl_option_values[ECL_OPT_BOOTED]) { ++p = ecl_symbol_value(@'*package*'); ++if (ECL_PACKAGEP(p)) { ++ p = ecl_assoc(name, p->pack.local_nicknames); ++ if (!Null(p)) return ECL_CONS_CDR(p); ++} + } + + l = cl_core.packages;
Re: Update lang/ecl to 20.4.24
On Thu, Jul 30, 2020 at 08:32:25AM -0700, Josh Elsasser wrote: > It built for me, did you install the new libatomic_ops package too? I > notice that "make install" only installed the boehm-gc package. I... did not. I'm not familiar with boehm-gc so didn't realize that was needed. I'll give it a try again soon. Right now my test machine is churning on something else. --Kurt > With George's patch, it segfaults in ecl_min as he predicted, > similarly to mips64: > Building ecl_min... > > libeclmin.a(unixfsys.o): In function `ecl_backup_open': > unixfsys.o.c:(.text+0x4a8): warning: strcpy() is almost always misused, > please use strlcpy() > /usr/local/lib/libgmp.so.11.0: warning: vsprintf() is often misused, please > use vsnprintf() > libeclmin.a(num_rand.o): In function `init_random_state': > > num_rand.o.c:(.text+0x2ac): warning: rand() may return deterministic values, > is that what you want? > > > Internal or unrecoverable error in: > > Got signal before environment was installed on our thread > > Abort trap (core dumped) > gmake[1]: *** [Makefile:99: bin/ecl] Error 134 > > > (gdb) bt > #0 *_libc_abort () at /usr/src/lib/libc/stdlib/abort.c:57 > #1 0x006af5d32f4c in ecl_internal_error () > #2 0x006af5d64194 in sigsegv_handler () > #3 > #4 0x006af5d05154 in ecl_find_package_nolock () > #5 0x006af5d054c0 in ecl_make_package () > #6 0x006af5d022bc in cl_boot () > #7 0x006af5d00f6c in main ()
Re: Update lang/ecl to 20.4.24
On Wed, Jul 29, 2020 at 11:52:25PM -0400, Kurt Mosiejczuk wrote: > On Wed, Jul 29, 2020 at 11:05:31PM -0400, George Koehler wrote: > > On Wed, 29 Jul 2020 01:25:00 -0400 > > Kurt Mosiejczuk wrote: > > > > I gave building it a try, it died early on with: > > > > /usr/ports/pobj/ecl-20.4.24/ecl-20.4.24/build/ecl/ecl_atomics.h:39:4: > > > error: #er > > > ror "ECL needs AO_fetch_compare_and_swap or an equivalent" > > > # error "ECL needs AO_fetch_compare_and_swap or an equivalent" > > > Thank you for the speedy test. libatomic_ops in devel/boehm-gc is > > missing AO_fetch_compare_and_swap for sparc. It's still missing > > upstream: > > > https://github.com/ivmai/libatomic_ops/blob/master/src/atomic_ops/sysdeps/gcc/sparc.h#L64 > > > In this diff to devel/boehm-gc, I have tried to provide the missing > > function (by copying AO_compare_and_swap_full, guessing, and referring > > to SPARCV9.pdf, A.9 Compare and Swap, page 129), but I don't know > > whether it compiles. Even if it compiles, if sparc64 will have the > > ecl_symbol_value bug, we won't know if it works. I left my other > > local changes (mmap and powerpc64) in the diff. > > > I describe the 64-bit big-endian ecl_symbol_value bug at > > https://gitlab.com/embeddable-common-lisp/ecl/-/issues/604 > > Unfortunately, even with boehm-gc compiled with this, ecl fails to > build with the same message. It built for me, did you install the new libatomic_ops package too? I notice that "make install" only installed the boehm-gc package. With George's patch, it segfaults in ecl_min as he predicted, similarly to mips64: Building ecl_min... libeclmin.a(unixfsys.o): In function `ecl_backup_open': unixfsys.o.c:(.text+0x4a8): warning: strcpy() is almost always misused, please use strlcpy() /usr/local/lib/libgmp.so.11.0: warning: vsprintf() is often misused, please use vsnprintf() libeclmin.a(num_rand.o): In function `init_random_state': num_rand.o.c:(.text+0x2ac): warning: rand() may return deterministic values, is that what you want? Internal or unrecoverable error in: Got signal before environment was installed on our thread Abort trap (core dumped) gmake[1]: *** [Makefile:99: bin/ecl] Error 134 (gdb) bt #0 *_libc_abort () at /usr/src/lib/libc/stdlib/abort.c:57 #1 0x006af5d32f4c in ecl_internal_error () #2 0x006af5d64194 in sigsegv_handler () #3 #4 0x006af5d05154 in ecl_find_package_nolock () #5 0x006af5d054c0 in ecl_make_package () #6 0x006af5d022bc in cl_boot () #7 0x006af5d00f6c in main ()
Re: Update lang/ecl to 20.4.24
On Wed, Jul 29, 2020 at 11:05:31PM -0400, George Koehler wrote: > On Wed, 29 Jul 2020 01:25:00 -0400 > Kurt Mosiejczuk wrote: > > I gave building it a try, it died early on with: > > /usr/ports/pobj/ecl-20.4.24/ecl-20.4.24/build/ecl/ecl_atomics.h:39:4: > > error: #er > > ror "ECL needs AO_fetch_compare_and_swap or an equivalent" > > # error "ECL needs AO_fetch_compare_and_swap or an equivalent" > Thank you for the speedy test. libatomic_ops in devel/boehm-gc is > missing AO_fetch_compare_and_swap for sparc. It's still missing > upstream: > https://github.com/ivmai/libatomic_ops/blob/master/src/atomic_ops/sysdeps/gcc/sparc.h#L64 > In this diff to devel/boehm-gc, I have tried to provide the missing > function (by copying AO_compare_and_swap_full, guessing, and referring > to SPARCV9.pdf, A.9 Compare and Swap, page 129), but I don't know > whether it compiles. Even if it compiles, if sparc64 will have the > ecl_symbol_value bug, we won't know if it works. I left my other > local changes (mmap and powerpc64) in the diff. > I describe the 64-bit big-endian ecl_symbol_value bug at > https://gitlab.com/embeddable-common-lisp/ecl/-/issues/604 Unfortunately, even with boehm-gc compiled with this, ecl fails to build with the same message. --Kurt > Index: Makefile > === > RCS file: /cvs/ports/devel/boehm-gc/Makefile,v > retrieving revision 1.74 > diff -u -p -r1.74 Makefile > --- Makefile 4 Apr 2020 20:59:41 - 1.74 > +++ Makefile 30 Jul 2020 02:37:28 - > @@ -12,7 +12,7 @@ DISTNAME= gc-${VERSION} > > PKGNAME-atomic= libatomic_ops-${LIBAO_VERSION} > PKGNAME-main=boehm-gc-${VERSION} > -REVISION=5 > +REVISION=6 > > DISTFILES= ${DISTNAME}${EXTRACT_SUFX} \ > libatomic_ops-${LIBAO_VERSION}${EXTRACT_SUFX} > Index: patches/patch-include_private_gcconfig_h > === > RCS file: /cvs/ports/devel/boehm-gc/patches/patch-include_private_gcconfig_h,v > retrieving revision 1.22 > diff -u -p -r1.22 patch-include_private_gcconfig_h > --- patches/patch-include_private_gcconfig_h 15 Apr 2017 14:02:46 - > 1.22 > +++ patches/patch-include_private_gcconfig_h 30 Jul 2020 02:37:28 - > @@ -1,12 +1,25 @@ > $OpenBSD: patch-include_private_gcconfig_h,v 1.22 2017/04/15 14:02:46 naddy > Exp $ > > +- use mmap, not sbrk, on OpenBSD > - All OpenBSD mips platforms are 64-bit, so correct the wordsize and > alignment > - use __data_start instead of _fdata on OpenBSD/mips64 > -- add support for OpenBSD/aarch64 > +- add support for OpenBSD/aarch64 and powerpc64 > > include/private/gcconfig.h.orig Tue Aug 2 21:36:14 2016 > -+++ include/private/gcconfig.h Fri Apr 14 17:44:40 2017 > -@@ -102,7 +102,8 @@ > +Index: include/private/gcconfig.h > +--- include/private/gcconfig.h.orig > include/private/gcconfig.h > +@@ -76,6 +76,10 @@ > + /* And one for OpenBSD: */ > + # if defined(__OpenBSD__) > + #define OPENBSD > ++#ifndef USE_MMAP > ++# define USE_MMAP > ++#endif > ++#define USE_MMAP_ANON > + # endif > + > + /* And one for FreeBSD: */ > +@@ -102,7 +106,8 @@ > # endif > # if defined(__aarch64__) > #define AARCH64 > @@ -16,7 +29,7 @@ $OpenBSD: patch-include_private_gcconfig > # define NOSYS > # define mach_type_known > #endif > -@@ -137,6 +138,10 @@ > +@@ -137,6 +142,10 @@ > #define ARM32 > #define mach_type_known > # endif > @@ -27,7 +40,21 @@ $OpenBSD: patch-include_private_gcconfig > # if defined(OPENBSD) && defined(__sh__) > #define SH > #define mach_type_known > -@@ -1712,14 +1717,15 @@ > +@@ -962,7 +971,12 @@ > + # endif > + # ifdef OPENBSD > + # define OS_TYPE "OPENBSD" > +-# define ALIGNMENT 4 > ++# if defined(__powerpc64__) > ++# define ALIGNMENT 8 > ++# define CPP_WORDSZ 64 > ++# else > ++# define ALIGNMENT 4 > ++# endif > + # ifndef GC_OPENBSD_THREADS > + # include > + # include > +@@ -1712,14 +1726,15 @@ > # endif > # ifdef OPENBSD > #define OS_TYPE "OPENBSD" > @@ -46,7 +73,7 @@ $OpenBSD: patch-include_private_gcconfig >extern int _end[]; > #define DATAEND ((ptr_t)(&_end)) > #define DYNAMIC_LOADING > -@@ -2165,6 +2171,19 @@ > +@@ -2165,6 +2180,19 @@ > extern char etext[]; > # define DATASTART GC_FreeBSDGetDataStart(0x1000, (ptr_t)etext) > # define DATASTART_USES_BSDGETDATASTART > Index: patches/patch-libatomic_ops_src_atomic_ops_sysdeps_gcc_sparc_h > === > RCS file: > /cvs/ports/devel/boehm-gc/patches/patch-libatomic_ops_src_atomic_ops_sysdeps_gcc_sparc_h,v > retrieving revision 1.3 > diff -u -p -r1.3 patch-libatomic_ops_src_atomic_ops_sysdeps_gcc_sparc_h > --- patches/patch-libatomic_ops_src_atomic_ops_sysdeps_gcc_sparc_h4 Apr > 2020 20:59:41 -
Re: Update lang/ecl to 20.4.24
On Wed, 29 Jul 2020 01:25:00 -0400 Kurt Mosiejczuk wrote: > I gave building it a try, it died early on with: > > /usr/ports/pobj/ecl-20.4.24/ecl-20.4.24/build/ecl/ecl_atomics.h:39:4: error: > #er > ror "ECL needs AO_fetch_compare_and_swap or an equivalent" > # error "ECL needs AO_fetch_compare_and_swap or an equivalent" Thank you for the speedy test. libatomic_ops in devel/boehm-gc is missing AO_fetch_compare_and_swap for sparc. It's still missing upstream: https://github.com/ivmai/libatomic_ops/blob/master/src/atomic_ops/sysdeps/gcc/sparc.h#L64 In this diff to devel/boehm-gc, I have tried to provide the missing function (by copying AO_compare_and_swap_full, guessing, and referring to SPARCV9.pdf, A.9 Compare and Swap, page 129), but I don't know whether it compiles. Even if it compiles, if sparc64 will have the ecl_symbol_value bug, we won't know if it works. I left my other local changes (mmap and powerpc64) in the diff. I describe the 64-bit big-endian ecl_symbol_value bug at https://gitlab.com/embeddable-common-lisp/ecl/-/issues/604 Index: Makefile === RCS file: /cvs/ports/devel/boehm-gc/Makefile,v retrieving revision 1.74 diff -u -p -r1.74 Makefile --- Makefile4 Apr 2020 20:59:41 - 1.74 +++ Makefile30 Jul 2020 02:37:28 - @@ -12,7 +12,7 @@ DISTNAME= gc-${VERSION} PKGNAME-atomic=libatomic_ops-${LIBAO_VERSION} PKGNAME-main= boehm-gc-${VERSION} -REVISION= 5 +REVISION= 6 DISTFILES= ${DISTNAME}${EXTRACT_SUFX} \ libatomic_ops-${LIBAO_VERSION}${EXTRACT_SUFX} Index: patches/patch-include_private_gcconfig_h === RCS file: /cvs/ports/devel/boehm-gc/patches/patch-include_private_gcconfig_h,v retrieving revision 1.22 diff -u -p -r1.22 patch-include_private_gcconfig_h --- patches/patch-include_private_gcconfig_h15 Apr 2017 14:02:46 - 1.22 +++ patches/patch-include_private_gcconfig_h30 Jul 2020 02:37:28 - @@ -1,12 +1,25 @@ $OpenBSD: patch-include_private_gcconfig_h,v 1.22 2017/04/15 14:02:46 naddy Exp $ +- use mmap, not sbrk, on OpenBSD - All OpenBSD mips platforms are 64-bit, so correct the wordsize and alignment - use __data_start instead of _fdata on OpenBSD/mips64 -- add support for OpenBSD/aarch64 +- add support for OpenBSD/aarch64 and powerpc64 include/private/gcconfig.h.origTue Aug 2 21:36:14 2016 -+++ include/private/gcconfig.h Fri Apr 14 17:44:40 2017 -@@ -102,7 +102,8 @@ +Index: include/private/gcconfig.h +--- include/private/gcconfig.h.orig include/private/gcconfig.h +@@ -76,6 +76,10 @@ + /* And one for OpenBSD: */ + # if defined(__OpenBSD__) + #define OPENBSD ++#ifndef USE_MMAP ++# define USE_MMAP ++#endif ++#define USE_MMAP_ANON + # endif + + /* And one for FreeBSD: */ +@@ -102,7 +106,8 @@ # endif # if defined(__aarch64__) #define AARCH64 @@ -16,7 +29,7 @@ $OpenBSD: patch-include_private_gcconfig # define NOSYS # define mach_type_known #endif -@@ -137,6 +138,10 @@ +@@ -137,6 +142,10 @@ #define ARM32 #define mach_type_known # endif @@ -27,7 +40,21 @@ $OpenBSD: patch-include_private_gcconfig # if defined(OPENBSD) && defined(__sh__) #define SH #define mach_type_known -@@ -1712,14 +1717,15 @@ +@@ -962,7 +971,12 @@ + # endif + # ifdef OPENBSD + # define OS_TYPE "OPENBSD" +-# define ALIGNMENT 4 ++# if defined(__powerpc64__) ++# define ALIGNMENT 8 ++# define CPP_WORDSZ 64 ++# else ++# define ALIGNMENT 4 ++# endif + # ifndef GC_OPENBSD_THREADS + # include + # include +@@ -1712,14 +1726,15 @@ # endif # ifdef OPENBSD #define OS_TYPE "OPENBSD" @@ -46,7 +73,7 @@ $OpenBSD: patch-include_private_gcconfig extern int _end[]; #define DATAEND ((ptr_t)(&_end)) #define DYNAMIC_LOADING -@@ -2165,6 +2171,19 @@ +@@ -2165,6 +2180,19 @@ extern char etext[]; # define DATASTART GC_FreeBSDGetDataStart(0x1000, (ptr_t)etext) # define DATASTART_USES_BSDGETDATASTART Index: patches/patch-libatomic_ops_src_atomic_ops_sysdeps_gcc_sparc_h === RCS file: /cvs/ports/devel/boehm-gc/patches/patch-libatomic_ops_src_atomic_ops_sysdeps_gcc_sparc_h,v retrieving revision 1.3 diff -u -p -r1.3 patch-libatomic_ops_src_atomic_ops_sysdeps_gcc_sparc_h --- patches/patch-libatomic_ops_src_atomic_ops_sysdeps_gcc_sparc_h 4 Apr 2020 20:59:41 - 1.3 +++ patches/patch-libatomic_ops_src_atomic_ops_sysdeps_gcc_sparc_h 30 Jul 2020 02:37:28 - @@ -2,6 +2,8 @@ $OpenBSD: patch-libatomic_ops_src_atomic Use the same type for input and output inline asm operands. +Provide AO_fetch_compare_and_swap, needed by lang/ecl 20.4.24. + Index: libatomic_ops/src/atomic_ops/sysdeps/gcc/sparc.h --- libatomic_ops/src/atomic_ops/sysdeps/gcc/sparc.h
Re: Update lang/ecl to 20.4.24
On Wed, Jul 29, 2020 at 01:25:00AM -0400, Kurt Mosiejczuk wrote: > On Tue, Jul 28, 2020 at 11:59:03PM -0400, George Koehler wrote: > > > This update might break sparc64. I don't have sparc64, but found a > > bug in 20.4.24 on powerpc64 that might affect other 64-bit big-endian > > arch (mips64 and sparc64). It's BROKEN-mips64, but the sparc64 snap > > has packages of clic and maxima with ecl-16.1.3.p3. > > > The ecl update has been stuck because it breaks net/clic (as Solene > > said). In other ways, the update looks good to me. > > > ecl-20.4.24 works on macppc, has the same number of failures as amd64: > > > Did 245 tests (0 crashed), 17999 checks. > >Pass: 17912 (100%) > >Fail: 87 ( 0%) > > > reed-alert seems to work on macppc. > > > I didn't try maxima on macppc. For maxima on amd64, I replicated the > > test results that Timo posted, and I can run xmaxima. > > > For the bug in 20.4.24 that broke my powerpc64, I need to write a bug > > report for upstream. ecl_min calls ecl_symbol_value() before > > init_all_symbols(); reads p = q->data.value too early; gets p == 2 on > > most arch, p == 0x2 on 64-bit big-endian; but if (p & 3) == 0 > > then ecl_min fails with SIGSEGV. (powerpc64 also needs a diff for > > lang/boehm-gc that I intend to share later.)--George > > I gave building it a try, it died early on with: > > /usr/ports/pobj/ecl-20.4.24/ecl-20.4.24/build/ecl/ecl_atomics.h:39:4: error: > #er > ror "ECL needs AO_fetch_compare_and_swap or an equivalent" > # error "ECL needs AO_fetch_compare_and_swap or an equivalent" My mips64 is still updating, but I see the same on sparc64: ===> Building for ecl-20.4.24 cd build; gmake gmake[1]: Entering directory '/usr/ports/pobj/ecl-20.4.24/ecl-20.4.24/build' Building libeclmin.a... gmake[2]: Entering directory '/usr/ports/pobj/ecl-20.4.24/ecl-20.4.24/build/c' Makefile:90: warning: ignoring prerequisites on suffix rule definition Makefile:90: warning: ignoring prerequisites on suffix rule definition Makefile:90: warning: ignoring prerequisites on suffix rule definition Makefile:90: warning: ignoring prerequisites on suffix rule definition Makefile:87: warning: ignoring prerequisites on suffix rule definition Makefile:85: warning: ignoring prerequisites on suffix rule definition Makefile:85: warning: ignoring prerequisites on suffix rule definition Makefile:87: warning: ignoring prerequisites on suffix rule definition dpp: /usr/ports/pobj/ecl-20.4.24/ecl-20.4.24/src/c/main.d -> main.o.c In file included from /usr/ports/pobj/ecl-20.4.24/ecl-20.4.24/build/ecl/stacks.h:23, from /usr/ports/pobj/ecl-20.4.24/ecl-20.4.24/build/ecl/ecl.h:89, from /usr/ports/pobj/ecl-20.4.24/ecl-20.4.24/src/c/main.d:17: /usr/ports/pobj/ecl-20.4.24/ecl-20.4.24/build/ecl/ecl_atomics.h:39:4: error: #error "ECL needs AO_fetch_compare_and_swap or an equivalent" # error "ECL needs AO_fetch_compare_and_swap or an equivalent" ^ /usr/ports/pobj/ecl-20.4.24/ecl-20.4.24/build/ecl/ecl_atomics.h: In function 'ecl_compare_and_swap': /usr/ports/pobj/ecl-20.4.24/ecl-20.4.24/build/ecl/ecl_atomics.h:45:21: warning: implicit declaration of function 'AO_fetch_compare_and_swap'; did you mean 'AO_HAVE_compare_and_swap'? [-Wimplicit-function-declaration] return (cl_object)AO_fetch_compare_and_swap((AO_t*)slot, (AO_t)old_val, (AO_t)new_val); ^ AO_HAVE_compare_and_swap /usr/ports/pobj/ecl-20.4.24/ecl-20.4.24/build/ecl/ecl_atomics.h:45:10: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] return (cl_object)AO_fetch_compare_and_swap((AO_t*)slot, (AO_t)old_val, (AO_t)new_val); ^ /usr/ports/pobj/ecl-20.4.24/ecl-20.4.24/src/c/main.d: In function 'si_exit': /usr/ports/pobj/ecl-20.4.24/ecl-20.4.24/src/c/main.d:856:19: warning: unused variable 'the_env' [-Wunused-variable] cl_object ^ gmake[2]: *** [Makefile:88: main.o] Error 1 gmake[2]: Leaving directory '/usr/ports/pobj/ecl-20.4.24/ecl-20.4.24/build/c' gmake[1]: *** [Makefile:144: libeclmin.a] Error 2 gmake[1]: Leaving directory '/usr/ports/pobj/ecl-20.4.24/ecl-20.4.24/build' gmake: *** [Makefile:65: all] Error 2 *** Error 2 in . (/usr/ports/infrastructure/mk/bsd.port.mk:2925 '/usr/ports/pobj/ecl-20.4.24/.build_done': @cd /usr/ports/pobj/ecl-20.4.24/e...) *** Error 2 in /usr/ports/mystuff/lang/ecl (/usr/ports/infrastructure/mk/bsd.port.mk:2584 'all': @lock=ecl-20.4.24; export _LOCKS_HELD=" ec...)
Re: Update lang/ecl to 20.4.24
Solene Rapenne writes: > On Tue, 28 Jul 2020 23:59:03 -0400 > George Koehler : > >> On Tue, 19 May 2020 08:59:48 -0700 >> Josh Elsasser wrote: >> >> > Here's a quick update to the new release, minimally tested as a >> > lang/sbcl build host. The patch removes files, don't forget patch -E >> > >> > diff -ruN --exclude .git /usr/ports/lang/ecl/Makefile ./Makefile >> > --- /usr/ports/lang/ecl/Makefile Tue Feb 18 15:29:40 2020 >> > +++ ./Makefile Mon May 18 09:44:49 2020 >> > @@ -5,10 +5,9 @@ >> > >> > BROKEN-mips64 = ecl_min fails >> > >> > -V = 16.1.3 >> > +V = 20.4.24 >> >> This update might break sparc64. I don't have sparc64, but found a >> bug in 20.4.24 on powerpc64 that might affect other 64-bit big-endian >> arch (mips64 and sparc64). It's BROKEN-mips64, but the sparc64 snap >> has packages of clic and maxima with ecl-16.1.3.p3. >> >> The ecl update has been stuck because it breaks net/clic (as Solene >> said). In other ways, the update looks good to me. >> > > I have a fix for net/clic that I will commit when ecl update is done I don't have any exotic archs to test this with, anyone with sparc64 able to spin a ecl test? If sparc64 still works we could update this. timo
Re: Update lang/ecl to 20.4.24
On Tue, 28 Jul 2020 23:59:03 -0400 George Koehler : > On Tue, 19 May 2020 08:59:48 -0700 > Josh Elsasser wrote: > > > Here's a quick update to the new release, minimally tested as a > > lang/sbcl build host. The patch removes files, don't forget patch -E > > > > diff -ruN --exclude .git /usr/ports/lang/ecl/Makefile ./Makefile > > --- /usr/ports/lang/ecl/MakefileTue Feb 18 15:29:40 2020 > > +++ ./Makefile Mon May 18 09:44:49 2020 > > @@ -5,10 +5,9 @@ > > > > BROKEN-mips64 =ecl_min fails > > > > -V =16.1.3 > > +V =20.4.24 > > This update might break sparc64. I don't have sparc64, but found a > bug in 20.4.24 on powerpc64 that might affect other 64-bit big-endian > arch (mips64 and sparc64). It's BROKEN-mips64, but the sparc64 snap > has packages of clic and maxima with ecl-16.1.3.p3. > > The ecl update has been stuck because it breaks net/clic (as Solene > said). In other ways, the update looks good to me. > I have a fix for net/clic that I will commit when ecl update is done
Re: Update lang/ecl to 20.4.24
On Tue, Jul 28, 2020 at 11:59:03PM -0400, George Koehler wrote: > This update might break sparc64. I don't have sparc64, but found a > bug in 20.4.24 on powerpc64 that might affect other 64-bit big-endian > arch (mips64 and sparc64). It's BROKEN-mips64, but the sparc64 snap > has packages of clic and maxima with ecl-16.1.3.p3. > The ecl update has been stuck because it breaks net/clic (as Solene > said). In other ways, the update looks good to me. > ecl-20.4.24 works on macppc, has the same number of failures as amd64: > Did 245 tests (0 crashed), 17999 checks. >Pass: 17912 (100%) >Fail: 87 ( 0%) > reed-alert seems to work on macppc. > I didn't try maxima on macppc. For maxima on amd64, I replicated the > test results that Timo posted, and I can run xmaxima. > For the bug in 20.4.24 that broke my powerpc64, I need to write a bug > report for upstream. ecl_min calls ecl_symbol_value() before > init_all_symbols(); reads p = q->data.value too early; gets p == 2 on > most arch, p == 0x2 on 64-bit big-endian; but if (p & 3) == 0 > then ecl_min fails with SIGSEGV. (powerpc64 also needs a diff for > lang/boehm-gc that I intend to share later.)--George I gave building it a try, it died early on with: /usr/ports/pobj/ecl-20.4.24/ecl-20.4.24/build/ecl/ecl_atomics.h:39:4: error: #er ror "ECL needs AO_fetch_compare_and_swap or an equivalent" # error "ECL needs AO_fetch_compare_and_swap or an equivalent" --Kurt
Re: Update lang/ecl to 20.4.24
On Tue, 19 May 2020 08:59:48 -0700 Josh Elsasser wrote: > Here's a quick update to the new release, minimally tested as a > lang/sbcl build host. The patch removes files, don't forget patch -E > > diff -ruN --exclude .git /usr/ports/lang/ecl/Makefile ./Makefile > --- /usr/ports/lang/ecl/Makefile Tue Feb 18 15:29:40 2020 > +++ ./MakefileMon May 18 09:44:49 2020 > @@ -5,10 +5,9 @@ > > BROKEN-mips64 = ecl_min fails > > -V = 16.1.3 > +V = 20.4.24 This update might break sparc64. I don't have sparc64, but found a bug in 20.4.24 on powerpc64 that might affect other 64-bit big-endian arch (mips64 and sparc64). It's BROKEN-mips64, but the sparc64 snap has packages of clic and maxima with ecl-16.1.3.p3. The ecl update has been stuck because it breaks net/clic (as Solene said). In other ways, the update looks good to me. ecl-20.4.24 works on macppc, has the same number of failures as amd64: Did 245 tests (0 crashed), 17999 checks. Pass: 17912 (100%) Fail: 87 ( 0%) reed-alert seems to work on macppc. I didn't try maxima on macppc. For maxima on amd64, I replicated the test results that Timo posted, and I can run xmaxima. For the bug in 20.4.24 that broke my powerpc64, I need to write a bug report for upstream. ecl_min calls ecl_symbol_value() before init_all_symbols(); reads p = q->data.value too early; gets p == 2 on most arch, p == 0x2 on 64-bit big-endian; but if (p & 3) == 0 then ecl_min fails with SIGSEGV. (powerpc64 also needs a diff for lang/boehm-gc that I intend to share later.)--George
Re: Update lang/ecl to 20.4.24
On Tue, Jun 2, 2020, at 12:20, Timo Myyrä wrote: > > > On Tue, Jun 2, 2020, at 12:16, Ingo Feinerer wrote: > > On Tue, Jun 02, 2020 at 07:01:57AM +0300, Timo Myyrä wrote: > > > Did you get the maxima tests to run as well? I didn't have success yet > > > with those although the compilation worked. > > > > How did you run the tests? > > > > `make test` runs a test suite but the results are only written to a log > > file (pobj/maxima-5.43.2/maxima-5.43.2/tests/ecl-test.sh.log). As the > > tests take some time the test suite might appear to hang. > > > > The same test suite can be triggered manually if you start xmaxima and > > click on the `Maxima->Run Tests` menu entry. The output is immediately > > shown in the input/output window. > > > > Best regards, > > Ingo > > > > I did use the make test. Wondered a bit about the lack of output mut > noticed with ktrace it has doing the tests so I waited. I'll check > again later to see if the exact failure. > > Timo > > I run the tests and got following output: Running the testsuite... ;;; Loading #P"/usr/local/lib/ecl/sb-bsd-sockets.fas" ;;; Loading #P"/usr/local/lib/ecl/sockets.fas" Maxima 5.43.2 http://maxima.sourceforge.net using Lisp ECL 20.4.24 Distributed under the GNU Public License. See the file COPYING. Dedicated to the memory of William Schelter. The function bug_report() provides bug reporting information. (%i1) build_info() (%o1) Maxima version: "5.43.2" Maxima build date: "2020-05-31 08:38:24" Host type: "x86_64-unknown-openbsd6.7" Lisp implementation type: "ECL" Lisp implementation version: "20.4.24" User dir: "/maxima-5.43.2_writes_to_HOME/.maxima" Temp dir: "/tmp" Object dir: "/usr/ports/pobj/maxima-5.43.2/maxima-5.43.2/binary/5_43_2/ecl/20_4_24" Frontend: false (%i2) testsuite_files:append(["rtest_ask.mac"],testsuite_files) (%o2) [rtest_ask.mac, [rtest_rules], rtestnset, [rtest1, [115, 183, 185, 186]], [rtest1a, [33]], [rtest2, [86, 95]], rtest4, [rtest5], [rtest6, [43, 45, 46]], rtest6a, rtest6b, rtest7, rtest9, [rtest9a], [rtest10, [24, 25]], [rtest11], rtest13, rtest13s, [rtest14, [145, 201, 233, 234, 249, 250, 251, 252, 267, 297, 298, 307, 310, 312, 315, 319]], rtest15, [rtest16, [50, 524, 525, 561]], rtestode, rtestode_zp, rtest3, [rtest8, [104]], [rtest12, [76, 78]], rexamples, [rtesthyp, [105, 112, 113, 123, 124, 128]], [rtest_hypgeo, [143]], rtestmt19937, rtest_allnummod, rtestconjugate, [rtestsum, [3, 4, 18, 75]], [rtest_trig], rtest_zeta, rtest_diff_invtrig, rtest_scalarp, rtest_everysome, [rtestint, [232]], rtest_numth, rtestifactor, [rtest_equal, [157, 160]], rtest_abs, [rtest_taylor, [88, 91, 97, 104, 128, 129]], [rtest_dot], rtest_mset, rtest_boolean, rtest_round, [rtest_map, [2, 3, 4]], [rtest_sign, [21, 25, 30, 40, 65, 72, 79]], rtest_algebraic, [rtest_gamma], rtest_expintegral, rtest_signum, rtest_lambert_w, [rtest_elliptic, [129, 143]], rtest_integrate, rtest_integrate_special, [rtest_sqrt, [89]], [rtest_carg, [40, 41]], [rtest_log], [rtest_power, [19, 20, 26, 58, 65]], rtestdefstruct, [rtest_limit], rtest_powerseries, [rtest_laplace, [29, 49, 50, 51, 54, 59, 60, 61, 62, 78, 80]], rtest_plotoptions, rtest_algsys, rtest_trace] (%i3) run_testsuite(share_tests = true) Testsuite run for ECL 20.4.24: Running tests in rtest_ask.mac: 135/135 tests passed Running tests in rtest_rules: 119/119 tests passed Running tests in rtestnset: 617/617 tests passed Running tests in rtest1: ** Problem 115 (line 341) *** Input: (batch(file_search(test_readbase_maxima, file_search_tests)), test_readbase_maxima()) Result: read and interpret /usr/ports/pobj/maxima-5.43.2/maxima-5.43.2/tests/test_readbase_maxima.mac (%i1) test_readbase_maxima():=[4,3,2,1,40,30,20,10] (%o1) test_readbase_maxima() := [4, 3, 2, 1, 40, 30, 20, 10] [4, 3, 2, 1, 40, 30, 20, 10] ... Which was correct, but was expected to be wrong due to a known bug in Maxima or ECL. 185/185 tests passed (not counting 4 expected errors) The following 1 problem passed but was expected to fail: (115) Running tests in rtest1a: 34/34 tests passed (not counting 1 expected errors) Running tests in rtest2: 287/287 tests passed (not counting 2 expected errors) Running tests in rtest4: 94/94 tests passed Running tests in rtest5: 83/83 tests passed Running tests in rtest6: ** Problem 43 (line 166) *** Input: (string(2.0e-7), (%% = 2.0e-7) or (%% = 2.0E-7) or %%) Result: true ... Which was correct, but was expected to be wrong due to a known bug in Maxima or ECL. ** Problem 45 (line 172) *** Input: 1 (string(--), (%% = 9.765625e-4) or (%% = 9.765625E-4) or %%) 1024.0 Result: true ... Which was correct, but was expected to be wrong due to a known bug in Maxima or ECL. 42/42 tests passed (not counting 3 expected errors) The following 2 problems passed but were expected to fail: (43
Re: Update lang/ecl to 20.4.24
On Tue, Jun 2, 2020, at 12:16, Ingo Feinerer wrote: > On Tue, Jun 02, 2020 at 07:01:57AM +0300, Timo Myyrä wrote: > > Did you get the maxima tests to run as well? I didn't have success yet > > with those although the compilation worked. > > How did you run the tests? > > `make test` runs a test suite but the results are only written to a log > file (pobj/maxima-5.43.2/maxima-5.43.2/tests/ecl-test.sh.log). As the > tests take some time the test suite might appear to hang. > > The same test suite can be triggered manually if you start xmaxima and > click on the `Maxima->Run Tests` menu entry. The output is immediately > shown in the input/output window. > > Best regards, > Ingo > I did use the make test. Wondered a bit about the lack of output mut noticed with ktrace it has doing the tests so I waited. I'll check again later to see if the exact failure. Timo
Re: Update lang/ecl to 20.4.24
On Tue, Jun 02, 2020 at 07:01:57AM +0300, Timo Myyrä wrote: > Did you get the maxima tests to run as well? I didn't have success yet > with those although the compilation worked. How did you run the tests? `make test` runs a test suite but the results are only written to a log file (pobj/maxima-5.43.2/maxima-5.43.2/tests/ecl-test.sh.log). As the tests take some time the test suite might appear to hang. The same test suite can be triggered manually if you start xmaxima and click on the `Maxima->Run Tests` menu entry. The output is immediately shown in the input/output window. Best regards, Ingo
Re: Update lang/ecl to 20.4.24
On Sun, May 31, 2020, at 10:43, Ingo Feinerer wrote: > On Sat, May 30, 2020 at 08:32:23AM -0700, Josh Elsasser wrote: > > Maxima needs an upstream patch to build with ecl 20.4.24. This should > > be safe to commit now, before updating ecl. > > > > diff --git a/math/maxima/patches/patch-lisp-utils_defsystem_lisp > > b/math/maxima/patches/patch-lisp-utils_defsystem_lisp > > new file mode 100644 > > index 000..b3fd1683402 > > --- /dev/null > > +++ b/math/maxima/patches/patch-lisp-utils_defsystem_lisp > > @@ -0,0 +1,17 @@ > > +$OpenBSD$ > > + > > +Upstream commit 615b4bf8b13d55a576bc60ad04f7b17d75f49021 > > +Fix for Bug #3629, to compile with ECL 20.4.24 > > + > > +Index: lisp-utils/defsystem.lisp > > +--- lisp-utils/defsystem.lisp.orig > > lisp-utils/defsystem.lisp > > +@@ -4152,7 +4152,7 @@ the system definition, if provided." > > + #+:ecl > > + (progn > > + (ext:package-lock "CL" nil) > > +-(setf (symbol-function 'lisp:require) > > ++(setf (symbol-function 'cl:require) > > + (symbol-function 'new-require)) > > + (ext:package-lock "CL" t)) > > + #+:lispworks > > diff --git a/math/maxima/patches/patch-src_maxima_system > > b/math/maxima/patches/patch-src_maxima_system > > new file mode 100644 > > index 000..5d651aa002e > > --- /dev/null > > +++ b/math/maxima/patches/patch-src_maxima_system > > @@ -0,0 +1,18 @@ > > +$OpenBSD$ > > + > > +Upstream commit 615b4bf8b13d55a576bc60ad04f7b17d75f49021 > > +Fix for Bug #3629, to compile with ECL 20.4.24 > > + > > +Index: src/maxima.system > > +--- src/maxima.system.orig > > src/maxima.system > > +@@ -80,8 +80,7 @@ > > + (let ((x (symbol-value (find-symbol > > "*AUTOCONF-LD-FLAGS*" > > + (find-package > > "MAXIMA") > > + (if (and x (not (string= x ""))) (list x))) > > +-:epilogue-code '(progn (require :defsystem) > > +- (cl-user::run))) > > ++:epilogue-code '(progn (cl-user::run))) > > + > > + (defun maxima-binary-pathname () > > + #+clisp > > Committed. Thanks for the patch! > > Best regards, > Ingo > > Did you get the maxima tests to run as well? I didn't have success yet with those although the compilation worked. Timo
Re: Update lang/ecl to 20.4.24
On Sat, May 30, 2020 at 08:32:23AM -0700, Josh Elsasser wrote: > Maxima needs an upstream patch to build with ecl 20.4.24. This should > be safe to commit now, before updating ecl. > > diff --git a/math/maxima/patches/patch-lisp-utils_defsystem_lisp > b/math/maxima/patches/patch-lisp-utils_defsystem_lisp > new file mode 100644 > index 000..b3fd1683402 > --- /dev/null > +++ b/math/maxima/patches/patch-lisp-utils_defsystem_lisp > @@ -0,0 +1,17 @@ > +$OpenBSD$ > + > +Upstream commit 615b4bf8b13d55a576bc60ad04f7b17d75f49021 > +Fix for Bug #3629, to compile with ECL 20.4.24 > + > +Index: lisp-utils/defsystem.lisp > +--- lisp-utils/defsystem.lisp.orig > lisp-utils/defsystem.lisp > +@@ -4152,7 +4152,7 @@ the system definition, if provided." > + #+:ecl > + (progn > + (ext:package-lock "CL" nil) > +-(setf (symbol-function 'lisp:require) > ++(setf (symbol-function 'cl:require) > + (symbol-function 'new-require)) > + (ext:package-lock "CL" t)) > + #+:lispworks > diff --git a/math/maxima/patches/patch-src_maxima_system > b/math/maxima/patches/patch-src_maxima_system > new file mode 100644 > index 000..5d651aa002e > --- /dev/null > +++ b/math/maxima/patches/patch-src_maxima_system > @@ -0,0 +1,18 @@ > +$OpenBSD$ > + > +Upstream commit 615b4bf8b13d55a576bc60ad04f7b17d75f49021 > +Fix for Bug #3629, to compile with ECL 20.4.24 > + > +Index: src/maxima.system > +--- src/maxima.system.orig > src/maxima.system > +@@ -80,8 +80,7 @@ > + (let ((x (symbol-value (find-symbol > "*AUTOCONF-LD-FLAGS*" > + (find-package > "MAXIMA") > + (if (and x (not (string= x ""))) (list x))) > +- :epilogue-code '(progn (require :defsystem) > +- (cl-user::run))) > ++ :epilogue-code '(progn (cl-user::run))) > + > + (defun maxima-binary-pathname () > + #+clisp Committed. Thanks for the patch! Best regards, Ingo
Re: Update lang/ecl to 20.4.24
On Tue, May 19, 2020 at 01:13:06PM -0400, Kurt Mosiejczuk wrote: > On Tue, May 19, 2020 at 08:59:48AM -0700, Josh Elsasser wrote: > > Here's a quick update to the new release, minimally tested as a > > lang/sbcl build host. The patch removes files, don't forget patch -E > > Someone should do testing with math/maxima, net/clic, and sysutils/reed-alert. > > --Kurt Maxima needs an upstream patch to build with ecl 20.4.24. This should be safe to commit now, before updating ecl. diff --git a/math/maxima/patches/patch-lisp-utils_defsystem_lisp b/math/maxima/patches/patch-lisp-utils_defsystem_lisp new file mode 100644 index 000..b3fd1683402 --- /dev/null +++ b/math/maxima/patches/patch-lisp-utils_defsystem_lisp @@ -0,0 +1,17 @@ +$OpenBSD$ + +Upstream commit 615b4bf8b13d55a576bc60ad04f7b17d75f49021 +Fix for Bug #3629, to compile with ECL 20.4.24 + +Index: lisp-utils/defsystem.lisp +--- lisp-utils/defsystem.lisp.orig lisp-utils/defsystem.lisp +@@ -4152,7 +4152,7 @@ the system definition, if provided." + #+:ecl + (progn + (ext:package-lock "CL" nil) +-(setf (symbol-function 'lisp:require) ++(setf (symbol-function 'cl:require) + (symbol-function 'new-require)) + (ext:package-lock "CL" t)) + #+:lispworks diff --git a/math/maxima/patches/patch-src_maxima_system b/math/maxima/patches/patch-src_maxima_system new file mode 100644 index 000..5d651aa002e --- /dev/null +++ b/math/maxima/patches/patch-src_maxima_system @@ -0,0 +1,18 @@ +$OpenBSD$ + +Upstream commit 615b4bf8b13d55a576bc60ad04f7b17d75f49021 +Fix for Bug #3629, to compile with ECL 20.4.24 + +Index: src/maxima.system +--- src/maxima.system.orig src/maxima.system +@@ -80,8 +80,7 @@ + (let ((x (symbol-value (find-symbol "*AUTOCONF-LD-FLAGS*" + (find-package "MAXIMA") + (if (and x (not (string= x ""))) (list x))) +-:epilogue-code '(progn (require :defsystem) +- (cl-user::run))) ++:epilogue-code '(progn (cl-user::run))) + + (defun maxima-binary-pathname () + #+clisp
Re: Update lang/ecl to 20.4.24
On Wed, May 20, 2020, at 00:41, Solene Rapenne wrote: > Le Tue, 19 May 2020 13:13:06 -0400, > Kurt Mosiejczuk a écrit : > > > On Tue, May 19, 2020 at 08:59:48AM -0700, Josh Elsasser wrote: > > > Here's a quick update to the new release, minimally tested as a > > > lang/sbcl build host. The patch removes files, don't forget patch > > > -E > > > > Someone should do testing with math/maxima, net/clic, and > > sysutils/reed-alert. > > sysutils/reed-alert still work fine with this update > net/clic will build but fail to start, I'm investigating about this but > I think I'll have to rework a bit the code (I'm upstream for both). > > I'm very happy to see this ecl update though! > > The diff itself looks good, on ecl release I quickly tested it but got some test failures on ecl test suite and couldn't run math/maxima tests at all so i forgot it. At least the maxima tests should pass so that ecl could be updated. timo
Re: Update lang/ecl to 20.4.24
Le Tue, 19 May 2020 13:13:06 -0400, Kurt Mosiejczuk a écrit : > On Tue, May 19, 2020 at 08:59:48AM -0700, Josh Elsasser wrote: > > Here's a quick update to the new release, minimally tested as a > > lang/sbcl build host. The patch removes files, don't forget patch > > -E > > Someone should do testing with math/maxima, net/clic, and > sysutils/reed-alert. sysutils/reed-alert still work fine with this update net/clic will build but fail to start, I'm investigating about this but I think I'll have to rework a bit the code (I'm upstream for both). I'm very happy to see this ecl update though!
Re: Update lang/ecl to 20.4.24
On Tue, May 19, 2020 at 08:59:48AM -0700, Josh Elsasser wrote: > Here's a quick update to the new release, minimally tested as a > lang/sbcl build host. The patch removes files, don't forget patch -E Someone should do testing with math/maxima, net/clic, and sysutils/reed-alert. --Kurt > diff -ruN --exclude .git /usr/ports/lang/ecl/Makefile ./Makefile > --- /usr/ports/lang/ecl/Makefile Tue Feb 18 15:29:40 2020 > +++ ./MakefileMon May 18 09:44:49 2020 > @@ -5,10 +5,9 @@ > > BROKEN-mips64 = ecl_min fails > > -V = 16.1.3 > +V = 20.4.24 > DISTNAME = ecl-$V > -SHARED_LIBS += ecl 6.0 > -REVISION = 3 > +SHARED_LIBS += ecl 7.0 > > HOMEPAGE = https://common-lisp.net/project/ecl/ > MAINTAINER = Timo Myyra > @@ -21,12 +20,14 @@ > > MASTER_SITES = ${HOMEPAGE}static/files/release/ > > +COMPILER = base-clang ports-gcc > USE_GMAKE = Yes > CONFIGURE_STYLE =gnu > TEST_TARGET =check > CONFIGURE_ENV += CPPFLAGS=-I${LOCALBASE}/include \ > ECLLIB_VERSION=${LIBecl_VERSION} \ > - ecldir=${LOCALBASE}/lib/ecl > + ecldir=${LOCALBASE}/lib/ecl \ > + MAKEINFO=${PREFIX}/bin/gmakeinfo > > CONFIGURE_ARGS +=--enable-boehm=system \ > --enable-libatomic=system \ > @@ -38,6 +39,8 @@ > CONFIGURE_ENV += ETAGS=/usr/bin/true > > WANTLIB += atomic_ops c ffi gc gmp m pthread > + > +BUILD_DEPENDS += print/texinfo > > LIB_DEPENDS += devel/gmp \ > devel/boehm-gc,-main \ > diff -ruN --exclude .git /usr/ports/lang/ecl/distinfo ./distinfo > --- /usr/ports/lang/ecl/distinfo Mon May 15 13:40:18 2017 > +++ ./distinfoMon May 18 09:44:49 2020 > @@ -1,2 +1,2 @@ > -SHA256 (ecl-16.1.3.tgz) = dqWFxhbo+oOmtyCTJaMJ2lvAymjgZY85b0mVVjgRElQ= > -SIZE (ecl-16.1.3.tgz) = 7459212 > +SHA256 (ecl-20.4.24.tgz) = Zwg47fJYqTa1Iv22INozbefldaoNJ+NIQXJyUnJtDwc= > +SIZE (ecl-20.4.24.tgz) = 7815444 > diff -ruN --exclude .git /usr/ports/lang/ecl/patches/patch-src_Makefile_in > ./patches/patch-src_Makefile_in > --- /usr/ports/lang/ecl/patches/patch-src_Makefile_in Mon May 15 13:40:18 2017 > +++ ./patches/patch-src_Makefile_in Sun Mar 22 08:45:49 2020 > @@ -1,7 +1,8 @@ > $OpenBSD: patch-src_Makefile_in,v 1.6 2016/12/20 20:12:29 juanfra Exp $ > src/Makefile.in.orig Mon Dec 19 21:24:59 2016 > -+++ src/Makefile.in Mon Dec 19 21:27:43 2016 > -@@ -296,30 +296,15 @@ install: > +Index: src/Makefile.in > +--- src/Makefile.in.orig > src/Makefile.in > +@@ -212,30 +212,15 @@ install: > for i in `(cd ecl && find . -name '*.h')`; do echo $$i; \ > $(INSTALL_DATA) ecl/$$i $(DESTDIR)$(includedir)/ecl/$$i; \ > done > @@ -18,7 +19,7 @@ > - $(INSTALL_LIBRARY) $$i $(DESTDIR)$(libdir); \ > - fi \ > -done > --if [ "x@SONAME3@" != "x" -a -f "@SONAME3@" ]; then \ > +-if [ "x@SONAME3@" != "x" -a -f "@SONAME3@" -a "@SONAME@" != "@SONAME3@" > ]; then \ > - ( $(INSTALL_LIBRARY) @SONAME3@ $(DESTDIR)$(libdir) && \ > -cd $(DESTDIR)$(libdir) && $(RM) -f @SONAME2@ @SONAME1@ @SONAME@ && \ > -$(LN_S) @SONAME3@ @SONAME2@ && \ > @@ -27,12 +28,12 @@ > -fi > +${INSTALL_LIBRARY} libecl.so $(DESTDIR)$(libdir)/$(LSP_LIBRARIES) > +cd $(DESTDIR)$(libdir) && ln -sf $(LSP_LIBRARIES) libecl.so > - $(INSTALL_PROGRAM) $(DPP) $(DESTDIR)$(ecldir) > + $(INSTALL_PROGRAM) c/$(DPP) $(DESTDIR)$(ecldir) > $(INSTALL_PROGRAM) $(ECL_MIN) $(DESTDIR)$(ecldir) > for i in `cat modules`; do \ > case $$i in \ > -*.fas) $(INSTALL_PROGRAM) $$i $(DESTDIR)$(ecldir);; \ > -+*.fas) $(INSTALL_DATA) $$i $(DESTDIR)$(ecldir);; \ > ++*.fas) $(INSTALL_SCRIPT) $$i $(DESTDIR)$(ecldir);; \ > *) $(INSTALL_DATA) $$i $(DESTDIR)$(ecldir);; \ > esac \ > done > diff -ruN --exclude .git /usr/ports/lang/ecl/patches/patch-src_c_ffi_d > ./patches/patch-src_c_ffi_d > --- /usr/ports/lang/ecl/patches/patch-src_c_ffi_d Tue Feb 18 15:29:40 2020 > +++ ./patches/patch-src_c_ffi_d Wed Dec 31 16:00:00 1969 > @@ -1,26 +0,0 @@ > -$OpenBSD: patch-src_c_ffi_d,v 1.1 2020/02/12 19:42:02 jasper Exp $ > - > -libffi for x86_64 doesn't define FFI_SYSV anymore for FFI_UNIX64 should used > instead > -fixed upstream with > https://gitlab.com/embeddable-common-lisp/ecl/commit/b2f09b4809441a92d6c11a2b39d5399580e56ae7 > - > -Index: src/c/ffi.d > src/c/ffi.d.orig > -+++ src/c/ffi.d > -@@ -132,10 +132,15 @@ static struct { > - {@':stdcall', FFI_STDCALL}, > - #elif defined(X86_WIN64) > - {@':win64', FFI_WIN64}, > --#elif defined(X86_ANY) || defined(X86) || defined(X86_64) > -+#elif defined(X86_ANY) || defined(X86) > -+#if defined(X86_64) > -+ {@':cdecl', FFI_UNIX64}, > -+ {@':sysv', FFI_UNIX64}, > -+ {@':unix64', FFI_UNIX64}, > -+#else > - {@':cdecl', FFI_SYSV}, > - {@':sysv', FFI_SYSV}, > -- {@'
Update lang/ecl to 20.4.24
Here's a quick update to the new release, minimally tested as a lang/sbcl build host. The patch removes files, don't forget patch -E diff -ruN --exclude .git /usr/ports/lang/ecl/Makefile ./Makefile --- /usr/ports/lang/ecl/MakefileTue Feb 18 15:29:40 2020 +++ ./Makefile Mon May 18 09:44:49 2020 @@ -5,10 +5,9 @@ BROKEN-mips64 =ecl_min fails -V =16.1.3 +V =20.4.24 DISTNAME = ecl-$V -SHARED_LIBS += ecl 6.0 -REVISION = 3 +SHARED_LIBS += ecl 7.0 HOMEPAGE = https://common-lisp.net/project/ecl/ MAINTAINER = Timo Myyra @@ -21,12 +20,14 @@ MASTER_SITES = ${HOMEPAGE}static/files/release/ +COMPILER = base-clang ports-gcc USE_GMAKE =Yes CONFIGURE_STYLE = gnu TEST_TARGET = check CONFIGURE_ENV += CPPFLAGS=-I${LOCALBASE}/include \ ECLLIB_VERSION=${LIBecl_VERSION} \ - ecldir=${LOCALBASE}/lib/ecl + ecldir=${LOCALBASE}/lib/ecl \ + MAKEINFO=${PREFIX}/bin/gmakeinfo CONFIGURE_ARGS += --enable-boehm=system \ --enable-libatomic=system \ @@ -38,6 +39,8 @@ CONFIGURE_ENV += ETAGS=/usr/bin/true WANTLIB += atomic_ops c ffi gc gmp m pthread + +BUILD_DEPENDS += print/texinfo LIB_DEPENDS += devel/gmp \ devel/boehm-gc,-main \ diff -ruN --exclude .git /usr/ports/lang/ecl/distinfo ./distinfo --- /usr/ports/lang/ecl/distinfoMon May 15 13:40:18 2017 +++ ./distinfo Mon May 18 09:44:49 2020 @@ -1,2 +1,2 @@ -SHA256 (ecl-16.1.3.tgz) = dqWFxhbo+oOmtyCTJaMJ2lvAymjgZY85b0mVVjgRElQ= -SIZE (ecl-16.1.3.tgz) = 7459212 +SHA256 (ecl-20.4.24.tgz) = Zwg47fJYqTa1Iv22INozbefldaoNJ+NIQXJyUnJtDwc= +SIZE (ecl-20.4.24.tgz) = 7815444 diff -ruN --exclude .git /usr/ports/lang/ecl/patches/patch-src_Makefile_in ./patches/patch-src_Makefile_in --- /usr/ports/lang/ecl/patches/patch-src_Makefile_in Mon May 15 13:40:18 2017 +++ ./patches/patch-src_Makefile_in Sun Mar 22 08:45:49 2020 @@ -1,7 +1,8 @@ $OpenBSD: patch-src_Makefile_in,v 1.6 2016/12/20 20:12:29 juanfra Exp $ src/Makefile.in.orig Mon Dec 19 21:24:59 2016 -+++ src/Makefile.inMon Dec 19 21:27:43 2016 -@@ -296,30 +296,15 @@ install: +Index: src/Makefile.in +--- src/Makefile.in.orig src/Makefile.in +@@ -212,30 +212,15 @@ install: for i in `(cd ecl && find . -name '*.h')`; do echo $$i; \ $(INSTALL_DATA) ecl/$$i $(DESTDIR)$(includedir)/ecl/$$i; \ done @@ -18,7 +19,7 @@ - $(INSTALL_LIBRARY) $$i $(DESTDIR)$(libdir); \ -fi \ - done -- if [ "x@SONAME3@" != "x" -a -f "@SONAME3@" ]; then \ +- if [ "x@SONAME3@" != "x" -a -f "@SONAME3@" -a "@SONAME@" != "@SONAME3@" ]; then \ -( $(INSTALL_LIBRARY) @SONAME3@ $(DESTDIR)$(libdir) && \ - cd $(DESTDIR)$(libdir) && $(RM) -f @SONAME2@ @SONAME1@ @SONAME@ && \ - $(LN_S) @SONAME3@ @SONAME2@ && \ @@ -27,12 +28,12 @@ - fi + ${INSTALL_LIBRARY} libecl.so $(DESTDIR)$(libdir)/$(LSP_LIBRARIES) + cd $(DESTDIR)$(libdir) && ln -sf $(LSP_LIBRARIES) libecl.so - $(INSTALL_PROGRAM) $(DPP) $(DESTDIR)$(ecldir) + $(INSTALL_PROGRAM) c/$(DPP) $(DESTDIR)$(ecldir) $(INSTALL_PROGRAM) $(ECL_MIN) $(DESTDIR)$(ecldir) for i in `cat modules`; do \ case $$i in \ - *.fas) $(INSTALL_PROGRAM) $$i $(DESTDIR)$(ecldir);; \ -+ *.fas) $(INSTALL_DATA) $$i $(DESTDIR)$(ecldir);; \ ++ *.fas) $(INSTALL_SCRIPT) $$i $(DESTDIR)$(ecldir);; \ *) $(INSTALL_DATA) $$i $(DESTDIR)$(ecldir);; \ esac \ done diff -ruN --exclude .git /usr/ports/lang/ecl/patches/patch-src_c_ffi_d ./patches/patch-src_c_ffi_d --- /usr/ports/lang/ecl/patches/patch-src_c_ffi_d Tue Feb 18 15:29:40 2020 +++ ./patches/patch-src_c_ffi_d Wed Dec 31 16:00:00 1969 @@ -1,26 +0,0 @@ -$OpenBSD: patch-src_c_ffi_d,v 1.1 2020/02/12 19:42:02 jasper Exp $ - -libffi for x86_64 doesn't define FFI_SYSV anymore for FFI_UNIX64 should used instead -fixed upstream with https://gitlab.com/embeddable-common-lisp/ecl/commit/b2f09b4809441a92d6c11a2b39d5399580e56ae7 - -Index: src/c/ffi.d src/c/ffi.d.orig -+++ src/c/ffi.d -@@ -132,10 +132,15 @@ static struct { - {@':stdcall', FFI_STDCALL}, - #elif defined(X86_WIN64) - {@':win64', FFI_WIN64}, --#elif defined(X86_ANY) || defined(X86) || defined(X86_64) -+#elif defined(X86_ANY) || defined(X86) -+#if defined(X86_64) -+ {@':cdecl', FFI_UNIX64}, -+ {@':sysv', FFI_UNIX64}, -+ {@':unix64', FFI_UNIX64}, -+#else - {@':cdecl', FFI_SYSV}, - {@':sysv', FFI_SYSV}, -- {@':unix64', FFI_UNIX64}, -+#endif - #endif - }; - diff -ruN --exclude .git /usr/ports/lang/ecl/patches/patch-src_c_numbers_atan_d ./patches/patch-src_c_numbers_atan_d --- /usr/ports/lang/ecl/patches/patch-src_c_numbers_atan_d Wed Dec 28 11:38:56 2016 +++ ./patches/patch-src_c_numbers_atan_dWed Dec 31 16:00:00 1969 @@ -1