Subject: Re: #38772 guile-2.2.6 'prebuilt/32-bit-big-endian' prebuilt bytecode is invalid

From: Peter Dyballa <[email-masked]>
Date: Sat, 5 Sep 2020 10:42:05 +0200

Hello!

I had the same problem on PowerPC Mac OS X 10.5.8 (Leopard) some years  
ago with Guile version 2.2.2. Analogous to https://marc.info/?l=openbsd-ports&m=157757173428256&w=2 
  I renamed the corresponding directory with (obviously MIPS based) 32  
bit big-endian pre-builds so that make needed an additional bootstrap  
step. Make built all GO files, which are all different from their  
correspondent prebuilt files. This time the build process succeeded  
and 'make check' also succeeded:

	Totals for this test run:
	passes:                 41137
	failures:               0
	unexpected passes:      0
	expected failures:      10
	unresolved test cases:  66
	untested test cases:    1
	unsupported test cases: 1
	errors:                 0

Today I created a variant of guile-2.2.2.tar.gz in which the prebuilt  
were substituted with my own versions. With this TAR file I started a  
new build. It is still building, which means that it did not fail at  
this early stage:

	cat alist.doc array-handle.doc array-map.doc arrays.doc async.doc  
atomic.doc backtrace.doc boolean.doc bitvectors.doc bytevectors.doc  
chars.doc control.doc continuations.doc debug.doc deprecated.doc  
deprecation.doc dynl.doc dynwind.doc eq.doc error.doc eval.doc  
evalext.doc expand.doc extensions.doc fdes-finalizers.doc feature.doc  
filesys.doc fluids.doc foreign.doc fports.doc gc-malloc.doc gc.doc  
gettext.doc generalized-arrays.doc generalized-vectors.doc goops.doc  
gsubr.doc guardians.doc hash.doc hashtab.doc hooks.doc i18n.doc  
init.doc ioext.doc keywords.doc list.doc load.doc macros.doc  
mallocs.doc memoize.doc modules.doc numbers.doc objprop.doc  
options.doc pairs.doc ports.doc print.doc procprop.doc procs.doc  
promises.doc r6rs-ports.doc random.doc rdelim.doc read.doc rw.doc  
scmsigs.doc script.doc simpos.doc smob.doc sort.doc srcprop.doc  
srfi-1.doc srfi-4.doc srfi-13.doc srfi-14.doc srfi-60.doc stackchk.doc  
stacks.doc stime.doc strings.doc strorder.doc strports.doc struct.doc  
symbols.doc syntax.doc threads.doc throw.doc trees.doc unicode.doc  
uniform.doc values.doc variable.doc vectors.doc version.doc vports.doc  
weak-set.doc weak-table.doc weak-vector.doc dynl.doc posix.doc  
net_db.doc socket.doc regex-posix.doc | GUILE_AUTO_COMPILE=0 ../meta/ 
build-env guild snarf-check-and-output-texi          > guile- 
procedures.texi || { rm guile-procedures.texi; false; }
	cat: stdout: Broken pipe
	/bin/sh: line 1: 56842 Done(1)                 cat alist.doc array- 
handle.doc array-map.doc arrays.doc async.doc atomic.doc backtrace.doc  
boolean.doc bitvectors.doc bytevectors.doc chars.doc control.doc  
continuations.doc debug.doc deprecated.doc deprecation.doc dynl.doc  
dynwind.doc eq.doc error.doc eval.doc evalext.doc expand.doc  
extensions.doc fdes-finalizers.doc feature.doc filesys.doc fluids.doc  
foreign.doc fports.doc gc-malloc.doc gc.doc gettext.doc generalized- 
arrays.doc generalized-vectors.doc goops.doc gsubr.doc guardians.doc  
hash.doc hashtab.doc hooks.doc i18n.doc init.doc ioext.doc  
keywords.doc list.doc load.doc macros.doc mallocs.doc memoize.doc  
modules.doc numbers.doc objprop.doc options.doc pairs.doc ports.doc  
print.doc procprop.doc procs.doc promises.doc r6rs-ports.doc  
random.doc rdelim.doc read.doc rw.doc scmsigs.doc script.doc  
simpos.doc smob.doc sort.doc srcprop.doc srfi-1.doc srfi-4.doc  
srfi-13.doc srfi-14.doc srfi-60.doc stackchk.doc stacks.doc stime.doc  
strings.doc strorder.doc strports.doc struct.doc symbols.doc  
syntax.doc threads.doc throw.doc trees.doc unicode.doc uniform.doc  
values.doc variable.doc vectors.doc version.doc vports.doc weak- 
set.doc weak-table.doc weak-vector.doc dynl.doc posix.doc net_db.doc  
socket.doc regex-posix.doc
	     56843 Segmentation fault      | GUILE_AUTO_COMPILE=0 ../meta/ 
build-env guild snarf-check-and-output-texi > guile-procedures.texi
	make[3]: *** [guile-procedures.texi] Error 1

I'll continue these checks with more recent versions of Guile. And I  
am providing the proper prebuilt GO files.

--
Greetings

   Pete

Engineer: a mechanism for converting caffeine into designs