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 == 0x200000000 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...)