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...)

Reply via email to