|
From: | Kirill A. Korinsky |
Subject: | Re: Branch Version_2_7_0pre |
Date: | Sat, 23 Dec 2023 17:44:45 +0100 |
Status update on i386: 1. ./configure had passed 2. gprof was enabled by default again which lead to Undefined symbols for architecture i386: "__mcleanup", referenced from: _fSmcleanup in libpre_gcl.a(gprof.o) _gprof_cleanup in libpre_gcl.a(gprof.o) ld: symbol(s) not found for architecture i386 May we ban gprof on macOS completley? 3. Unfortunately system's gcc / ld is too old, so old that it doesn't support -no_pie this can be excluded by patch like this: --- configure.in +++ configure.in @@ -341,7 +341,9 @@ case $use in 386-macosx) # assert_arg_to_cflags -Wno-error=implicit-function-declaration add_arg_to_cflags -Wno-incomplete-setjmp-declaration - assert_arg_to_ldflags -Wl,-no_pie + if test "$build_cpu" != "i386" ; then + assert_arg_to_ldflags -Wl,-no_pie + fi if test "$build_cpu" = "x86_64" ; then assert_arg_to_cflags -m64 assert_arg_to_ldflags -m64 anyway, it leads to an error: grep: raw_pre_gcl_map: No such file or directory touch raw_pre_gcl_map /usr/bin/gcc-4.2 -std=gnu99 -Wl,-headerpad_max_install_names -L/opt/local/lib -lMacportsLegacySupport -arch i386 -no-pie -m32 -Wl,-headerpad,56 -o raw_pre_gcl -L. -lpre_gcl `echo -lm -lgmp -lreadline | sed -e 's/-lncurses/ /'` -lc -lgclp ld: absolute addressing (perhaps -mdynamic-no-pic) used in _Llower_case_p from ./libpre_gcl.a(character.o) not allowed in slidable image. Use '-read_only_relocs suppress' to enable text relocs collect2: ld returned 1 exit status make[1]: *** [raw_pre_gcl_map] Error 1 make[1]: Leaving directory `/opt/local/var/macports/build/_Volumes_SharedFolders_Home_src_macports-ports_lang_gcl/gcl-devel/work/33a195d5cec2a7f8f563e11c0f1a3011ea0b30a0/gcl/unixport' make: *** [unixport/saved_pre_gcl] Error 2 4. So, I've decided to ban system's compiler. MacPorts uses clang by default which lead to an issue: # ld: illegal text-relocation to ___stack_chk_guard in /usr/lib/libSystem.dylib from _emsg in ... Somewhere here I feel that ban clang as well right now isn't bad idea :) 5. So, it had compiled suceffuly by GCC-7 which lead to the issue: grep: raw_pre_gcl_map: No such file or directory touch raw_pre_gcl_map /opt/local/bin/gcc-mp-7 -Wl,-headerpad_max_install_names -L/opt/local/lib -lMacportsLegacySupport -arch i386 -no-pie -Wl,-no_pie -m32 -Wl,-headerpad,56 -o raw_pre_gcl -L. -lpre_gcl `echo -lm -lgmp -lreadline | sed -e 's/-lncurses/ /'` -lc -lgclp cp init_raw.lsp foo echo "(unless si::*quit-tags* (in-package \"USER\")(system:save-system \"saved_pre_gcl\"))" >>foo ar x libpre_gcl.a $(ar t libpre_gcl.a |grep ^gcl_) /opt/local/var/macports/build/_Volumes_SharedFolders_Home_src_macports-ports_lang_gcl/gcl-devel/work/33a195d5cec2a7f8f563e11c0f1a3011ea0b30a0/gcl/unixport/raw_pre_gcl /opt/local/var/macports/build/_Volumes_SharedFolders_Home_src_macports-ports_lang_gcl/gcl-devel/work/33a195d5cec2a7f8f563e11c0f1a3011ea0b30a0/gcl/unixport/ -libdir /opt/local/var/macports/build/_Volumes_SharedFolders_Home_src_macports-ports_lang_gcl/gcl-devel/work/33a195d5cec2a7f8f563e11c0f1a3011ea0b30a0/gcl/ < foo /bin/sh: line 1: 25726 Illegal instruction /opt/local/var/macports/build/_Volumes_SharedFolders_Home_src_macports-ports_lang_gcl/gcl-devel/work/33a195d5cec2a7f8f563e11c0f1a3011ea0b30a0/gcl/unixport/raw_pre_gcl /opt/local/var/macports/build/_Volumes_SharedFolders_Home_src_macports-ports_lang_gcl/gcl-devel/work/33a195d5cec2a7f8f563e11c0f1a3011ea0b30a0/gcl/unixport/ -libdir /opt/local/var/macports/build/_Volumes_SharedFolders_Home_src_macports-ports_lang_gcl/gcl-devel/work/33a195d5cec2a7f8f563e11c0f1a3011ea0b30a0/gcl/ < foo make[1]: *** [saved_pre_gcl] Error 132 which probably the same that I've investigated in different thread. --
wbr, Kirill
|
signature.asc
Description: Message signed with OpenPGP
[Prev in Thread] | Current Thread | [Next in Thread] |