#54124 closed defect (fixed)
guile @2.2.2 won't build on PPC Leopard, Mac OS X 10.5.8, because is uses non-existing /lib/cpp as C preprocessor
Reported by: | ballapete (Peter "Pete" Dyballa) | Owned by: | kencu (Ken) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.4.1 |
Keywords: | tiger leopard snowleopard | Cc: | |
Port: | guile |
Description
checking dependency style of /usr/bin/gcc-4.2... gcc3 checking how to enable C11 support... -std=gnu11 checking how to run the C preprocessor... /lib/cpp configure: error: in `/opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_lang_guile/guile/work/guile-2.2.2': configure: error: C preprocessor "/lib/cpp" fails sanity check See `config.log' for more details Command failed: cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_lang_guile/guile/work/guile-2.2.2" && ./configure --prefix=/opt/local CPPFLAGS="-I/opt/local/include" LDFLAGS="-L/opt/local/lib" --infodir="/opt/local/share/info" --mandir="/opt/local/share/man" --enable-regex --disable-error-on-warning --disable-silent-rules --host=powerpc-apple-darwin9 --build=powerpc-apple-darwin9 Exit code: 1 Error: Failed to configure guile, consult /opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_lang_guile/guile/work/guile-2.2.2/config.log Error: Failed to configure guile: configure failure: command execution failed DEBUG: Error code: NONE DEBUG: Backtrace: configure failure: command execution failed
In config.log
one can find:
configure:6228: /lib/cpp -I/opt/local/include conftest.c ./configure: line 3037: /lib/cpp: No such file or directory
configure
knows this influential environment variable
:
CPP C preprocessor
This can be fixed in Portfile, see attached patch file.
Attachments (5)
Change History (86)
Changed 8 years ago by ballapete (Peter "Pete" Dyballa)
Changed 8 years ago by ballapete (Peter "Pete" Dyballa)
Attachment: | Portfile.diff added |
---|
Patch for Portfile to find proper CPP
comment:1 Changed 8 years ago by ballapete (Peter "Pete" Dyballa)
This leads to another error, as logged in config.log
:
configure:29959: /usr/bin/gcc-4.2 -std=gnu11 -c -pipe -Os -arch ppc -I/opt/local/include conftest.c >&5 cc1: error: unrecognized command line option "-std=gnu11" configure:29959: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "GNU Guile" | #define PACKAGE_TARNAME "guile" | #define PACKAGE_VERSION "2.2.2" | #define PACKAGE_STRING "GNU Guile 2.2.2" | #define PACKAGE_BUGREPORT "bug-guile@gnu.org" | #define PACKAGE_URL "http://www.gnu.org/software/guile/" | #define _ALL_SOURCE 1 | #define _DARWIN_C_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define __STDC_WANT_IEC_60559_ATTRIBS_EXT__ 1 | #define __STDC_WANT_IEC_60559_BFP_EXT__ 1 | #define __STDC_WANT_IEC_60559_DFP_EXT__ 1 | #define __STDC_WANT_IEC_60559_FUNCS_EXT__ 1 | #define __STDC_WANT_IEC_60559_TYPES_EXT__ 1 | #define __STDC_WANT_LIB_EXT2__ 1 | #define __STDC_WANT_MATH_SPEC_FUNCS__ 1 | #define _TANDEM_SOURCE 1 | #define _DARWIN_USE_64_BIT_INODE 1 | #define size_t unsigned int | #define C_ALLOCA 1 | #define STACK_DIRECTION -1 | #define HAVE_ENVIRON_DECL 1 | #define HAVE_WORKING_O_NOATIME 0 | #define HAVE_WORKING_O_NOFOLLOW 0 | #define pid_t int | #define mode_t int | #define HAVE_DECL_ALARM 0 | #define STAT_MACROS_BROKEN 1 | #define nlink_t int | #define restrict /**/ | #define HAVE_DECL_INET_NTOP 0 | #define HAVE_DECL_GETLOGIN 0 | #define ICONV_CONST | #define WORDS_BIGENDIAN 1 | #define HAVE_DECL_GETC_UNLOCKED 0 | #define MALLOC_0_IS_NONNULL 0 | #define PROMOTED_MODE_T mode_t | #ifndef __cplusplus | #define inline | #endif | #define mbstate_t int | #define ssize_t int | #define HAVE_DECL_SETENV 0 | #define BITSIZEOF_PTRDIFF_T 0 | #define BITSIZEOF_SIZE_T 0 | #define BITSIZEOF_SIG_ATOMIC_T 0 | #define BITSIZEOF_WCHAR_T 0 | #define BITSIZEOF_WINT_T 0 | #define PTRDIFF_T_SUFFIX | #define SIZE_T_SUFFIX | #define SIG_ATOMIC_T_SUFFIX | #define WCHAR_T_SUFFIX | #define WINT_T_SUFFIX | #define TM_IN_SYS_TIME 1 | #define HAVE_DECL_TZNAME 0 | #define HAVE_DECL_VSNPRINTF 0 | #define HAVE_DECL_SNPRINTF 0 | #define HAVE_DECL_STRDUP 0 | #define HAVE_DECL_UNSETENV 0 | #define intmax_t long | #define HAVE_DECL__SNPRINTF 0 | #define GNULIB_TEST_ACCEPT 1 | #define GNULIB_TEST_ACCEPT4 1 | #define GNULIB_TEST_BIND 1 | #define GNULIB_CANONICALIZE_LGPL 1 | #define GNULIB_TEST_CANONICALIZE_FILE_NAME 1 | #define GNULIB_TEST_REALPATH 1 | #define GNULIB_TEST_CEIL 1 | #define GNULIB_TEST_CLOSE 1 | #define GNULIB_TEST_CONNECT 1 | #define GNULIB_TEST_COPYSIGN 1 | #define HAVE_DECL_DIRFD 0 | #define GNULIB_TEST_DIRFD 1 | #define GNULIB_TEST_DUPLOCALE 1 | #define GNULIB_TEST_ENVIRON 1 | #define GNULIB_TEST_FLOOR 1 | #define GNULIB_TEST_FREXP 1 | #define GNULIB_TEST_FSTAT 1 | #define GNULIB_TEST_FSYNC 1 | #define __func__ "<unknown function>" | #define HAVE_DECL_GAI_STRERROR 0 | #define HAVE_DECL_GETADDRINFO 0 | #define HAVE_DECL_FREEADDRINFO 0 | #define HAVE_DECL_GETNAMEINFO 0 | #define GNULIB_TEST_GETADDRINFO 1 | #define GNULIB_TEST_GETLOGIN 1 | #define GNULIB_TEST_GETPEERNAME 1 | #define GNULIB_TEST_GETSOCKNAME 1 | #define GNULIB_TEST_GETSOCKOPT 1 | #define GETTIMEOFDAY_TIMEZONE void | #define GNULIB_TEST_GETTIMEOFDAY 1 | #define HAVE_DECL_INET_NTOP 0 | #define HAVE_DECL_INET_PTON 0 | #define HAVE_DECL_ISFINITE 0 | #define GNULIB_TEST_ISFINITE 1 | #define HAVE_DECL_ISINF 0 | #define GNULIB_TEST_ISINF 1 | #define GNULIB_TEST_ISNAN 1 | #define GNULIB_TEST_ISNAND 1 | #define GNULIB_TEST_ISNANF 1 | #define GNULIB_TEST_ISNANL 1 | #define HAVE_VISIBILITY 0 | #define GNULIB_TEST_LINK 1 | #define GNULIB_TEST_LISTEN 1 | #define GNULIB_TEST_LOG1P 1 | #define GNULIB_TEST_LSTAT 1 | #define HAVE_MALLOC_GNU 0 | #define GNULIB_MALLOC_GNU 1 | #define GNULIB_TEST_MALLOC_POSIX 1 | #define FUNC_MKDIR_DOT_BUG 1 | #define GNULIB_MKOSTEMP 1 | #define GNULIB_TEST_MKOSTEMP 1 | #define GNULIB_TEST_NL_LANGINFO 1 | #define OPEN_TRAILING_SLASH_BUG 1 | #define GNULIB_TEST_OPEN 1 | #define GNULIB_TEST_PIPE 1 | #define GNULIB_TEST_PIPE2 1 | #define GNULIB_TEST_POLL 1 | #define HAVE_DECL__PUTENV 0 | #define GNULIB_TEST_PUTENV 1 | #define GNULIB_TEST_READ 1 | #define GNULIB_TEST_READLINK 1 | #define GNULIB_TEST_RECV 1 | #define GNULIB_TEST_RECVFROM 1 | #define _REGEX_INCLUDE_LIMITS_H 1 | #define _REGEX_LARGE_OFFSETS 1 | #define re_syntax_options rpl_re_syntax_options | #define re_set_syntax rpl_re_set_syntax | #define re_compile_pattern rpl_re_compile_pattern | #define re_compile_fastmap rpl_re_compile_fastmap | #define re_search rpl_re_search | #define re_search_2 rpl_re_search_2 | #define re_match rpl_re_match | #define re_match_2 rpl_re_match_2 | #define re_set_registers rpl_re_set_registers | #define re_comp rpl_re_comp | #define re_exec rpl_re_exec | #define regcomp rpl_regcomp | #define regexec rpl_regexec | #define regerror rpl_regerror | #define regfree rpl_regfree | #define HAVE_DECL_ISBLANK 0 | #define RENAME_TRAILING_SLASH_DEST_BUG 1 | #define RENAME_TRAILING_SLASH_SOURCE_BUG 1 | #define RENAME_DEST_EXISTS_BUG 1 | #define GNULIB_TEST_RENAME 1 | #define GNULIB_TEST_RMDIR 1 | #define GNULIB_TEST_SELECT 1 | #define GNULIB_TEST_SEND 1 | #define GNULIB_TEST_SENDTO 1 | #define GNULIB_TEST_SETENV 1 | #define GNULIB_TEST_SETSOCKOPT 1 | #define GNULIB_TEST_SHUTDOWN 1 | #define GNULIB_TEST_SOCKET 1 | /* end confdefs.h. */ | #include <sys/types.h> | #include <sys/socket.h> | | int getpeername (int, void *, unsigned long int *); | int | main () | { | unsigned long int len; | getpeername (0, 0, &len); | ; | return 0; | } configure:29971: error: Cannot find a type to use in place of socklen_t
socklen_t
is #defined in /usr/include/sys/socket.h
:
#define _SOCKLEN_T typedef __darwin_socklen_t socklen_t;
The variable type __darwin_socklen_t
is #defined in /usr/include/ppc/_types.h
:
typedef __uint32_t __darwin_socklen_t;
I think the type __uint32_t
needs to be #defined as uint32_t
…
comment:2 Changed 8 years ago by ballapete (Peter "Pete" Dyballa)
The same failure with lib/cpp
also happens on Snow Leopard, Mac OS X 10.6.8
comment:3 follow-up: 4 Changed 8 years ago by ryandesign (Ryan Carsten Schmidt)
Keywords: | tiger leopard snowleopard added; Leopard removed |
---|
I'm not surprised. /lib/cpp is a fallback that configure scripts use as a location for cpp when all other choices have been exhausted. It is not meant for macOS; one of the cpp locations tried earlier is meant to have worked on macOS, but has failed for another reason. That reason appears to be that this build system is trying to make Apple's gcc 4.2.1 use C11, which it does not support. If this build system requires C11 support, old compilers will have to be blacklisted.
comment:4 Changed 8 years ago by ballapete (Peter "Pete" Dyballa)
Replying to ryandesign:
That reason appears to be that this build system is trying to make Apple's gcc 4.2.1 use C11, which it does not support. If this build system requires C11 support, old compilers will have to be blacklisted.
Indeed! From config.log
(on Snow Leopard):
configure:6180: checking how to enable C11 support configure:6183: result: -std=gnu11 configure:6197: checking how to run the C preprocessor configure:6228: /usr/bin/llvm-gcc-4.2 -std=gnu11 -E -I/opt/local/include conftest.c cc1: error: unrecognized command line option "-std=gnu11" configure:6228: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "GNU Guile" | #define PACKAGE_TARNAME "guile" | #define PACKAGE_VERSION "2.2.2" | #define PACKAGE_STRING "GNU Guile 2.2.2" | #define PACKAGE_BUGREPORT "bug-guile@gnu.org" | #define PACKAGE_URL "http://www.gnu.org/software/guile/" | /* end confdefs.h. */ | #ifdef __STDC__ | # include <limits.h> | #else | # include <assert.h> | #endif | Syntax error configure:6228: /usr/bin/llvm-gcc-4.2 -std=gnu11 -E -I/opt/local/include conftest.c cc1: error: unrecognized command line option "-std=gnu11"
comment:5 Changed 8 years ago by ballapete (Peter "Pete" Dyballa)
port upgrade guile configure.compiler=macports-gcc-6
has started to compile on Snow Leopard, on Tiger it does a fine configure
job…
comment:6 Changed 8 years ago by ballapete (Peter "Pete" Dyballa)
The build went fine on Snow Leopard. Then port found that autogen @5.18.12_0 needs to be rev-upgraded. This fails with (from config.log
):
configure:14135: checking for pkg-config configure:14153: found /opt/local/bin/pkg-config configure:14165: result: /opt/local/bin/pkg-config configure:14190: checking pkg-config is at least version 0.9.0 configure:14193: result: yes configure:14221: checking for guile 2.0 configure:14224: $PKG_CONFIG --exists --print-errors "guile-$v" Package guile-2.0 was not found in the pkg-config search path. Perhaps you should add the directory containing `guile-2.0.pc' to the PKG_CONFIG_PATH environment variable No package 'guile-2.0' found configure:14227: $? = 1 configure:14221: checking for guile 1.8 configure:14224: $PKG_CONFIG --exists --print-errors "guile-$v" Package guile-1.8 was not found in the pkg-config search path. Perhaps you should add the directory containing `guile-1.8.pc' to the PKG_CONFIG_PATH environment variable No package 'guile-1.8' found configure:14227: $? = 1 configure:14235: error: No Guile development packages were found.
This is because port installed /opt/local/lib/pkgconfig/guile-2.2.pc
. /opt/local/lib/pkgconfig/guile-2.0.pc
is gone…
New ticket for autogen
?
comment:7 Changed 8 years ago by ballapete (Peter "Pete" Dyballa)
The build fails on PPC Tiger with:
./guile-snarf-docs -o regex-posix.doc regex-posix.c -- -DHAVE_CONFIG_H -DBUILDING_LIBGUILE=1 -I.. -I.. -I../lib -I../lib -I/opt/local/lib/libffi-3.2.1/include -I/opt/local/var/macports/build/_opt_local_var_macports_sources_lil.fr.rsync.macports.org_release_tarballs_ports_lang_guile/guile/work/guile-2.2.2 -I/opt/local/include -pipe -Os -m32 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 make[3]: *** [guile-procedures.texi] Error 1 make[3]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_lil.fr.rsync.macports.org_release_tarballs_ports_lang_guile/guile/work/guile-2.2.2/libguile'
Changed 8 years ago by ballapete (Peter "Pete" Dyballa)
Attachment: | main.2.log added |
---|
main.log from PPC Tiger with pipe failure
comment:8 follow-up: 9 Changed 8 years ago by kencu (Ken)
someone beat you to it -- see ticket:54112 for the fix.
comment:9 Changed 8 years ago by ballapete (Peter "Pete" Dyballa)
Replying to kencu:
someone beat you to it -- see ticket:54112 for the fix.
This works on Mac OS X 10.6.8, Snow Leopard. On PPC hardware with Tiger and Leopard Guile does not build because of the broken pipe, mentioned in 7.
comment:10 follow-up: 11 Changed 8 years ago by kencu (Ken)
Yeah, I was talking about the autogen error. I'll see if I can get to fixing the broken pipe thing for you.
BTW, you know how to "peg" a port at a certain version, so it won't update? Or roll back in the port tree to the last version that worked correctly? You need this skill on 10.4 and 10.5, because it happens all the time that new versions of ports won't build, and you must stick with older versions until the new versions get fixed (or don't). If you need to know how to do this, let me know.
comment:11 follow-up: 13 Changed 8 years ago by ballapete (Peter "Pete" Dyballa)
Replying to kencu:
Yeah, I was talking about the autogen error. I'll see if I can get to fixing the broken pipe thing for you.
BTW, you know how to "peg" a port at a certain version, so it won't update?
No. There is or was in port a "forget" argument…
If you need to know how to do this, let me know.
Yes, to know this would probably fine! (I am changing the Portfiles so that they do not show a new version.)
The "broken pipe" comes from the right side of the pipe. ../meta/build-env
is a shell script (it sets and exports LD_LIBRARY_PATH), guild
also. This one invokes the shell/scheme script /opt/local/var/macports/build/_opt_local_var_macports_sources_lil.fr.rsync.macports.org_release_tarballs_ports_lang_guile/guile/work/guile-2.2.2/libguile/guile
, whch knows at the beginning LD_LIBRARY_PATH and then resets LD_LIBRARY_PATH, exports it invokes finally /opt/local/var/macports/build/_opt_local_var_macports_sources_lil.fr.rsync.macports.org_release_tarballs_ports_lang_guile/guile/work/guile-2.2.2/libguile/.libs/guile
which probably cannot find its /opt/local/lib/libguile-2.2.1.dylib
– through a cascade of internal shell script functions…
I have no idea how to dive deeper…
comment:12 follow-up: 14 Changed 8 years ago by kencu (Ken)
I wonder if the bash
on 10.4 and 10.5 is just too old for this script? Why is it happening only there?
Also <https://superuser.com/questions/554855/how-can-i-fix-a-broken-pipe-error> looks like a clue.
comment:13 Changed 8 years ago by kencu (Ken)
Replying to ballapete:
Replying to kencu:
BTW, you know how to "peg" a port at a certain version, so it won't update? If you need to know how to do this, let me know.
Yes, to know this would probably fine! (I am changing the Portfiles so that they do not show a new version.)
Homebrew has automated this with a peg
command. On Macports, you do it manually, but with more control.
The trick is to use a local repository of Portfiles that you maintain yourself, separate from the frequently-updated MacPorts ports distribution. <https://guide.macports.org/chunked/development.local-repositories.html>
You have your macports installation look first in your local repository for portfiles by putting your repo ahead of the macports repo in sources.conf
. If it finds your Portfile for a port, it stops looking further and never finds the newer, incompatible current macports version.
There are two reasons I put ports in my local repo:
- They are huge, and I don't want to update them all the time.
- Newer versions are broken, and I need to stick with the last working version.
If you find ports that you don't want to update all the time (like gcc6, or clang, or other huge ports that there is no reason to update frequently on 10.4 and 10.5, you can move the ports in there (the whole port folder, with the macports structure of folders above it).
See <https://github.com/kencu/TigerPorts> , <https://github.com/kencu/LeopardPorts>, and <https://github.com/kencu/SnowLeopardPorts> for mine. You can use my repos as a start if you want, or just build your own. Sooner or later, repos like the ones I've started will be needed for all users of Tiger / Leopard / SnowLeopard, so that's why I started them last year.
Now if you have run sudo port selfupdate
and found yourself with a port that won't build, you will need to go backwards in time to get the last version of that Portfile that you installed that did work, and put that port in your local repo until it gets fixed, if it ever does.
One tested way of going back in time using github is here : <https://lists.macports.org/pipermail/macports-dev/2016-December/035058.html>. There is an old page about how to do this from the svn
era that is not too useful anymore after the change to github <https://trac.macports.org/wiki/howto/InstallingOlderPort>.
comment:14 Changed 8 years ago by ballapete (Peter "Pete" Dyballa)
Replying to kencu:
I wonder if the
bash
on 10.4 and 10.5 is just too old for this script? Why is it happening only there?
It's /bin/sh, which is "GNU bash, version 3.2.17(1)-release (powerpc-apple-darwin9.0)." It works OK. The problem is with the files that build Guile. The set of executables involved in executing the right side of the pipe perform (minimised with sort -u
):
+ DYLD_LIBRARY_PATH=/opt/local/var/macports/build/.../guile/work/guile-2.2.2/guile-readline/.libs + DYLD_LIBRARY_PATH=/opt/local/var/macports/build/.../guile/work/guile-2.2.2/libguile/.libs: /opt/local/var/macports/build/.../guile/work/guile-2.2.2/guile-readline/.libs + DYLD_LIBRARY_PATH=/opt/local/var/macports/build/.../guile/work/guile-2.2.2/libguile/.libs: /opt/local/var/macports/build/.../guile/work/guile-2.2.2/libguile/.libs: /opt/local/var/macports/build/.../guile/work/guile-2.2.2/guile-readline/.libs + LTDL_LIBRARY_PATH=/opt/local/var/macports/build/.../guile/work/guile-2.2.2/libguile: /opt/local/var/macports/build/.../guile/work/guile-2.2.2/guile-readline + LTDL_LIBRARY_PATH=/opt/local/var/macports/build/.../guile/work/guile-2.2.2/guile-readline
Only *one* directory with *one* dylib
exists: /opt/local/var/macports/build/.../guile/work/guile-2.2.2/libguile/.libs
. So the last assignments seem wrong. Anyway, gbd
explains:
gdb -arch ppc --core=/cores/core.27026 GNU gdb 6.3.50-20050815 (Apple version gdb-967) (Tue Jul 14 02:15:14 UTC 2009) ... This GDB was configured as "powerpc-apple-darwin". Core was generated by `/opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_lang_guile/guile/work/guile-2.2.2/libguile/.libs/guile'.
So it's neither cat nor bash nor the OS but the recently built guile binary that crashes and produces the ¼ GB big core files.
comment:15 Changed 8 years ago by kencu (Ken)
Interesting guile build hang in an identical spot during the build, using clang, patched and fixed two years ago...44112
comment:16 follow-up: 17 Changed 8 years ago by kencu (Ken)
Yep. Right at the point where that broken pipe
message comes in, the guile build process tries to launch the bootstrap version of guile, and that crashes. I couldn't say if this is easy / hard / impossible to fix. So I rolled back to 2.0.14.
In crashreporter, I see this error, almost identical, four consecutive times:
Process: guile [76557] Path: /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_lang_guile/guile/work/guile-2.2.2/libguile/.libs/guile Identifier: guile Version: ??? (???) Code Type: PPC (Native) Parent Process: sh [76555] Date/Time: 2017-05-08 22:46:12.487 -0700 OS Version: Mac OS X 10.5.8 (9L31a) Report Version: 6 Anonymous UUID: 90829B60-7C93-4BD6-ADB9-1EB3BB6D6C40 Exception Type: EXC_BAD_ACCESS (SIGSEGV) Exception Codes: KERN_INVALID_ADDRESS at 0x000000002f2e330c Crashed Thread: 0 Thread 0 Crashed: 0 libguile-2.2.1.dylib 0x00191ab4 vm_regular_engine + 460 1 libguile-2.2.1.dylib 0x00191dc8 vm_regular_engine + 1248 2 libguile-2.2.1.dylib 0x00133398 scm_load_startup_files + 68 3 libguile-2.2.1.dylib 0x001336e4 scm_i_init_guile + 676 4 libguile-2.2.1.dylib 0x001850a4 scm_i_init_thread_for_guile + 116 5 libguile-2.2.1.dylib 0x0018511c with_guile + 36 6 libgc.1.dylib 0x0005c56c GC_call_with_stack_base + 36 7 libguile-2.2.1.dylib 0x001855a8 scm_with_guile + 56 8 libguile-2.2.1.dylib 0x00133424 scm_boot_guile + 80 9 guile 0x00001f0c main + 216 10 guile 0x00001cd0 start + 64 Thread 1: 0 libSystem.B.dylib 0x9000aa8c __semwait_signal + 12 1 libSystem.B.dylib 0x90047318 _pthread_cond_wait + 1580 2 libgc.1.dylib 0x00062328 GC_wait_marker + 40 3 libgc.1.dylib 0x0005a134 GC_help_marker + 72 4 libgc.1.dylib 0x000638e8 GC_mark_thread + 176 5 libSystem.B.dylib 0x90045f70 _pthread_start + 316 Thread 0 crashed with PPC Thread State 32: srr0: 0x00191ab4 srr1: 0x0200f030 dar: 0x2f2e330c dsisr: 0x00200000 r0: 0x001937fc r1: 0xbfffce30 r2: 0x00000045 r3: 0x00000000 r4: 0x007abe80 r5: 0x00000000 r6: 0x001064b4 r7: 0x010503e0 r8: 0x010503e0 r9: 0x000b5ed8 r10: 0x00000000 r11: 0xbfffce30 r12: 0x24000214 r13: 0x001c18f0 r14: 0x0000ffff r15: 0x00000000 r16: 0x00000000 r17: 0x001d00b4 r18: 0x00712ee8 r19: 0x3fffffff r20: 0x2f2e330c r21: 0x00000000 r22: 0xbfffcf28 r23: 0x0077f4c0 r24: 0x010be020 r25: 0x00000006 r26: 0x00711af0 r27: 0x001c18f0 r28: 0x0001007f r29: 0x000b5ec0 r30: 0x00711aa0 r31: 0x001918f0 cr: 0x24000212 xer: 0x00000000 lr: 0x001937fc ctr: 0x00191a40 vrsave: 0x00000000 Binary Images: 0x1000 - 0x1fff +guile ??? (???) <4d9413353bdc36c2a29539a8dae758cd> /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_lang_guile/guile/work/guile-2.2.2/libguile/.libs/guile 0x5000 - 0x7ff7 +libffi.6.dylib ??? (???) <f34a014b6e4ef45113250420c903399c> /opt/local/lib/libffi.6.dylib 0xd000 - 0x16fff +libintl.8.dylib ??? (???) <0072ebffba7cf65a54dc94ecafc8b5ac> /opt/local/lib/libintl.8.dylib 0x4c000 - 0x6bfff +libgc.1.dylib ??? (???) <b3609483eaed03762dc321a8e6c8c7d0> /opt/local/lib/libgc.1.dylib 0x98000 - 0x9effd +libltdl.7.dylib ??? (???) <1a75eb50d3a79ed73cebcca91adf42da> /opt/local/lib/libltdl.7.dylib 0xa2000 - 0xacffb +libgcc_s.1.dylib ??? (???) <100de08689843cde948ad597a94fcc9d> /opt/local/lib/libgcc/libgcc_s.1.dylib 0x105000 - 0x1c5ffd +libguile-2.2.1.dylib ??? (???) <c4b4739d50b63abaa972505dac0ac888> /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_lang_guile/guile/work/guile-2.2.2/libguile/.libs/libguile-2.2.1.dylib 0x20a000 - 0x35ffff +libunistring.2.dylib ??? (???) <027fb77c9526b87f81da136504ad1c5e> /opt/local/lib/libunistring.2.dylib 0x370000 - 0x468fff +libiconv.2.dylib ??? (???) <0d40023623602bdc744ebff96a976c8f> /opt/local/lib/libiconv.2.dylib 0x474000 - 0x4d2ffb +libgmp.10.dylib ??? (???) <ff6607db1dcdca506f2eec7b9696fe2f> /opt/local/lib/libgmp.10.dylib 0x8fe00000 - 0x8fe30c23 dyld 97.1 (???) <89a0055b0e7ea2db881b73c6e63bc774> /usr/lib/dyld 0x90003000 - 0x901a3fe3 libSystem.B.dylib ??? (???) <7dc28e19e1aac16b29cbd7c5d9ce9638> /usr/lib/libSystem.B.dylib 0x901a5000 - 0x901d0ff7 libauto.dylib ??? (???) <a64d088b2d17e013b9ee5a08d3a20d33> /usr/lib/libauto.dylib 0x90ffc000 - 0x91001ff6 libmathCommon.A.dylib ??? (???) /usr/lib/system/libmathCommon.A.dylib 0x918d1000 - 0x91a19ff3 libicucore.A.dylib ??? (???) <bdab570d90979c4f601131d442f84720> /usr/lib/libicucore.A.dylib 0x91ac7000 - 0x91becff3 com.apple.CoreFoundation 6.5.7 (476.19) <dee0f0024f3bf976cfa0a0816e8aa338> /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation 0x91ff7000 - 0x920dafff libobjc.A.dylib ??? (???) <a1d4be2eed463c6799b6a1447fde72ba> /usr/lib/libobjc.A.dylib 0x94ad2000 - 0x94addffb libgcc_s.1.dylib ??? (???) <ea47fd375407f162c76d14d64ba246cd> /usr/lib/libgcc_s.1.dylib 0x961e2000 - 0x96249ffb libstdc++.6.dylib ??? (???) <a4e9b10268b3ffac26d0296499b24e8e> /usr/lib/libstdc++.6.dylib 0xfffec000 - 0xfffeffff libobjc.A.dylib ??? (???) /usr/lib/libobjc.A.dylib 0xffff8000 - 0xffff9703 libSystem.B.dylib ??? (???) /usr/lib/libSystem.B.dylib
comment:17 follow-up: 18 Changed 8 years ago by ballapete (Peter "Pete" Dyballa)
Replying to kencu:
I'll try to contact the developers!
comment:18 Changed 7 years ago by ballapete (Peter "Pete" Dyballa)
In the last ten days since reporting the bug to the GNU Bug Tracking System nothing happened: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=26854.
comment:19 Changed 7 years ago by ballapete (Peter "Pete" Dyballa)
It's the same on PPC Tiger, Mac OS X 10.4.11.
comment:20 Changed 7 years ago by kencu (Ken)
Worked on this a bit tonight. Adding the following block to the Portfile did get considerably farther through the guile-2.2.2 build, but still errors out in the end. Nonetheless, I think this is progress down the path to success:
platform darwin powerpc { compiler.whitelist macports-gcc-6 configure.args-append CPP=${configure.cpp} configure.optflags -O2 configure.cflags-append -I${prefix}/lib/gcc7/gcc/ppc-apple-darwin9/7.2.0/include }
ultimately dies with
ranlib: file: .libs/libguile-2.2.a(wctype-h.o) has no symbols CCLD guile GEN guile-procedures.texi cat: stdout: Broken pipe /bin/sh: line 1: 19360 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 19361 Segmentation fault | GUILE_AUTO_COMPILE=0 ../meta/build-env guild snarf-check-and-output-texi > guile-procedures.texi
but I wonder if this might be improved by changing the optflags from -Os to -O2 in this latter part of the build, perhaps...
comment:21 Changed 7 years ago by kencu (Ken)
Owner: | set to kencu |
---|---|
Resolution: | → fixed |
Status: | new → closed |
comment:22 Changed 7 years ago by kencu (Ken)
The committed fix does not technically fix the build of guile 2.2.2 on PPC, but it does fix the issue where the guile port does not install on PPC by substituting 2.0.14. We may or may not be able to fix 2.2.2 building on PPC over time.
comment:23 follow-up: 25 Changed 4 years ago by kencu (Ken)
there may be an actual fix for guile on powerpc here <https://marc.info/?l=openbsd-ports&m=157757173428256&w=2>
comment:24 Changed 4 years ago by kencu (Ken)
Resolution: | fixed |
---|---|
Status: | closed → reopened |
comment:25 Changed 4 years ago by ballapete (Peter "Pete" Dyballa)
Replying to kencu:
there may be an actual fix for guile on powerpc here <https://marc.info/?l=openbsd-ports&m=157757173428256&w=2>
There is one change I had to add to Portfile: usage of GCC6
which is selected as standard compiler. The reason is that from somewhere a C compiler switch -std=gnu11
is added which does not allow GCC 4.2
to successfully build any file (which could be the actual cause that /lib/cpp
is chosen for C pre-processor). The first try is just a plain build of Guile @2.2.2, next I'll try will be with recent version @2.2.4.
Although I have a problem: why did I need Guile then? Autoconf? Autogen?
comment:26 follow-up: 27 Changed 4 years ago by kencu (Ken)
The basic idea of the patch is to just delete the prebuilt guile binary which is apparently broken:
mv ${WRKSRC}/prebuilt/32-bit-big-endian{,-broken}
we can do that easily with a Portfile command, and see if 2.2+ builds. Apparently it takes almost 24 hours to build, though, so head's up if you try it.
comment:27 Changed 4 years ago by ballapete (Peter "Pete" Dyballa)
Replying to kencu:
Right! Though I need a working environment. Port
's version is different, its support files are different, and I do not know whether I can invoke à la gcc
: port -V 2.4.1 -vd -sk build guile
.
comment:28 Changed 4 years ago by ballapete (Peter "Pete" Dyballa)
First build ends with a new error:
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 make[3]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_lang_guile/guile/work/guile-2.2.2/libguile'
Next try is without a corrective CPP configure argument. Maybe GCC6
just accepts -std=gnu11
and so configure
can determine the C pre-processor!
comment:29 Changed 4 years ago by ballapete (Peter "Pete" Dyballa)
With GCC6
and GCC7
configure
easily determines the C pre-processor. Unless some other setup is used without -std=gnu11
these compilers should be used. Both fail in the same place. So I can try to determine now how to implement this mv
statement in Makefile.in
…
comment:30 follow-up: 31 Changed 4 years ago by kencu (Ken)
or just do the mv in the Portfile, which is super easy...
comment:31 follow-up: 32 Changed 4 years ago by ballapete (Peter "Pete" Dyballa)
Replying to kencu:
Yes, that's the better choice. The first build with renamed ${worksrcpath}/prebuilt/32-bit-big-endian
directory has started. With GCC7
.
comment:32 Changed 4 years ago by ballapete (Peter "Pete" Dyballa)
Replying to ballapete:
With the renamed directory of prebuilt software the build process is after the error! in ${worksrcpath}/bootstrap
the target
.scm.go: $(AM_V_GUILEC)GUILE_AUTO_COMPILE=0 \ $(top_builddir)/meta/build-env \ guild compile --target="$(GUILE_TARGET)" \ $(GUILE_WARNINGS) $(GUILE_OPTIMIZATIONS) \ -L "$(abs_top_srcdir)/module" \ -L "$(abs_top_srcdir)/guile-readline" \ -o "$@" "$<"
is being made.
comment:33 Changed 4 years ago by ballapete (Peter "Pete" Dyballa)
Build progress rushes in on the many feet of a snail!
There are 93 Scheme source files:
SOURCES = \ ice-9/eval.scm \ ice-9/psyntax-pp.scm \ language/cps/intmap.scm \ language/cps/intset.scm \ language/cps/utils.scm \ ice-9/vlist.scm \ srfi/srfi-1.scm \ \ language/tree-il.scm \ language/tree-il/analyze.scm \ language/tree-il/canonicalize.scm \ language/tree-il/compile-cps.scm \ language/tree-il/debug.scm \ language/tree-il/effects.scm \ language/tree-il/fix-letrec.scm \ language/tree-il/optimize.scm \ language/tree-il/peval.scm \ language/tree-il/primitives.scm \ language/tree-il/spec.scm \ \ language/cps.scm \ language/cps/closure-conversion.scm \ language/cps/compile-bytecode.scm \ language/cps/constructors.scm \ language/cps/contification.scm \ language/cps/cse.scm \ language/cps/dce.scm \ language/cps/effects-analysis.scm \ language/cps/elide-values.scm \ language/cps/handle-interrupts.scm \ language/cps/licm.scm \ language/cps/peel-loops.scm \ language/cps/primitives.scm \ language/cps/prune-bailouts.scm \ language/cps/prune-top-level-scopes.scm \ language/cps/reify-primitives.scm \ language/cps/renumber.scm \ language/cps/rotate-loops.scm \ language/cps/optimize.scm \ language/cps/simplify.scm \ language/cps/self-references.scm \ language/cps/slot-allocation.scm \ language/cps/spec.scm \ language/cps/specialize-primcalls.scm \ language/cps/specialize-numbers.scm \ language/cps/split-rec.scm \ language/cps/type-checks.scm \ language/cps/type-fold.scm \ language/cps/types.scm \ language/cps/verify.scm \ language/cps/with-cps.scm \ \ language/scheme/spec.scm \ language/scheme/compile-tree-il.scm \ language/scheme/decompile-tree-il.scm \ \ language/bytecode.scm \ language/bytecode/spec.scm \ \ language/value/spec.scm \ \ system/base/pmatch.scm \ system/base/syntax.scm \ system/base/compile.scm \ system/base/language.scm \ system/base/lalr.scm \ system/base/message.scm \ system/base/target.scm \ system/base/types.scm \ system/base/ck.scm \ \ ice-9/boot-9.scm \ ice-9/ports.scm \ ice-9/r5rs.scm \ ice-9/deprecated.scm \ ice-9/binary-ports.scm \ ice-9/command-line.scm \ ice-9/control.scm \ ice-9/format.scm \ ice-9/getopt-long.scm \ ice-9/i18n.scm \ ice-9/match.scm \ ice-9/networking.scm \ ice-9/posix.scm \ ice-9/rdelim.scm \ ice-9/receive.scm \ ice-9/regex.scm \ ice-9/session.scm \ ice-9/pretty-print.scm \ \ system/vm/assembler.scm \ system/vm/debug.scm \ system/vm/disassembler.scm \ system/vm/dwarf.scm \ system/vm/elf.scm \ system/vm/frame.scm \ system/vm/linker.scm \ system/vm/loader.scm \ system/vm/program.scm \ system/vm/vm.scm \ system/foreign.scm
After twelve hours two of them are converted to GO (Guile Output?) files, a third one (language/cps/intmap.scm) is in the works:
-rw-r--r-- 1 macports admin 104389 3. Sep 02:11 ice-9/eval.go (≈4h) -rw-r--r-- 1 macports admin 679597 3. Sep 10:38 ice-9/psyntax-pp.go (≈8h)
(Arithmetically the build will have finished around the ides of September. At reduced, minimal setting, CPU speed to keep the PowerBook G4 real silent.)
comment:34 Changed 4 years ago by ballapete (Peter "Pete" Dyballa)
The prebuilt GO files are:
-rw-r--r-- 2 macports admin 87053 21 Apr 2017 prebuilt/32-bit-big-endian-broken/ice-9/eval.go -rw-r--r-- 2 macports admin 384293 21 Apr 2017 prebuilt/32-bit-big-endian-broken/ice-9/psyntax-pp.go
(notice that they exist in two hard links), my own builds are:
-rw-r--r-- 1 macports admin 104389 3 Sep 02:11 bootstrap/ice-9/eval.go -rw-r--r-- 1 macports admin 679597 3 Sep 10:38 bootstrap/ice-9/psyntax-pp.go
The file
commands reveals that they all are of the same kind: ELF 32-bit MSB shared object, no machine, version 1 (embedded), not stripped
. A closer look onto the hard linked prebuilt files reveals:
76892014 88 -rw-r--r-- 2 macports admin 87053 Apr 21 2017 prebuilt/32-bit-big-endian-broken/ice-9/eval.go 76892024 376 -rw-r--r-- 2 macports admin 384293 Apr 21 2017 prebuilt/32-bit-big-endian-broken/ice-9/psyntax-pp.go 76892014 88 -rw-r--r-- 2 macports admin 87053 Apr 21 2017 prebuilt/mips-unknown-linux-gnu/ice-9/eval.go 76892024 376 -rw-r--r-- 2 macports admin 384293 Apr 21 2017 prebuilt/mips-unknown-linux-gnu/ice-9/psyntax-pp.go
Could this be the answer while they are broken? Built on (presumingly 32 bit) MIPS hardware?
comment:35 Changed 4 years ago by ballapete (Peter "Pete" Dyballa)
Towards the end of September I should be able to create my own variant of the source files archive and try to rebuild Guile from this. The difference to the original TAR would be that the prebuilt GO files would be substituted with my own versions. If then the build would finish we would have an indication that the MIPS prebuilt files are not adequate for PowerPC.
And we could try to contribute my GO files for distribution!
comment:36 Changed 4 years ago by kencu (Ken)
makes you wonder how on earth it could be so slow...
I wonder if the older working version for PPC that we have might have usable bootstrap bins...
comment:37 Changed 4 years ago by kencu (Ken)
For interest, I thought I would try the latest version of guile, 2.9.1, and that builds through on PowerPC as well. I deleted the ${worksrcpath}/prebuilt/32-bit-big-endian
directory before I built it.
Running the test suite now make check
.
But it does look like, one way or another, we'll be able to get newer versions of guile
going again on PowerPC.
comment:38 follow-ups: 42 43 Changed 4 years ago by kencu (Ken)
The results of the guile
2.9.1 test suite on 10.5 Leopard PowerPC look quite encouraging:
Totals for this test run: passes: 41258 failures: 3 unexpected passes: 0 expected failures: 10 unresolved test cases: 61 untested test cases: 1 unsupported test cases: 1 errors: 4
not quite perfect, but very very close. None of these gcc test suites ever seems to be 100% perfect, in my experience.
I wonder if the main guile port is ripe to be updated to 2.9.1 as well, and what, if anything, would be broken by so doing...
comment:39 Changed 4 years ago by kencu (Ken)
$ port -v installed guile The following ports are currently installed: guile @2.0.14_2 platform='darwin 9' archs='ppc' date='2020-06-26T23:04:25-0700' guile @2.9.1_0 (active) platform='darwin 9' archs='ppc' date='2020-09-03T18:43:56-0700'
comment:40 Changed 4 years ago by kencu (Ken)
well for one, autogen, which is what needs guile, won't build against guile 2.9.1.
So yeah, there's that :>
comment:41 Changed 4 years ago by ballapete (Peter "Pete" Dyballa)
Guile @2.2.2
finally built this morning. On the weekend I'll try to prepare a TAR file with my GO files in the prebuilt branch to see whether this builds flawlessly. Meanwhile make check
is running.
comment:42 Changed 4 years ago by ballapete (Peter "Pete" Dyballa)
Replying to kencu:
With version 2.2.2 I get here:
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
comment:43 follow-up: 80 Changed 4 years ago by ballapete (Peter "Pete" Dyballa)
Replying to kencu:
I wonder if the main guile port is ripe to be updated to 2.9.1 as well, and what, if anything, would be broken by so doing...
No, it's not! https://www.gnu.org/software/guile/download/ states: "The latest release of Guile's legacy 2.2.x series is 2.2.7." Version 2.9.1 could have been some experimental release. The official download site https://ftp.gnu.org/gnu/guile/ jumps from version 2.2.7 to version 3.0.0. I am going to try version 2.2.7 from March directly, no intermediate version 2.2.4 from July 2018.
comment:44 Changed 4 years ago by ballapete (Peter "Pete" Dyballa)
With the "patched" version 2.2.2 i had:
passes: 41124 failures: 0 unexpected passes: 0 expected failures: 10 unresolved test cases: 66 untested test cases: 1 unsupported test cases: 1 errors: 0
I had to remove one test: 00-repl-server.test
. This time the test would not succeed, something was waiting endlessly.
Now I am going to check version 2.2.7!
comment:45 Changed 4 years ago by ballapete (Peter "Pete" Dyballa)
I have to add the success of make check
:
======================================================= GNU AutoGen 5.18.16: autoopts/test/test-suite.log ======================================================= # TOTAL: 24 # PASS: 3 # SKIP: 0 # XFAIL: 0 # FAIL: 21 # XPASS: 0 # ERROR: 0
The reason for tha many failures is that no directory /opt/local/include/autoopts
exists. For a second test I built GnuTLS +guile
:
============================================ GnuTLS 3.6.14: gl/tests/test-suite.log ============================================ # TOTAL: 126 # PASS: 124 # SKIP: 0 # XFAIL: 0 # FAIL: 2 # XPASS: 0 # ERROR: 0 .. contents:: :depth: 2 FAIL: test-float ================ test-float.c:324: assertion 'x + x == x' failed FAIL test-float (exit status: 134) FAIL: test-fopen-gnu ==================== test-fopen-gnu.c:64: assertion '(flags & FD_CLOEXEC) != 0' failed FAIL test-fopen-gnu (exit status: 134)
Also not really a Guile 2.2.2
problem.
comment:46 follow-ups: 49 52 Changed 4 years ago by kencu (Ken)
so -- what do we need to do to fix the existing 2.2.2 port? Copy the contents of your fixed up /opt/local/lib/guile/2.2/ccache/
into ${worksrcpath}/prebuilt/32-bit-big-endian
?
We could probably find a way to do that. We'd need a tarball and then download them as a secondary distfile with the PowerPC port, and replace the current contents of prebuilt/32-bit-big-endian
with the new ones.
I presume they are all PPC generic binary files -- not for some specific processor like 970 or 7450? I actually have little idea just what format that GO files are.
If not that -- we can just delete prebuilt/32-bit-big-endian
and pop a ui_msg telling people to go to bed and come back after a long while :>
comment:47 follow-up: 48 Changed 4 years ago by ballapete (Peter "Pete" Dyballa)
In guile @2.2.7
we again have the same error with inapproriate pre-built GO files:
./guile-snarf-docs -o regex-posix.doc regex-posix.c -- -DHAVE_CONFIG_H -DBUILDING_LIBGUILE=1 -I.. -I.. -I../lib -I../lib -I/opt/local/lib/libffi-3.2.1/include -I/opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_lang_guile/guile/work/guile-2.2.7 -I/opt/local/include -pipe -Os -arch ppc 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: 35599 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 35600 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 make[3]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_lang_guile/guile/work/guile-2.2.7/libguile' make[2]: *** [all] Error 2
comment:48 Changed 4 years ago by kencu (Ken)
Replying to ballapete:
In
guile @2.2.7
we again have the same error with inapproriate pre-built GO files:
to be expected, I guess -- however they were broken in 2.2.2, they are not fixed in 2.2.7...
comment:49 follow-up: 56 Changed 4 years ago by ballapete (Peter "Pete" Dyballa)
Replying to kencu:
so -- what do we need to do to fix the existing 2.2.2 port? Copy the contents of your fixed up
/opt/local/lib/guile/2.2/ccache/
into${worksrcpath}/prebuilt/32-bit-big-endian
?
No, I don't think so. These are the files for daily use. If the pre-built files do not exist then local versions in ${worksrcpath}/bootstrap
are being built:
76905079 68 -rw-r--r-- 1 macports admin 68165 Sep 4 02:57 ./ice-9/binary-ports.go 76905064 644 -rw-r--r-- 1 macports admin 656845 Sep 4 02:51 ./ice-9/boot-9.go 76905081 84 -rw-r--r-- 1 macports admin 85629 Sep 4 02:59 ./ice-9/command-line.go 76905083 76 -rw-r--r-- 1 macports admin 76741 Sep 4 03:00 ./ice-9/control.go 76905075 172 -rw-r--r-- 1 macports admin 172517 Sep 4 02:56 ./ice-9/deprecated.go 76902476 104 -rw-r--r-- 1 macports admin 104389 Sep 3 02:11 ./ice-9/eval.go 76905084 236 -rw-r--r-- 1 macports admin 238549 Sep 4 03:05 ./ice-9/format.go 76905087 184 -rw-r--r-- 1 macports admin 186101 Sep 4 03:07 ./ice-9/getopt-long.go 76905088 96 -rw-r--r-- 1 macports admin 94869 Sep 4 03:09 ./ice-9/i18n.go 76905090 280 -rw-r--r-- 1 macports admin 284613 Sep 4 03:11 ./ice-9/match.go 76905091 76 -rw-r--r-- 1 macports admin 76211 Sep 4 03:13 ./ice-9/networking.go 76905070 100 -rw-r--r-- 1 macports admin 99669 Sep 4 02:53 ./ice-9/ports.go 76905092 76 -rw-r--r-- 1 macports admin 74923 Sep 4 03:14 ./ice-9/posix.go 76905148 92 -rw-r--r-- 1 macports admin 92869 Sep 4 03:25 ./ice-9/pretty-print.go 76902780 664 -rw-r--r-- 1 macports admin 679597 Sep 3 10:38 ./ice-9/psyntax-pp.go 76905074 68 -rw-r--r-- 1 macports admin 68405 Sep 4 02:54 ./ice-9/r5rs.go 76905094 76 -rw-r--r-- 1 macports admin 75837 Sep 4 03:15 ./ice-9/rdelim.go 76905105 68 -rw-r--r-- 1 macports admin 68869 Sep 4 03:17 ./ice-9/receive.go 76905145 76 -rw-r--r-- 1 macports admin 75349 Sep 4 03:19 ./ice-9/regex.go 76905147 92 -rw-r--r-- 1 macports admin 90669 Sep 4 03:22 ./ice-9/session.go 76904052 292 -rw-r--r-- 1 macports admin 297141 Sep 3 14:27 ./ice-9/vlist.go 76904995 68 -rw-r--r-- 1 macports admin 68941 Sep 4 02:02 ./language/bytecode/spec.go 76904992 72 -rw-r--r-- 1 macports admin 72533 Sep 4 01:58 ./language/bytecode.go 76904478 208 -rw-r--r-- 1 macports admin 211469 Sep 3 20:29 ./language/cps/closure-conversion.go 76904491 236 -rw-r--r-- 1 macports admin 238357 Sep 3 20:54 ./language/cps/compile-bytecode.go 76904543 80 -rw-r--r-- 1 macports admin 79005 Sep 3 21:05 ./language/cps/constructors.go 76904550 96 -rw-r--r-- 1 macports admin 97573 Sep 3 21:19 ./language/cps/contification.go 76904557 112 -rw-r--r-- 1 macports admin 112669 Sep 3 21:34 ./language/cps/cse.go 76904601 96 -rw-r--r-- 1 macports admin 96021 Sep 3 21:46 ./language/cps/dce.go 76904611 296 -rw-r--r-- 1 macports admin 302493 Sep 3 22:03 ./language/cps/effects-analysis.go 76904628 76 -rw-r--r-- 1 macports admin 74429 Sep 3 22:13 ./language/cps/elide-values.go 76904638 72 -rw-r--r-- 1 macports admin 72573 Sep 3 22:22 ./language/cps/handle-interrupts.go 76903350 312 -rw-r--r-- 1 macports admin 316101 Sep 3 12:20 ./language/cps/intmap.go 76903765 320 -rw-r--r-- 1 macports admin 324965 Sep 3 13:33 ./language/cps/intset.go 76904643 92 -rw-r--r-- 1 macports admin 92581 Sep 3 22:33 ./language/cps/licm.go 76904772 76 -rw-r--r-- 1 macports admin 76149 Sep 3 23:52 ./language/cps/optimize.go 76904687 88 -rw-r--r-- 1 macports admin 87629 Sep 3 22:44 ./language/cps/peel-loops.go 76904693 76 -rw-r--r-- 1 macports admin 73853 Sep 3 22:53 ./language/cps/primitives.go 76904702 76 -rw-r--r-- 1 macports admin 74037 Sep 3 23:03 ./language/cps/prune-bailouts.go 76904709 72 -rw-r--r-- 1 macports admin 70565 Sep 3 23:12 ./language/cps/prune-top-level-scopes.go 76904715 96 -rw-r--r-- 1 macports admin 94405 Sep 3 23:23 ./language/cps/reify-primitives.go 76904723 88 -rw-r--r-- 1 macports admin 88461 Sep 3 23:34 ./language/cps/renumber.go 76904766 88 -rw-r--r-- 1 macports admin 87013 Sep 3 23:43 ./language/cps/rotate-loops.go 76904792 76 -rw-r--r-- 1 macports admin 75493 Sep 4 00:10 ./language/cps/self-references.go 76904780 92 -rw-r--r-- 1 macports admin 93645 Sep 4 00:02 ./language/cps/simplify.go 76904804 316 -rw-r--r-- 1 macports admin 321965 Sep 4 00:26 ./language/cps/slot-allocation.go 76904813 72 -rw-r--r-- 1 macports admin 69965 Sep 4 00:33 ./language/cps/spec.go 76904861 196 -rw-r--r-- 1 macports admin 199061 Sep 4 00:51 ./language/cps/specialize-numbers.go 76904855 84 -rw-r--r-- 1 macports admin 83189 Sep 4 00:41 ./language/cps/specialize-primcalls.go 76904869 84 -rw-r--r-- 1 macports admin 82101 Sep 4 00:58 ./language/cps/split-rec.go 76904880 72 -rw-r--r-- 1 macports admin 70477 Sep 4 01:04 ./language/cps/type-checks.go 76904887 112 -rw-r--r-- 1 macports admin 112877 Sep 4 01:12 ./language/cps/type-fold.go 76904894 912 -rw-r--r-- 1 macports admin 933573 Sep 4 01:31 ./language/cps/types.go 76904035 108 -rw-r--r-- 1 macports admin 108061 Sep 3 13:58 ./language/cps/utils.go 76904902 96 -rw-r--r-- 1 macports admin 96317 Sep 4 01:36 ./language/cps/verify.go 76904904 76 -rw-r--r-- 1 macports admin 75445 Sep 4 01:40 ./language/cps/with-cps.go 76904462 772 -rw-r--r-- 1 macports admin 789837 Sep 3 20:05 ./language/cps.go 76904982 68 -rw-r--r-- 1 macports admin 68029 Sep 4 01:48 ./language/scheme/compile-tree-il.go 76904984 200 -rw-r--r-- 1 macports admin 204485 Sep 4 01:55 ./language/scheme/decompile-tree-il.go 76904980 68 -rw-r--r-- 1 macports admin 69517 Sep 4 01:44 ./language/scheme/spec.go 76904136 484 -rw-r--r-- 1 macports admin 491541 Sep 3 16:01 ./language/tree-il/analyze.go 76904196 72 -rw-r--r-- 1 macports admin 72021 Sep 3 16:18 ./language/tree-il/canonicalize.go 76904204 248 -rw-r--r-- 1 macports admin 252029 Sep 3 16:58 ./language/tree-il/compile-cps.go 76904279 80 -rw-r--r-- 1 macports admin 81245 Sep 3 17:16 ./language/tree-il/debug.go 76904288 204 -rw-r--r-- 1 macports admin 208877 Sep 3 17:40 ./language/tree-il/effects.go 76904333 84 -rw-r--r-- 1 macports admin 84565 Sep 3 17:57 ./language/tree-il/fix-letrec.go 76904346 68 -rw-r--r-- 1 macports admin 68853 Sep 3 18:13 ./language/tree-il/optimize.go 76904355 632 -rw-r--r-- 1 macports admin 643269 Sep 3 18:58 ./language/tree-il/peval.go 76904409 192 -rw-r--r-- 1 macports admin 193469 Sep 3 19:19 ./language/tree-il/primitives.go 76904418 68 -rw-r--r-- 1 macports admin 69493 Sep 3 19:32 ./language/tree-il/spec.go 76904120 216 -rw-r--r-- 1 macports admin 220085 Sep 3 15:25 ./language/tree-il.go 76904997 68 -rw-r--r-- 1 macports admin 67907 Sep 4 02:05 ./language/value/spec.go 76904104 112 -rw-r--r-- 1 macports admin 111325 Sep 3 14:53 ./srfi/srfi-1.go 76905063 72 -rw-r--r-- 1 macports admin 71269 Sep 4 02:41 ./system/base/ck.go 76905007 80 -rw-r--r-- 1 macports admin 80701 Sep 4 02:15 ./system/base/compile.go 76905049 324 -rw-r--r-- 1 macports admin 331133 Sep 4 02:25 ./system/base/lalr.go 76905009 76 -rw-r--r-- 1 macports admin 75333 Sep 4 02:18 ./system/base/language.go 76905054 100 -rw-r--r-- 1 macports admin 100973 Sep 4 02:29 ./system/base/message.go 76905002 76 -rw-r--r-- 1 macports admin 75973 Sep 4 02:08 ./system/base/pmatch.go 76905004 88 -rw-r--r-- 1 macports admin 87525 Sep 4 02:12 ./system/base/syntax.go 76905056 76 -rw-r--r-- 1 macports admin 74669 Sep 4 02:32 ./system/base/target.go 76905058 296 -rw-r--r-- 1 macports admin 299701 Sep 4 02:38 ./system/base/types.go 76905186 80 -rw-r--r-- 1 macports admin 78141 Sep 4 04:11 ./system/foreign.go 76905151 1292 -rw-r--r-- 1 macports admin 1320101 Sep 4 03:46 ./system/vm/assembler.go 76905162 388 -rw-r--r-- 1 macports admin 393989 Sep 4 03:49 ./system/vm/debug.go 76905165 448 -rw-r--r-- 1 macports admin 455325 Sep 4 03:54 ./system/vm/disassembler.go 76905167 1120 -rw-r--r-- 1 macports admin 1143949 Sep 4 04:02 ./system/vm/dwarf.go 76905174 692 -rw-r--r-- 1 macports admin 706469 Sep 4 04:07 ./system/vm/elf.go 76905180 184 -rw-r--r-- 1 macports admin 185253 Sep 4 04:08 ./system/vm/frame.go 76905182 308 -rw-r--r-- 1 macports admin 311669 Sep 4 04:10 ./system/vm/linker.go 76905183 68 -rw-r--r-- 1 macports admin 67677 Sep 4 04:10 ./system/vm/loader.go 76905184 88 -rw-r--r-- 1 macports admin 88229 Sep 4 04:11 ./system/vm/program.go 76905185 68 -rw-r--r-- 1 macports admin 67901 Sep 4 04:11 ./system/vm/vm.go
We could probably find a way to do that. We'd need a tarball and then download them as a secondary distfile with the PowerPC port, and replace the current contents of
prebuilt/32-bit-big-endian
with the new ones.
Which I can provide. Presumingly tar.gz
is preferred over tar.xz
? I can put the archive file onto We Transfer
and you'll have one week to download it…
I presume they are all PPC generic binary files -- not for some specific processor like 970 or 7450? I actually have little idea just what format those GO files are.
As I already mentioned: ELF 32-bit MSB shared object, no machine, version 1 (embedded), not stripped
The build of guile @2.2.7
has started – with my pre-built GO files.
comment:50 Changed 4 years ago by ballapete (Peter "Pete" Dyballa)
I have this in my version Guile
's Portfile
:
26 platform darwin powerpc { 27 version 2.2.7 28 revision 0 29 checksums rmd160 309ee96ba266668fa90aa05beb34470fa4fa7296 \ 30 sha256 dd4837f8c2465a98e8d12cf25f88cb6330195670516cd60baf06c6b5142a5c1c \ 31 size 22108594 32 compiler.c_standard 1989 33 34 post-patch { 35 move ${worksrcpath}/prebuilt/32-bit-big-endian ${worksrcpath}/prebuilt/32-bit-big-endian-broken 36 } 37 }
I think the compiler.c_standard 1989
statement should be removed in order to allow configure
to determine the C pre-processor
, which does not seem to work with standard GCC 4.2
. The recent versions of GCC 6
or GCC 7
are certainly compiler.c_standard 2011
.
comment:51 Changed 4 years ago by ballapete (Peter "Pete" Dyballa)
As with guile @2.2.2
I see with guile @2.2.7
again that files in ${worksrcpath}/bootstrap
are being built… Which takes so many hours. Is there something wrong in the build process?
I should re-check with guile @2.0.14
afterwards!
comment:52 Changed 4 years ago by ballapete (Peter "Pete" Dyballa)
Replying to kencu:
I presume they are all PPC generic binary files -- not for some specific processor like 970 or 7450? I actually have little idea just what format those GO files are.
The binary GO output files seem to follow this architecture: guild compile --target="powerpc-apple-darwin9"
. Clearly 32 bit, but – in the prebuilt directory is no 64-bit-big-endian sub-directory to support modern 64 bit PowerPC hardware, which simply is not necessary because the PPC 970 can execute the 32 bit big-endian code for PPC 7400 or PPC 7450.
comment:53 Changed 4 years ago by kencu (Ken)
when we change the portfile, we'll have it match the intel version again. If we upgrade to 2.2.7, we'll do it across the board for all archs.
I'm just first trying to see if we can replace the 32bit PPC prebuilt files with ones that work, to save everyone many hours compiling this.
comment:54 Changed 4 years ago by kencu (Ken)
Looks like someone has been listening in on our conversation <https://github.com/macports/macports-ports/commit/2c0fac054b44f024dd749859fc0fb824f12f0d0e>.
So now we across-the-board go for 2.2.7.
comment:55 Changed 4 years ago by kencu (Ken)
I'm thinking this block:
platform darwin powerpc { post-extract { # the prebuilt guile binaries are broken for 32bit darwn PPC move ${worksrcpath}/prebuilt/32-bit-big-endian ${worksrcpath}/prebuilt/32-bit-big-endian-disabled # this build will take a long time ui_msg "This build will take time, as guile has to do a full bootstrap on PPC." } }
unless / until we can come up with some new prebuilts that work on PowerPC
comment:56 Changed 4 years ago by kencu (Ken)
Replying to ballapete:
As I already mentioned:
ELF 32-bit MSB shared object, no machine, version 1 (embedded), not stripped
Well that's the funny thing, isn't it, as darwin isn't supposed to be able to use any ELF files (darwin uses macho files)... but I think we can see that guile is a bit strange...
comment:57 Changed 4 years ago by ballapete (Peter "Pete" Dyballa)
Using a patched version of the old Portfile
guile @2.2.7
built and make check
too, with one error, the web-server.test
:
Running web-response.test Running web-server.test ERROR: web-server.test: GET / - arguments: ((system-error "connect" "~A" ("Connection refused") (61))) ERROR: web-server.test: GET /latin1 - arguments: ((system-error "connect" "~A" ("Connection refused") (61))) ERROR: web-server.test: GET /user-agent - arguments: ((system-error "connect" "~A" ("Connection refused") (61))) ERROR: web-server.test: GET /does-not-exist - arguments: ((system-error "connect" "~A" ("Connection refused") (61))) ERROR: web-server.test: GET with keep-alive - arguments: ((system-error "connect" "~A" ("Connection refused") (61))) ERROR: web-server.test: POST / - arguments: ((system-error "connect" "~A" ("Connection refused") (61))) Running web-uri.test UNRESOLVED: web-uri.test: build-uri: http://ill\xe9gal.com UNRESOLVED: web-uri.test: string->uri: http://www.example.com (sv_SE) Totals for this test run: passes: 41596 failures: 2 unexpected passes: 0 expected failures: 10 unresolved test cases: 76 untested test cases: 1 unsupported test cases: 1 errors: 8 FAIL: check-guile ================================== 1 of 1 test failed Please report to bug-guile@gnu.org ==================================
comment:58 Changed 4 years ago by ballapete (Peter "Pete" Dyballa)
guile @2.0.14
has no pre-built GO files nor does it produce GO files in the (not yet existing) bootstrap folder. That's the secret reason why it builds successfully on PowerPC…
comment:59 follow-up: 62 Changed 4 years ago by kencu (Ken)
have you stumbled across a script that makes the prebuilt directories? Or is it all by hand?
comment:60 Changed 4 years ago by kencu (Ken)
Resolution: | → fixed |
---|---|
Status: | reopened → closed |
comment:61 Changed 4 years ago by kencu (Ken)
Autogen will fail rev-upgrade for anyone who has guile installed, and autogen, and then guile updates to the 2.2 series. But I'm not going to revbump autogen just for the three people who have this scenario, and there is no buildbot for PowerPC at present anyway.
comment:62 follow-up: 65 Changed 4 years ago by ballapete (Peter "Pete" Dyballa)
Replying to kencu:
have you stumbled across a script that makes the prebuilt directories? Or is it all by hand?
It was done manually: gtar -cf - <the subdirs with built GO files in "bootstrap" directory> | ( pushd <"prebuilt/32-bit-big-endian" directory in outpacked new Guile version> ; gtar xf - )
followed by gtar zcf /opt/local/var/macports/distfiles/guile/guile-<VERSION>.tar.gz ./guile-<VERSION>
. The original faulty GO files were first unlinked by gtar and then extracted from the pipe. The original TAR file was renamed so that a completely new TAR file with the original VERSION could be created. In Portfile
I had to edit checksums and size to describe the new sources archive. The new TAR archive file shows my bootstrapped GO files in prebuilt/32-bit-big-endian.
I might be seeing the cause for neglecting the new prebuilt files:
date: illegal time format usage: date [-jnu] [-d dst] [-r seconds] [-t west] [-v[+|-]val[ymwdHMS]] ... [-f fmt date | [[[mm]dd]HH]MM[[cc]yy][.ss]] [+format]
It's these statements in libguile/Makefile
(around line # 3888):
@BUILD_DATE="$${SOURCE_DATE_EPOCH:-`date '+%s'`}" ; \ echo ' { "buildstamp", "'`date -u +'%Y-%m-%d %T' -d @$$BUILD_DATE`'" }, \' >> libpath.tmp @echo '}' >> libpath.tmp $(AM_V_GEN)mv libpath.tmp libpath.h
date '+%s'
works as expected on every system, date -u +'%Y-%m-%d %T' -d @$$BUILD_DATE
fails on older systems (it actually converts the time stamp's time format from EPOCH to YYYY-MM-DD HH:MM.SS). It will probably work with gdate
. port provides `which gdate`
gives /opt/local/bin/gdate is provided by: coreutils
, so coreutils
would become a build dependancy
.
More likely is that I had in Portfile
:
post-patch { move ${worksrcpath}/prebuilt/32-bit-big-endian ${worksrcpath}/prebuilt/32-bit-big-endian-broken }
This explains quite a lot…
I'm going to rebuild Guile @2.2.7
without that stement!
comment:63 follow-ups: 64 81 Changed 4 years ago by kencu (Ken)
I started making a new set of prebuilts for PPC 10.5, and there were just too many to bother with so I scrubbed the project. Besides, are the 10.4 PPC ones different or the same? If we ever do use them, should they be build on 10.4? Does it make any difference. There seems to be no processor specific code in them ("cpu_subtype_all", etc).
Anyway, it works fine as I pushed it now, other than requiring a bit of patience to build them. If we can get a reliable set of prebuilts to use, I'll update the port with them later.
comment:64 Changed 4 years ago by ballapete (Peter "Pete" Dyballa)
Replying to kencu:
I started making a new set of prebuilts for PPC 10.5, and there were just too many to bother with so I scrubbed the project. Besides, are the 10.4 PPC ones different or the same?
I'll have to find out! I have only one PowerBook G4
and so I'm either in Tiger or in Leopard. After solving the mysteries of building Guile in faster Leopard I'll boot Tiger and can start into a faster cycle.
comment:65 follow-up: 66 Changed 4 years ago by ballapete (Peter "Pete" Dyballa)
Replying to ballapete:
Replying to kencu:
This explains quite a lot…
I'm going to rebuild
Guile @2.2.7
without that stement!
Having the pre-built files around still produces:
./guile-snarf-docs -o regex-posix.doc regex-posix.c -- -DHAVE_CONFIG_H -DBUILDING_LIBGUILE=1 -I.. -I.. -I../lib -I../lib -I/opt/local/lib/libffi-3.2.1/include -I/opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_lang_guile/guile/work/guile-2.2.7 -I/opt/local/include -pipe -Os -arch ppc 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; } Cannot exit gracefully when init is in progress; aborting. cat: stdout: Broken pipe /bin/sh: line 1: 47228 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 47229 Abort trap | GUILE_AUTO_COMPILE=0 ../meta/build-env guild snarf-check-and-output-texi > guile-procedures.texi
Has Guile a bug in its ELF interpreter? Or is it just the faulty date?
Next try!
comment:66 Changed 4 years ago by ballapete (Peter "Pete" Dyballa)
Replying to ballapete:
Has Guile a bug in its ELF interpreter? Or is it just the faulty date?
It's not the faulty! Guild
still crashes as so many times before. Next try is to let the build process create the GO files in bootstrap. Could be they are invalid because of the empty build time stamp. Then I'll 'patch' the TAR archive to contain the new bootstrapped GO files in prebuilt/32-bit-big-endian. And the I'll check how the build with these new GO files will work. With the recent legacy version of Guile I'll report the errors and see how good the Guile support is. (When it's professional it should it should reject working on a problem with an outdated hard- and software.)
comment:67 Changed 4 years ago by kencu (Ken)
The 32bit PowerPC bootstrap files are felt by the openbsd folks to be just "bad". They figure they were made with a little-endian machine trying to cross-compile, but there were errors.
All these files have been remade in the "guile" port -- I'm mostly just looking for some script to replace them as I'm just too lazy to copy the new fixed ones in one-by-one by hand ;>
Changed 4 years ago by ballapete (Peter "Pete" Dyballa)
Attachment: | Makefile.in.diff added |
---|
Patch to correct date in libguile/Makefile.in
comment:68 follow-ups: 69 70 Changed 4 years ago by ballapete (Peter "Pete" Dyballa)
Why are the pre-built GO files rebuilt?
The toplevel Makefile
, in ${worksrcpath}
, has around line # 1700:
SUBDIRS = \ lib \ meta \ libguile \ bootstrap \ module \ guile-readline \ examples \ emacs \ test-suite \ benchmark-suite \ gc-benchmarks \ am \ doc
So there is a strict order in which Guile
is being built. In target $(am__recursive_targets):
we find this recipe around line # 1870:
for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
Make echos what it will perform in which sub-directory and then does perform this, i.e. a make all
. So we enter ${worksrcpath}/bootstrap
. The Makefile
here has:
all: all-am
=>
all-am: Makefile $(DATA)
where DATA is defined as:
DATA = $(nobase_noinst_DATA)
=>
nobase_noinst_DATA = $(GOBJECTS)
which are
GOBJECTS = $(SOURCES:%.scm=%.go)
The SOURCES are 93 SCM files. More important is the compilation rule from SCM to GO: %.scm=%.go
which is:
.scm.go: $(AM_V_GUILEC)GUILE_AUTO_COMPILE=0 \ $(top_builddir)/meta/build-env \ guild compile --target="$(GUILE_TARGET)" \ $(GUILE_WARNINGS) $(GUILE_OPTIMIZATIONS) \ -L "$(abs_top_srcdir)/module" \ -L "$(abs_top_srcdir)/guile-readline" \ -o "$@" "$<"
and appears as, just one example for the first source SCM file:
GUILE_AUTO_COMPILE=0 \ ../meta/build-env \ guild compile --target="powerpc-apple-darwin9" \ -O1 \ -L "/opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_lang_guile/guile/work/guile-2.2.7/module" \ -L "/opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_lang_guile/guile/work/guile-2.2.7/guile-readline" \ -o "ice-9/eval.go" "../module/ice-9/eval.scm" wrote `ice-9/eval.go'
../meta/build-env
sets for example ${worksrcpath}/libguile
as leading element in $PATH
. This directory contains shell scripts guild
and guile
.
For me these 93 bootstrap GO file are built unconditionally. (I am going to check what is happening on x86_64 hardware.)
comment:69 Changed 4 years ago by ballapete (Peter "Pete" Dyballa)
Replying to ballapete:
Why are the pre-built GO files rebuilt?
For me these 93 bootstrap GO file are built unconditionally. (I am going to check what is happening on x86_64 hardware.)
On Catalina same behaviour. Luckily they don't make guild
crash when building guile-procedures.texi
! IMO these pre-built GO files are disturbing and filling up disks and internet…
comment:70 Changed 4 years ago by ryandesign (Ryan Carsten Schmidt)
comment:71 Changed 4 years ago by ballapete (Peter "Pete" Dyballa)
Interestingly on PPC 7447A Tiger, Mac OS X 10.4.11, it works to build the TEXI file in the presence of pre-built GO files, those that were compiled before in the bootstrap directory:
./guile-snarf-docs -o regex-posix.doc regex-posix.c -- -DHAVE_CONFIG_H -DBUILDING_LIBGUILE=1 -I.. -I.. -I../lib -I../lib -I/opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_lang_guile/guile/work/guile-2.2.7 -I/opt/local/include -pipe -Os -arch ppc 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; } make[3]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_lang_guile/guile/work/guile-2.2.7/libguile' make[2]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_lang_guile/guile/work/guile-2.2.7/libguile' Making all in bootstrap make[2]: Entering directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_lang_guile/guile/work/guile-2.2.7/bootstrap' GUILE_AUTO_COMPILE=0 \ ../meta/build-env \ guild compile --target="powerpc-apple-darwin8" \ -O1 \ -L "/opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_lang_guile/guile/work/guile-2.2.7/module" \ -L "/opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_lang_guile/guile/work/guile-2.2.7/guile-readline" \ -o "ice-9/eval.go" "../module/ice-9/eval.scm" wrote `ice-9/eval.go'
And again unconditionally all the pre-built GO files are being built again…
/opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_lang_guile/guile/work/guile-2.2.7/prebuilt: insgesamt 128 drwxr-xr-x 11 macports admin 374 16. Sep 16:44 . drwxr-xr-x 56 macports admin 1904 16. Sep 16:44 .. drwxr-xr-x 8 macports admin 272 7. Mär 2020 32-bit-big-endian drwxr-xr-x 8 macports admin 272 7. Mär 2020 32-bit-little-endian drwxr-xr-x 8 macports admin 272 7. Mär 2020 64-bit-little-endian -rw-r--r-- 1 macports admin 54711 16. Sep 16:44 Makefile
/opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_lang_guile/guile/work/guile-2.2.7/prebuilt/32-bit-big-endian: insgesamt 72 drwxr-xr-x 8 macports admin 272 7. Mär 2020 . drwxr-xr-x 11 macports admin 374 16. Sep 16:44 .. -rw-r--r-- 2 macports admin 1082 13. Mai 2016 Makefile.am -rw-r--r-- 2 macports admin 67032 12. Feb 2020 Makefile.in drwxr-xr-x 23 macports admin 782 16. Sep 13:49 ice-9 drwxr-xr-x 10 macports admin 340 16. Sep 13:49 language drwxr-xr-x 3 macports admin 102 16. Sep 13:49 srfi drwxr-xr-x 5 macports admin 170 16. Sep 13:49 system
comment:72 Changed 4 years ago by ballapete (Peter "Pete" Dyballa)
This is very unusual: The build on Tiger with working pre-built GO files took only one fifth the time as with the renamed 32-bit-big-endian directory and as on Leopard with a similarly prepared 32-bit-big-endian directory with my own GO files. So the pre-built GO files do work here! These files have on Tiger and Leopard at least the same size and they also are the same file type.
I'll retry to build on Leopard, after upgrading all outdated ports.
comment:73 follow-up: 74 Changed 4 years ago by kencu (Ken)
FYI, the included prebuilt PPC go files did not work on Tiger or Leopard for me.
If you ever put together another set you would like me to try, feel free to send me the link! If they work, they'd save everyone a lot of time building this (although some people are using my prebuilt repository of PPC files anyway, so they don't have to build them).
comment:74 Changed 4 years ago by ballapete (Peter "Pete" Dyballa)
Hello Ken!
https://we.tl/t-WghP11aIyg has the bootstrapped GO files from Tiger plus the patched Guile 2.2.7 tape archive – seven days only.
comment:76 Changed 4 years ago by ballapete (Peter "Pete" Dyballa)
The build on PPC Leopard, Mac OS X 10.5.8 is finished. The TEXI file was built although the pre-built GO files were accessible, just as in Tiger. It took a bit more than four hours! Is new libffi
the culprit?
I am going to continue rev-upgrade
– it just happened that port
wanted to upgrade Guile
and so I decided to perform this by myself. (The test with the offset of a long failed.) After this I'll try to rebuild Guile
again.
comment:77 Changed 4 years ago by ballapete (Peter "Pete" Dyballa)
I already built Guile 2.2.7
with the Tiger per-built GO files, some hours ago it worked to build Guile
with the GO files built on Leopard. Again the bootstrap step went fast, a few hours instead of a few days. Next try with the previously in a day-long process bootstrapped GO files failed early when the TEXI files was to be built. Now a build with the original (per-built) files has started – which failed, just as before, when trying to build the TEXI file. So it should be clear now that the new version of libffi
has no effect, the pre-built 32-bit big-endian GO files are inadequate for PowerPC and Mac OS X.
The new try is to bootstrap on Leopard and then use these GO files instead of the broken pre-built GO files in order to sort out whether Leopard simply cannot build valid pre-built GO files, with old and new version of libffi
.
comment:78 Changed 4 years ago by ballapete (Peter "Pete" Dyballa)
On Leopard it worked, obviously with new libff
, to build Guile
with Leopard pre-built GO files within 4 h. No crash when creating the TEXI file.
My procedure was:
- outpack original
guile-2.2.7.tar.gz
«somewhere» - pushd $work/guile-2.2.7/bootstrap/
- gtar zcf ~/bootstrap-Leo-GO-32-bit-big-endian.tar.gz ice-9 language srfi system
- pushd «somewhere»/guile-2.2.7/prebuilt/32-bit-big-endian
- gtar zxf ~/bootstrap-Leo-GO-32-bit-big-endian.tar.gz
- pushd ../../..
- gtar zcf /opt/local/var/macports/distfiles/guile/guile-2.2.7-Leo.tar.gz guile-2.2.7
- rm /opt/local/var/macports/distfiles/guile/guile-2.2.7.tar.gz ; ln -s ./guile-2.2.7-Leo.tar.gz /opt/local/var/macports/distfiles/guile/guile-2.2.7.tar.gz
- build again
You can overwrite the pre-built GO files every time with a new set of 93 bootstrapped GO files, then create the new Guile 2.2.7 tape archive, and finally re-link this to guile-2.2.7.tar.gz.
I'll add a list of file sizes of the bootstrapped GO files from each try – they vary quite often!
comment:79 Changed 4 years ago by ballapete (Peter "Pete" Dyballa)
List of file size:
file name | Tiger built (4.045.720) | w/ Tiger on Leo (3.996.416) | Leo bootstrapped (3.994.806)| w/ Leo bootstrap' (3.995.940) ————————————————————————————————————————|—————————————————————————————|—————————————————————————————|—————————————————————————————|———————————————————————————— ice-9/binary-ports.go | 68045 2020-09-13 21:41:27 | 68045 2020-09-17 15:45:32 | 68045 2020-09-21 18:39:53 | 68045 2020-09-22 01:42:14 ice-9/boot-9.go | 611413 2020-09-13 21:35:12 | 611397 2020-09-17 15:44:45 | 611413 2020-09-21 18:33:29 | 611397 2020-09-22 01:41:26 ice-9/command-line.go | 80709 2020-09-13 21:43:01 | 80709 2020-09-17 15:45:46 | 80709 2020-09-21 18:41:27 | 80709 2020-09-22 01:42:28 ice-9/control.go | 75429 2020-09-13 21:44:29 | 75429 2020-09-17 15:45:55 | 75429 2020-09-21 18:42:53 | 75429 2020-09-22 01:42:37 ice-9/deprecated.go | 165805 2020-09-13 21:40:06 | 165805 2020-09-17 15:45:25 | 165805 2020-09-21 18:38:34 | 165805 2020-09-22 01:42:07 ice-9/eval.go | 97013 2020-09-13 02:19:41 | 97013 2020-09-17 15:03:00 | 97013 2020-09-20 23:08:25 | 97013 2020-09-22 00:58:57 ice-9/format.go | 213797 2020-09-13 21:48:24 | 213797 2020-09-17 15:46:56 | 213797 2020-09-21 18:45:47 | 213797 2020-09-22 01:43:40 ice-9/getopt-long.go | 178597 2020-09-13 21:50:09 | 178573 2020-09-17 15:47:18 | 178597 2020-09-21 18:47:36 | 178573 2020-09-22 01:44:03 ice-9/i18n.go | 89125 2020-09-13 21:51:33 | 89125 2020-09-17 15:47:34 | 89125 2020-09-21 18:49:02 | 89125 2020-09-22 01:44:19 ice-9/match.go | 272157 2020-09-13 21:53:34 | 272157 2020-09-17 15:48:05 | 272157 2020-09-21 18:51:07 | 272157 2020-09-22 01:44:51 ice-9/networking.go | 75099 2020-09-13 21:54:45 | 75099 2020-09-17 15:48:14 | 75099 2020-09-21 18:52:20 | 75099 2020-09-22 01:45:00 ice-9/ports.go | 95533 2020-09-13 21:36:52 | 95525 2020-09-17 15:45:00 | 95533 2020-09-21 18:35:22 | 95525 2020-09-22 01:41:40 ice-9/posix.go | 73987 2020-09-13 21:55:55 | 73987 2020-09-17 15:48:22 | 73987 2020-09-21 18:53:33 | 73987 2020-09-22 01:45:08 ice-9/pretty-print.go | 88157 2020-09-13 22:02:19 | 88157 2020-09-17 15:49:30 | 88157 2020-09-21 19:00:14 | 88157 2020-09-22 01:46:18 ice-9/psyntax-pp.go | 620189 2020-09-13 07:13:20 | 620189 2020-09-17 15:06:03 | 620189 2020-09-21 04:10:40 | 620189 2020-09-22 01:02:14 ice-9/r5rs.go | 68181 2020-09-13 21:38:17 | 68181 2020-09-17 15:45:07 | 68181 2020-09-21 18:36:45 | 68181 2020-09-22 01:41:47 ice-9/rdelim.go | 74261 2020-09-13 21:57:07 | 74261 2020-09-17 15:48:31 | 74261 2020-09-21 18:54:47 | 74261 2020-09-22 01:45:18 ice-9/receive.go | 68637 2020-09-13 21:58:14 | 68637 2020-09-17 15:48:38 | 68637 2020-09-21 18:55:58 | 68637 2020-09-22 01:45:25 ice-9/regex.go | 73653 2020-09-13 21:59:25 | 73653 2020-09-17 15:48:48 | 73653 2020-09-21 18:57:12 | 73653 2020-09-22 01:45:35 ice-9/session.go | 84813 2020-09-13 22:00:47 | 84813 2020-09-17 15:49:04 | 84813 2020-09-21 18:58:37 | 84813 2020-09-22 01:45:51 ice-9/vlist.go | 281365 2020-09-13 09:53:19 | 281381 2020-09-17 15:09:06 | 281365 2020-09-21 06:41:24 | 281381 2020-09-22 01:05:28 language/bytecode.go | 71133 2020-09-13 20:43:24 | 71133 2020-09-17 15:39:14 | 71133 2020-09-21 17:42:25 | 71133 2020-09-22 01:36:03 language/bytecode/spec.go | 68597 2020-09-13 20:48:10 | 68597 2020-09-17 15:39:21 | 68597 2020-09-21 17:46:06 | 68597 2020-09-22 01:36:10 language/cps.go | 685109 2020-09-13 15:01:54 | 684989 2020-09-17 15:20:34 | 685109 2020-09-21 11:55:48 | 684989 2020-09-22 01:17:41 language/cps/closure-conversion.go | 188973 2020-09-13 15:23:12 | 188973 2020-09-17 15:21:39 | 188973 2020-09-21 12:17:06 | 188973 2020-09-22 01:18:51 language/cps/compile-bytecode.go | 207061 2020-09-13 15:44:53 | 207061 2020-09-17 15:23:08 | 207061 2020-09-21 12:40:24 | 207061 2020-09-22 01:20:26 language/cps/constructors.go | 75405 2020-09-13 15:57:54 | 75405 2020-09-17 15:23:22 | 75405 2020-09-21 12:52:47 | 75405 2020-09-22 01:20:40 language/cps/contification.go | 89525 2020-09-13 16:10:57 | 89525 2020-09-17 15:23:59 | 89525 2020-09-21 13:06:02 | 89525 2020-09-22 01:21:09 language/cps/cse.go | 99901 2020-09-13 16:24:42 | 99901 2020-09-17 15:24:43 | 99901 2020-09-21 13:20:14 | 99901 2020-09-22 01:21:46 language/cps/dce.go | 88517 2020-09-13 16:37:07 | 88517 2020-09-17 15:25:13 | 88517 2020-09-21 13:32:44 | 88517 2020-09-22 01:22:15 language/cps/effects-analysis.go | 285317 2020-09-13 16:52:06 | 285357 2020-09-17 15:26:02 | 285317 2020-09-21 13:47:34 | 285357 2020-09-22 01:23:03 language/cps/elide-values.go | 72205 2020-09-13 17:02:00 | 72205 2020-09-17 15:26:13 | 72205 2020-09-21 13:57:53 | 72205 2020-09-22 01:23:13 language/cps/handle-interrupts.go | 71061 2020-09-13 17:11:50 | 71061 2020-09-17 15:26:23 | 71061 2020-09-21 14:07:41 | 71061 2020-09-22 01:23:24 language/cps/intmap.go | 295637 2020-09-13 08:16:27 | 295677 2020-09-17 15:06:58 | 295637 2020-09-21 05:04:55 | 295677 2020-09-22 01:03:14 language/cps/intset.go | 300109 2020-09-13 09:00:24 | 300149 2020-09-17 15:07:55 | 300109 2020-09-21 05:47:58 | 300149 2020-09-22 01:04:15 language/cps/licm.go | 85301 2020-09-13 17:23:01 | 85301 2020-09-17 15:26:49 | 85301 2020-09-21 14:19:21 | 85301 2020-09-22 01:23:49 language/cps/optimize.go | 74141 2020-09-13 18:42:47 | 74141 2020-09-17 15:28:58 | 74141 2020-09-21 15:40:56 | 74141 2020-09-22 01:25:55 language/cps/peel-loops.go | 82477 2020-09-13 17:33:31 | 82469 2020-09-17 15:27:08 | 82477 2020-09-21 14:30:13 | 82469 2020-09-22 01:24:07 language/cps/primitives.go | 73221 2020-09-13 17:42:50 | 73221 2020-09-17 15:27:16 | 73221 2020-09-21 14:39:59 | 73221 2020-09-22 01:24:16 language/cps/prune-bailouts.go | 72357 2020-09-13 17:53:34 | 72357 2020-09-17 15:27:27 | 72357 2020-09-21 14:49:36 | 72357 2020-09-22 01:24:26 language/cps/prune-top-level-scopes.go | 69565 2020-09-13 18:03:06 | 69565 2020-09-17 15:27:36 | 69565 2020-09-21 14:59:22 | 69565 2020-09-22 01:24:35 language/cps/reify-primitives.go | 85421 2020-09-13 18:13:51 | 85413 2020-09-17 15:28:01 | 85421 2020-09-21 15:10:15 | 85413 2020-09-22 01:24:58 language/cps/renumber.go | 82181 2020-09-13 18:24:21 | 82181 2020-09-17 15:28:26 | 82181 2020-09-21 15:20:57 | 82181 2020-09-22 01:25:23 language/cps/rotate-loops.go | 81093 2020-09-13 18:33:57 | 81085 2020-09-17 15:28:48 | 81093 2020-09-21 15:31:15 | 81085 2020-09-22 01:25:45 language/cps/self-references.go | 73149 2020-09-13 19:02:43 | 73149 2020-09-17 15:29:42 | 73149 2020-09-21 16:00:00 | 73149 2020-09-22 01:26:38 language/cps/simplify.go | 85325 2020-09-13 18:53:50 | 85325 2020-09-17 15:29:29 | 85325 2020-09-21 15:51:07 | 85325 2020-09-22 01:26:25 language/cps/slot-allocation.go | 296229 2020-09-13 19:15:22 | 296285 2020-09-17 15:31:01 | 296229 2020-09-21 16:13:48 | 296285 2020-09-22 01:27:56 language/cps/spec.go | 69373 2020-09-13 19:22:46 | 69373 2020-09-17 15:31:09 | 69373 2020-09-21 16:21:22 | 69373 2020-09-22 01:28:05 language/cps/specialize-numbers.go | 181189 2020-09-13 19:39:34 | 181189 2020-09-17 15:32:24 | 181189 2020-09-21 16:38:02 | 181189 2020-09-22 01:29:18 language/cps/specialize-primcalls.go | 78533 2020-09-13 19:30:41 | 78533 2020-09-17 15:31:29 | 78533 2020-09-21 16:29:10 | 78533 2020-09-22 01:28:24 language/cps/split-rec.go | 77893 2020-09-13 19:47:32 | 77885 2020-09-17 15:32:43 | 77893 2020-09-21 16:45:23 | 77885 2020-09-22 01:29:37 language/cps/type-checks.go | 69725 2020-09-13 19:54:13 | 69725 2020-09-17 15:32:51 | 69725 2020-09-21 16:52:28 | 69725 2020-09-22 01:29:46 language/cps/type-fold.go | 100549 2020-09-13 20:01:29 | 100549 2020-09-17 15:33:23 | 100549 2020-09-21 17:00:03 | 100549 2020-09-22 01:30:17 language/cps/types.go | 839133 2020-09-13 20:15:05 | 839101 2020-09-17 15:37:06 | 839133 2020-09-21 17:13:48 | 839101 2020-09-22 01:33:56 language/cps/utils.go | 100253 2020-09-13 09:24:44 | 100269 2020-09-17 15:08:25 | 100253 2020-09-21 06:13:52 | 100269 2020-09-22 01:04:44 language/cps/verify.go | 88893 2020-09-13 20:20:19 | 88893 2020-09-17 15:37:35 | 88893 2020-09-21 17:19:14 | 88893 2020-09-22 01:34:24 language/cps/with-cps.go | 74333 2020-09-13 20:24:46 | 74333 2020-09-17 15:37:44 | 74333 2020-09-21 17:23:45 | 74333 2020-09-22 01:34:33 language/scheme/compile-tree-il.go | 67861 2020-09-13 20:33:26 | 67861 2020-09-17 15:37:58 | 67861 2020-09-21 17:32:20 | 67861 2020-09-22 01:34:47 language/scheme/decompile-tree-il.go | 182477 2020-09-13 20:39:39 | 182477 2020-09-17 15:39:05 | 182477 2020-09-21 17:38:27 | 182477 2020-09-22 01:35:53 language/scheme/spec.go | 69021 2020-09-13 20:29:05 | 69021 2020-09-17 15:37:51 | 69021 2020-09-21 17:28:05 | 69021 2020-09-22 01:34:40 language/tree-il.go | 195853 2020-09-13 10:47:59 | 195821 2020-09-17 15:10:38 | 195853 2020-09-21 07:35:21 | 195821 2020-09-22 01:07:06 language/tree-il/analyze.go | 393213 2020-09-13 11:17:54 | 393181 2020-09-17 15:11:56 | 393213 2020-09-21 08:06:28 | 393181 2020-09-22 01:08:30 language/tree-il/canonicalize.go | 70373 2020-09-13 11:36:03 | 70373 2020-09-17 15:12:06 | 70373 2020-09-21 08:24:36 | 70373 2020-09-22 01:08:40 language/tree-il/compile-cps.go | 214533 2020-09-13 12:09:33 | 214533 2020-09-17 15:13:52 | 214533 2020-09-21 08:58:59 | 214533 2020-09-22 01:10:33 language/tree-il/debug.go | 77421 2020-09-13 12:28:03 | 77413 2020-09-17 15:14:11 | 77421 2020-09-21 09:18:18 | 77413 2020-09-22 01:10:54 language/tree-il/effects.go | 194181 2020-09-13 12:52:28 | 194125 2020-09-17 15:15:02 | 194181 2020-09-21 09:42:54 | 194125 2020-09-22 01:11:49 language/tree-il/fix-letrec.go | 79541 2020-09-13 13:10:17 | 79541 2020-09-17 15:15:21 | 79541 2020-09-21 10:01:44 | 79541 2020-09-22 01:12:09 language/tree-il/optimize.go | 68621 2020-09-13 13:25:57 | 68621 2020-09-17 15:15:28 | 68621 2020-09-21 10:19:03 | 68621 2020-09-22 01:12:17 language/tree-il/peval.go | 591781 2020-09-13 14:01:21 | 591725 2020-09-17 15:17:59 | 591781 2020-09-21 10:54:57 | 591725 2020-09-22 01:14:57 language/tree-il/primitives.go | 173293 2020-09-13 14:20:55 | 173293 2020-09-17 15:18:47 | 173293 2020-09-21 11:14:28 | 173293 2020-09-22 01:15:47 language/tree-il/spec.go | 68933 2020-09-13 14:34:36 | 68933 2020-09-17 15:18:54 | 68933 2020-09-21 11:28:43 | 68933 2020-09-22 01:15:55 language/value/spec.go | 67675 2020-09-13 20:51:46 | 67675 2020-09-17 15:39:28 | 67675 2020-09-21 17:49:51 | 67675 2020-09-22 01:36:16 srfi/srfi-1.go | 103349 2020-09-13 10:18:27 | 103349 2020-09-17 15:09:31 | 103349 2020-09-21 07:06:38 | 103349 2020-09-22 01:05:57 system/base/ck.go | 70805 2020-09-13 21:28:18 | 70805 2020-09-17 15:42:49 | 70805 2020-09-21 18:26:37 | 70805 2020-09-22 01:39:33 system/base/compile.go | 78317 2020-09-13 21:03:15 | 78309 2020-09-17 15:40:05 | 78317 2020-09-21 18:01:21 | 78309 2020-09-22 01:36:52 system/base/lalr.go | 305589 2020-09-13 21:12:21 | 305589 2020-09-17 15:41:23 | 305589 2020-09-21 18:10:34 | 305589 2020-09-22 01:38:09 system/base/language.go | 73181 2020-09-13 21:06:53 | 73181 2020-09-17 15:40:14 | 73181 2020-09-21 18:04:59 | 73181 2020-09-22 01:37:01 system/base/message.go | 96005 2020-09-13 21:16:26 | 95997 2020-09-17 15:41:41 | 96005 2020-09-21 18:14:42 | 95997 2020-09-22 01:38:27 system/base/pmatch.go | 74717 2020-09-13 20:55:31 | 74717 2020-09-17 15:39:37 | 74717 2020-09-21 17:53:38 | 74717 2020-09-22 01:36:25 system/base/syntax.go | 82717 2020-09-13 20:59:31 | 82717 2020-09-17 15:39:53 | 82717 2020-09-21 17:57:35 | 82717 2020-09-22 01:36:40 system/base/target.go | 73781 2020-09-13 21:19:59 | 73781 2020-09-17 15:41:50 | 73781 2020-09-21 18:18:17 | 73781 2020-09-22 01:38:36 system/base/types.go | 283901 2020-09-13 21:24:48 | 283989 2020-09-17 15:42:41 | 283901 2020-09-21 18:23:06 | 283989 2020-09-22 01:39:25 system/foreign.go | 76069 2020-09-13 22:23:09 | 76069 2020-09-17 16:02:35 | 76069 2020-09-21 19:21:53 | 76069 2020-09-22 01:59:43 system/vm/assembler.go | 1124685 2020-09-13 22:10:43 | 1124573 2020-09-17 15:53:53 | 1124685 2020-09-21 19:09:01 | 1124573 2020-09-22 01:50:49 system/vm/debug.go | 370565 2020-09-13 22:12:18 | 370541 2020-09-17 15:54:47 | 370565 2020-09-21 19:10:47 | 370541 2020-09-22 01:51:44 system/vm/disassembler.go | 387141 2020-09-13 22:14:39 | 387141 2020-09-17 15:56:32 | 387141 2020-09-21 19:13:19 | 387141 2020-09-22 01:53:31 system/vm/dwarf.go | 976141 2020-09-13 22:18:25 | 975989 2020-09-17 15:59:14 | 976141 2020-09-21 19:17:10 | 975989 2020-09-22 01:56:17 system/vm/elf.go | 664725 2020-09-13 22:20:34 | 664637 2020-09-17 16:00:42 | 664725 2020-09-21 19:19:20 | 664637 2020-09-22 01:57:47 system/vm/frame.go | 175509 2020-09-13 22:21:15 | 175509 2020-09-17 16:01:08 | 175509 2020-09-21 19:20:00 | 175509 2020-09-22 01:58:14 system/vm/linker.go | 291813 2020-09-13 22:22:20 | 291789 2020-09-17 16:01:55 | 291813 2020-09-21 19:21:05 | 291789 2020-09-22 01:59:02 system/vm/loader.go | 67541 2020-09-13 22:22:30 | 67541 2020-09-17 16:02:01 | 67541 2020-09-21 19:21:15 | 67541 2020-09-22 01:59:08 system/vm/program.go | 83629 2020-09-13 22:22:52 | 83621 2020-09-17 16:02:19 | 83629 2020-09-21 19:21:37 | 83621 2020-09-22 01:59:27 system/vm/vm.go | 67765 2020-09-13 22:22:59 | 67765 2020-09-17 16:02:26 | 67765 2020-09-21 19:21:43 | 67765 2020-09-22 01:59:33 ————————————————————————————————————————|—————————————————————————————|—————————————————————————————|—————————————————————————————|————————————————————————————
comment:80 Changed 3 years ago by barracuda156
Replying to ballapete:
Replying to kencu:
I wonder if the main guile port is ripe to be updated to 2.9.1 as well, and what, if anything, would be broken by so doing...
No, it's not! https://www.gnu.org/software/guile/download/ states: "The latest release of Guile's legacy 2.2.x series is 2.2.7." Version 2.9.1 could have been some experimental release. The official download site https://ftp.gnu.org/gnu/guile/ jumps from version 2.2.7 to version 3.0.0. I am going to try version 2.2.7 from March directly, no intermediate version 2.2.4 from July 2018.
Intermediate versions are here: http://alpha.gnu.org/gnu/guile/ The latest being 2.9.9.
comment:81 Changed 2 years ago by barracuda156
Replying to kencu:
I started making a new set of prebuilts for PPC 10.5, and there were just too many to bother with so I scrubbed the project. Besides, are the 10.4 PPC ones different or the same? If we ever do use them, should they be build on 10.4? Does it make any difference. There seems to be no processor specific code in them ("cpu_subtype_all", etc).
Anyway, it works fine as I pushed it now, other than requiring a bit of patience to build them. If we can get a reliable set of prebuilts to use, I'll update the port with them later.
It probably makes sense to make prebuilts, since bootstrapping is insanely slow even on G5 2.3 (on the Quad it builds overnight). Can’t imagine how long it takes on a single core G4.
I could perhaps make prebuilts for guile 3.0.8, if you instruct me what exactly to do. (I don’t want to do it twice, for obvious reasons.) Or do I just build normally and copy a folder of built files from Stage 0?
Changed 2 years ago by barracuda156
ppc32 prebuilts from 10.6 (three files for each of stages 0, 1, 2)
main.log from PPC Leopard from try with patched Portfile