[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: macOS building issues after dc9eba0760dedcd3d042a408e715b38ac2222aa3
From: |
Camm Maguire |
Subject: |
Re: macOS building issues after dc9eba0760dedcd3d042a408e715b38ac2222aa3 |
Date: |
Thu, 08 Feb 2024 21:15:35 -0500 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) |
Greetings, and thanks again so much as always for your helpful feedback.
You were right about brew on my Catalina -- I have disabled these and am
testing against the Macports gmp now.
I've committed a stdint.h fix and a gmp.h location detection fix for
you. Building with cc/clang now and all appears to work out of the box
with the right environment settings. In particular, I cannot reproduce
the issue you list here.
I would do a disassemble at this point in lldb and post the results. Is
this Catalina? Perhaps disable C optimization too, either through
CFLAGS or --enable-debug to configure.
Take care,
"Chun Tian (binghe)" <binghe.lisp@gmail.com> writes:
> Greetings!
>
> Ah, I didn't know these environment variables at all. Now I have put
> them into my ~/.profile. Thanks.
>
> After using them, now the previous issues about gmp.h disappeared. Then
> I met the issue, which was the reason that I chose GCC 13 over Apple
> clang, that "raw_pre_gcl" crashed (Illegal instruction) when doing
> (init-system). This time I added CFLAGS=-g when building, run
> "raw_pre_gcl" by lldb (LLVM debugger) and try to manually evaluate the
> "foo" script line by one, until (init-system):
>
>> (defun make-package (name &key nicknames use)
>> (si::make-package-int name nicknames use))
>>
>> (make-package :s :use '(:cl))
>> (make-package :compiler :use '(:cl :si :s))
>> (make-package :sloop :use '(:cl))
>> (make-package :ansi-loop :use'(:cl))
>> (make-package :defpackage :use '(:cl))
>> (make-package :tk :use '(:cl :sloop))
>> (make-package :fpe :use '(:cl))
>> (make-package :cltl1-compat)
>>
>> (in-package :system)
>> (use-package '(:fpe :s :gmp))
>>
>> (export 'si::(object double cnum system cmp-inline cmp-eval type-propagator
>> c1no-side-effects defcfun clines defentry) :si);FIXME
>>
>> (setq *features* (cons :raw-image *features*))
>> (init-system)
>
> And this is the backtrace:
>
>> SYSTEM>(init-system)
>> loading /Volumes/CaseSensitive/Lisp/gcl/gcl/unixport/../lsp/gcl_s.lsp
>> loading /Volumes/CaseSensitive/Lisp/gcl/gcl/unixport/../lsp/gcl_sf.lsp
>> loading /Volumes/CaseSensitive/Lisp/gcl/gcl/unixport/../lsp/gcl_rm.lsp
>> loading /Volumes/CaseSensitive/Lisp/gcl/gcl/unixport/../lsp/gcl_dl.lsp
>> loading /Volumes/CaseSensitive/Lisp/gcl/gcl/unixport/../lsp/gcl_fle.lsp
>> loading /Volumes/CaseSensitive/Lisp/gcl/gcl/unixport/../lsp/gcl_defmacro.lsp
>> loading /Volumes/CaseSensitive/Lisp/gcl/gcl/unixport/../lsp/gcl_hash.lsp
>> loading
>> /Volumes/CaseSensitive/Lisp/gcl/gcl/unixport/../lsp/gcl_evalmacros.lsp
>> loading /Volumes/CaseSensitive/Lisp/gcl/gcl/unixport/../lsp/gcl_module.lsp
>> loading /Volumes/CaseSensitive/Lisp/gcl/gcl/unixport/../lsp/gcl_predlib.lsp
>> Process 22566 stopped
>> * thread #1, queue = 'com.apple.main-thread', stop reason =
>> EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0)
>> frame #0: 0x00000001000aa8d6 raw_pre_gcl`siLheap_report at gbc.c:0:3
>> [opt]
>> 1268 }
>> 1269
>> 1270 static void
>> -> 1271 FFN(siLheap_report)(void) {
>> 1272
>> 1273 int i;
>> 1274
>> Note: this address is compiler-generated code in function siLheap_report
>> that has no source code associated with it.
>> Target 0: (raw_pre_gcl) stopped.
>> warning: raw_pre_gcl was compiled with optimization - stepping may behave
>> oddly; variables may not be available.
>> (lldb) bt
>> * thread #1, queue = 'com.apple.main-thread', stop reason =
>> EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0)
>> * frame #0: 0x00000001000aa8d6 raw_pre_gcl`siLheap_report at gbc.c:0:3
>> [opt]
>> frame #1: 0x0000000100059586 raw_pre_gcl`fSeval_src(first=<unavailable>)
>> at eval.c:963:29 [opt]
>> frame #2: 0x0000000100056f86 raw_pre_gcl`quick_call_function_vec_coerce
>> [inlined] c_apply_n(f=<unavailable>, n=1, x=<unavailable>) at apply_n.h:6:19
>> [opt]
>> frame #3: 0x0000000100056f80 raw_pre_gcl`quick_call_function_vec_coerce
>> [inlined] c_apply_n_fun(fun=<unavailable>, n=<unavailable>, b=<unavailable>)
>> at apply_n.h:79:38 [opt]
>> frame #4: 0x0000000100056f71 raw_pre_gcl`quick_call_function_vec_coerce
>> [inlined] quick_call_function_vec(fun=<unavailable>, n=<unavailable>,
>> b=<unavailable>) at eval.c:74:10 [opt]
>> frame #5: 0x0000000100056f71
>> raw_pre_gcl`quick_call_function_vec_coerce(fun=<unavailable>,
>> n=<unavailable>, b=0x0000000100305928) at eval.c:96:7 [opt]
>> frame #6: 0x00000001000570fb
>> raw_pre_gcl`quick_call_function(fun=<unavailable>) at eval.c:191:11 [opt]
>> frame #7: 0x00000001000581fa raw_pre_gcl`eval [inlined]
>> funcall_no_event(fun=0x0000000102ed2040) at eval.c:414:5 [opt]
>> frame #8: 0x00000001000581cb raw_pre_gcl`eval(form=<unavailable>) at
>> eval.c:762:4 [opt]
>> frame #9: 0x0000000100064635
>> raw_pre_gcl`Fmultiple_value_list(form=0x0000000102f061c0) at multival.c:68:2
>> [opt]
>> frame #10: 0x0000000100057f14 raw_pre_gcl`eval(form=0x0000000102f061a0)
>> at eval.c:707:3 [opt]
>> frame #11: 0x00000001000580e3 raw_pre_gcl`eval(form=0x0000000102f061d0)
>> at eval.c:747:3 [opt]
>> frame #12: 0x00000001000580e3 raw_pre_gcl`eval(form=0x0000000102f061e0)
>> at eval.c:747:3 [opt]
>> frame #13: 0x00000001000580e3 raw_pre_gcl`eval(form=0x0000000102f061f0)
>> at eval.c:747:3 [opt]
>> frame #14: 0x00000001000580e3 raw_pre_gcl`eval(form=0x0000000102f06410)
>> at eval.c:747:3 [opt]
>> frame #15: 0x0000000100029fa0
>> raw_pre_gcl`Fprogn(body=0x0000000102f06460) at prog.c:250:4 [opt]
>> frame #16: 0x0000000100057f14 raw_pre_gcl`eval(form=0x0000000102f06450)
>> at eval.c:707:3 [opt]
>> frame #17: 0x0000000100059c64 raw_pre_gcl`ieval(x=<unavailable>) at
>> eval.c:1070:3 [opt]
>> frame #18: 0x0000000100036fec raw_pre_gcl`load(s="lsp") at file.d:1701:3
>> [opt]
>> frame #19: 0x00000001000bbd98 raw_pre_gcl`lsp_init(a=<unavailable>,
>> b=<unavailable>) at sys.c:75:3 [opt] [artificial]
>> frame #20: 0x00000001000bbf05
>> raw_pre_gcl`gcl_init_system(no_init=<unavailable>) at sys_init.c:51:3 [opt]
>> frame #21: 0x0000000100009dc3 raw_pre_gcl`siLinit_system at
>> main.c:1055:3 [opt]
>> frame #22: 0x0000000100059586
>> raw_pre_gcl`fSeval_src(first=<unavailable>) at eval.c:963:29 [opt]
>> frame #23: 0x0000000100056f86 raw_pre_gcl`quick_call_function_vec_coerce
>> [inlined] c_apply_n(f=<unavailable>, n=1, x=<unavailable>) at apply_n.h:6:19
>> [opt]
>> frame #24: 0x0000000100056f80 raw_pre_gcl`quick_call_function_vec_coerce
>> [inlined] c_apply_n_fun(fun=<unavailable>, n=<unavailable>, b=<unavailable>)
>> at apply_n.h:79:38 [opt]
>> frame #25: 0x0000000100056f71 raw_pre_gcl`quick_call_function_vec_coerce
>> [inlined] quick_call_function_vec(fun=<unavailable>, n=<unavailable>,
>> b=<unavailable>) at eval.c:74:10 [opt]
>> frame #26: 0x0000000100056f71
>> raw_pre_gcl`quick_call_function_vec_coerce(fun=<unavailable>,
>> n=<unavailable>, b=0x00000001003058d0) at eval.c:96:7 [opt]
>> frame #27: 0x00000001000570fb
>> raw_pre_gcl`quick_call_function(fun=<unavailable>) at eval.c:191:11 [opt]
>> frame #28: 0x00000001000581fa raw_pre_gcl`eval [inlined]
>> funcall_no_event(fun=0x0000000102edf400) at eval.c:414:5 [opt]
>> frame #29: 0x00000001000581cb raw_pre_gcl`eval(form=<unavailable>) at
>> eval.c:762:4 [opt]
>> frame #30: 0x000000010005936b raw_pre_gcl`fLeval(x0=<unavailable>) at
>> eval.c:866:3 [opt]
>> frame #31: 0x0000000100056f6a raw_pre_gcl`quick_call_function_vec_coerce
>> [inlined] c_apply_n_fun(fun=<unavailable>, n=<unavailable>,
>> b=0x00000001003058a8) at apply_n.h:79:74 [opt]
>> frame #32: 0x0000000100056f5a raw_pre_gcl`quick_call_function_vec_coerce
>> [inlined] quick_call_function_vec(fun=<unavailable>, n=<unavailable>,
>> b=0x00000001003058a8) at eval.c:74:10 [opt]
>> frame #33: 0x0000000100056f5a
>> raw_pre_gcl`quick_call_function_vec_coerce(fun=<unavailable>,
>> n=<unavailable>, b=0x00000001003058a8) at eval.c:96:7 [opt]
>> frame #34: 0x00000001000570fb
>> raw_pre_gcl`quick_call_function(fun=<unavailable>) at eval.c:191:11 [opt]
>> frame #35: 0x00000001000581fa raw_pre_gcl`eval [inlined]
>> funcall_no_event(fun=0x0000000102e996a0) at eval.c:414:5 [opt]
>> frame #36: 0x00000001000581cb raw_pre_gcl`eval(form=<unavailable>) at
>> eval.c:762:4 [opt]
>> frame #37: 0x0000000100029fa0
>> raw_pre_gcl`Fprogn(body=0x0000000102f0b0d0) at prog.c:250:4 [opt]
>> frame #38: 0x000000010003e077 raw_pre_gcl`Flocally(body=<unavailable>)
>> at toplevel.c:205:2 [opt]
>> frame #39: 0x0000000100057f14 raw_pre_gcl`eval(form=0x0000000102f0b050)
>> at eval.c:707:3 [opt]
>> frame #40: 0x0000000100064635
>> raw_pre_gcl`Fmultiple_value_list(form=0x0000000102f0b0e0) at multival.c:68:2
>> [opt]
>> frame #41: 0x0000000100057f14 raw_pre_gcl`eval(form=0x0000000102f0b040)
>> at eval.c:707:3 [opt]
>> frame #42: 0x000000010008e709
>> raw_pre_gcl`let_bind(body=0x0000000102f0b2b0, start=0x0000000100305858,
>> end=0x0000000100305878) at bind.c:705:3 [opt]
>> frame #43: 0x000000010002b81c raw_pre_gcl`Flet(form=0x0000000102f0b110)
>> at let.c:79:9 [opt]
>> frame #44: 0x0000000100057f14 raw_pre_gcl`eval(form=0x0000000102f0b020)
>> at eval.c:707:3 [opt]
>> frame #45: 0x0000000100029fa0
>> raw_pre_gcl`Fprogn(body=0x0000000102f0b4b0) at prog.c:250:4 [opt]
>> frame #46: 0x0000000100049c00
>> raw_pre_gcl`Fcatch(args=0x0000000102f0aba0) at catch.c:47:3 [opt]
>> frame #47: 0x0000000100057f14 raw_pre_gcl`eval(form=0x0000000102f0ab90)
>> at eval.c:707:3 [opt]
>> frame #48: 0x00000001000b7b18 raw_pre_gcl`Fwhen(form=0x0000000102f0b4c0)
>> at conditional.c:150:2 [opt]
>> frame #49: 0x0000000100057f14 raw_pre_gcl`eval(form=0x0000000102f0ab80)
>> at eval.c:707:3 [opt]
>> frame #50: 0x0000000100025e73 raw_pre_gcl`Floop(form=0x0000000102f0b5b0)
>> at iteration.c:58:3 [opt]
>> frame #51: 0x0000000100057f14 raw_pre_gcl`eval(form=0x0000000102f0ab70)
>> at eval.c:707:3 [opt]
>> frame #52: 0x0000000100029fa0
>> raw_pre_gcl`Fprogn(body=0x0000000102f0b5c0) at prog.c:250:4 [opt]
>> frame #53: 0x0000000100049c00
>> raw_pre_gcl`Fcatch(args=0x0000000102f0ab60) at catch.c:47:3 [opt]
>> frame #54: 0x0000000100057f14 raw_pre_gcl`eval(form=0x0000000102f0ab50)
>> at eval.c:707:3 [opt]
>> frame #55: 0x00000001000b7b18 raw_pre_gcl`Fwhen(form=0x0000000102f0b5e0)
>> at conditional.c:150:2 [opt]
>> frame #56: 0x0000000100057f14 raw_pre_gcl`eval(form=0x0000000102f0ab40)
>> at eval.c:707:3 [opt]
>> frame #57: 0x0000000100025e3c raw_pre_gcl`Floop(form=0x0000000102f0b610)
>> at iteration.c:52:3 [opt]
>> frame #58: 0x0000000100057f14 raw_pre_gcl`eval(form=0x0000000102f0ab30)
>> at eval.c:707:3 [opt]
>> frame #59: 0x0000000100029fa0
>> raw_pre_gcl`Fprogn(body=0x0000000102f0b620) at prog.c:250:4 [opt]
>> frame #60: 0x000000010002b82f raw_pre_gcl`Flet(form=0x0000000102f0a660)
>> at let.c:83:2 [opt]
>> frame #61: 0x0000000100057f14 raw_pre_gcl`eval(form=0x0000000102f0a3d0)
>> at eval.c:707:3 [opt]
>> frame #62: 0x00000001000577e4 raw_pre_gcl`funcall(fun=<unavailable>) at
>> eval.c:386:2 [opt]
>> frame #63: 0x000000010005958d
>> raw_pre_gcl`fSeval_src(first=<unavailable>) at eval.c:963:60 [opt]
>> frame #64: 0x0000000100056f86 raw_pre_gcl`quick_call_function_vec_coerce
>> [inlined] c_apply_n(f=<unavailable>, n=1, x=<unavailable>) at apply_n.h:6:19
>> [opt]
>> frame #65: 0x0000000100056f80 raw_pre_gcl`quick_call_function_vec_coerce
>> [inlined] c_apply_n_fun(fun=<unavailable>, n=<unavailable>, b=<unavailable>)
>> at apply_n.h:79:38 [opt]
>> frame #66: 0x0000000100056f71 raw_pre_gcl`quick_call_function_vec_coerce
>> [inlined] quick_call_function_vec(fun=<unavailable>, n=<unavailable>,
>> b=<unavailable>) at eval.c:74:10 [opt]
>> frame #67: 0x0000000100056f71
>> raw_pre_gcl`quick_call_function_vec_coerce(fun=<unavailable>,
>> n=<unavailable>, b=0x00000001003057c0) at eval.c:96:7 [opt]
>> frame #68: 0x00000001000570fb
>> raw_pre_gcl`quick_call_function(fun=<unavailable>) at eval.c:191:11 [opt]
>> frame #69: 0x00000001000581fa raw_pre_gcl`eval [inlined]
>> funcall_no_event(fun=0x0000000102f1a190) at eval.c:414:5 [opt]
>> frame #70: 0x00000001000581cb raw_pre_gcl`eval(form=<unavailable>) at
>> eval.c:762:4 [opt]
>> frame #71: 0x000000010005781c raw_pre_gcl`funcall(fun=<unavailable>) at
>> eval.c:386:2 [opt]
>> frame #72: 0x000000010005958d
>> raw_pre_gcl`fSeval_src(first=<unavailable>) at eval.c:963:60 [opt]
>> frame #73: 0x0000000100056f86 raw_pre_gcl`quick_call_function_vec_coerce
>> [inlined] c_apply_n(f=<unavailable>, n=1, x=<unavailable>) at apply_n.h:6:19
>> [opt]
>> frame #74: 0x0000000100056f80 raw_pre_gcl`quick_call_function_vec_coerce
>> [inlined] c_apply_n_fun(fun=<unavailable>, n=<unavailable>, b=<unavailable>)
>> at apply_n.h:79:38 [opt]
>> frame #75: 0x0000000100056f71 raw_pre_gcl`quick_call_function_vec_coerce
>> [inlined] quick_call_function_vec(fun=<unavailable>, n=<unavailable>,
>> b=<unavailable>) at eval.c:74:10 [opt]
>> frame #76: 0x0000000100056f71
>> raw_pre_gcl`quick_call_function_vec_coerce(fun=<unavailable>,
>> n=<unavailable>, b=0x0000000100305798) at eval.c:96:7 [opt]
>> frame #77: 0x00000001000570fb
>> raw_pre_gcl`quick_call_function(fun=<unavailable>) at eval.c:191:11 [opt]
>> frame #78: 0x00000001000581fa raw_pre_gcl`eval [inlined]
>> funcall_no_event(fun=0x0000000102f1a2b0) at eval.c:414:5 [opt]
>> frame #79: 0x00000001000581cb raw_pre_gcl`eval(form=<unavailable>) at
>> eval.c:762:4 [opt]
>> frame #80: 0x00000001000577e4 raw_pre_gcl`funcall(fun=<unavailable>) at
>> eval.c:386:2 [opt]
>> frame #81: 0x000000010005958d
>> raw_pre_gcl`fSeval_src(first=<unavailable>) at eval.c:963:60 [opt]
>> frame #82: 0x0000000100056f86 raw_pre_gcl`quick_call_function_vec_coerce
>> [inlined] c_apply_n(f=<unavailable>, n=1, x=<unavailable>) at apply_n.h:6:19
>> [opt]
>> frame #83: 0x0000000100056f80 raw_pre_gcl`quick_call_function_vec_coerce
>> [inlined] c_apply_n_fun(fun=<unavailable>, n=<unavailable>, b=<unavailable>)
>> at apply_n.h:79:38 [opt]
>> frame #84: 0x0000000100056f71 raw_pre_gcl`quick_call_function_vec_coerce
>> [inlined] quick_call_function_vec(fun=<unavailable>, n=<unavailable>,
>> b=<unavailable>) at eval.c:74:10 [opt]
>> frame #85: 0x0000000100056f71
>> raw_pre_gcl`quick_call_function_vec_coerce(fun=<unavailable>,
>> n=<unavailable>, b=0x0000000100305770) at eval.c:96:7 [opt]
>> frame #86: 0x00000001000570fb
>> raw_pre_gcl`quick_call_function(fun=<unavailable>) at eval.c:191:11 [opt]
>> frame #87: 0x00000001000574d3
>> raw_pre_gcl`funcall(fun=0x0000000102f1a2e0) at eval.c:256:7 [opt]
>> frame #88: 0x00000001000093b2 raw_pre_gcl`main(argc=<unavailable>,
>> argv=<unavailable>, envp=<unavailable>) at main.c:651:5 [opt]
>> frame #89: 0x00007ff806d40386 dyld`start + 1942
>
> By searching on Internet [1], I think perhaps the clang compiler is
> given wrong architecture parameters, which caused it to generate CPU
> instructs not supported by my CPU. But the involved GCC command line
> seems clean:
>
> gcc -DINICOMP -DNO_DEFUN -g -fsigned-char -pipe -fcommon
> -fno-builtin-malloc -fno-builtin-free -fno-PIE -fno-pie -fno-PIC
> -fno-pic -Wall -Wno-builtin-requires-header -Wno-empty-body
> -Wno-self-assign -Wno-unused-but-set-variable
> -Wno-incomplete-setjmp-declaration -m64 ...
>
> If I used GCC 13, there's no such issues (but new issues occur later).
> It's a bit strange. What do I miss here?
>
> --Chun
>
> [1]
> https://stackoverflow.com/questions/53396370/exc-bad-instruction-code-exc-i386-invop-subcode-0x0-underlying-causes
>
> On 09/02/24 03:32, Camm Maguire wrote:
>> Greetings! I was always taught the canonical way to do this was
>>
>> export C_INCLUDE_PATH=/opt/local/include
>> export LIBRARY_PATH=/opt/local/lib
>>
>> ./configure && make
>>
>> This seems to work on my Catalina box with the aforementioned commit. I
>> will try a git pull shortly.
>>
>> Please let me know if this does not work for you.
>>
>> Take care,
>>
>> "Chun Tian (binghe)" <binghe.lisp@gmail.com> writes:
>>
>>> Greetings,
>>>
>>> thanks for your explanation about the <stdint.h> issue. I will take a
>>> look at the regexp you mentioned and see if I can provide a patch.
>>>
>>> Regarding to external gmp, in my system the GMP library and headers are
>>> installed (through MacPorts) at /opt/local/lib and /opt/local/include. I
>>> think when I'm using GCC 13, these directories are automatically used.
>>> But when I'm compiling with Apple's clang from Xcode, I have to let
>>> clang know these directories. However, the following "standard" way
>>> doesn't help:
>>>
>>> export CFLAGS=-I/opt/local/include
>>> export LDFLAGS=-L/opt/local/lib
>>>
>>> With the above environment variables, and with --enable-dynsysgmp when
>>> calling ./configure of GCL, I still got the following error messages
>>> saying system GMP cannot be used:
>>>
>>>> checking for gmp.h... yes
>>>> checking for __gmpz_init in -lgmp... yes
>>>> checking for external gmp version... good
>>>> foo.c:1:10: fatal error: 'gmp.h' file not found
>>>> #include "gmp.h"
>>>> ^~~~~~~
>>>> 1 error generated.
>>>> Cannot use dynamic gmp lib
>>>> checking doing configure in gmp directory...
>>>> #
>>>> #
>>>> # -------------------
>>>> # Subconfigure of GMP
>>>> #
>>>> #
>>>
>>> By looking at your ways of detecting GMP in configure.in:
>>>
>>>> if test "$enable_dynsysgmp" != "no" ; then
>>>> AC_CHECK_HEADERS(
>>>> [gmp.h],
>>>> [AC_CHECK_LIB(
>>>> [gmp],[__gmpz_init],
>>>> [AC_MSG_CHECKING([for external gmp version])
>>>> AC_RUN_IFELSE(
>>>> [AC_LANG_PROGRAM(
>>>> [[
>>>> #include <gmp.h>
>>>> ]],
>>>> [[
>>>> #if __GNU_MP_VERSION > 3
>>>> return 0;
>>>> #else
>>>> return -1;
>>>> #endif
>>>> ]])],
>>>> [AC_MSG_RESULT([good])
>>>> TLIBS="$TLIBS -lgmp"
>>>> echo "#include \"gmp.h\"" >foo.c
>>>> echo "int main() {return 0;}" >>foo.c
>>>> MP_INCLUDE=`cpp foo.c | $AWK '/(\/|\\\\)gmp.h/ {if (!i)
>>>> print $3;i=1}' | tr -d '"'`
>>>> rm -f foo.c])])])
>>>>
>>>> if test "$MP_INCLUDE" = "" ; then
>>>> AC_MSG_RESULT([Cannot use dynamic gmp lib])
>>>> fi
>>>>
>>>> fi
>>>
>>> I think, when the command "cpp foo.c" was getting called, the "cpp"
>>> (from Xcode) program still doesn't know the location of GMP headers,
>>> unless "cpp $CFLAGS" is used instead. My following manual tests
>>> confirmed my guess:
>>>
>>> $ echo "#include \"gmp.h\"" >foo.c
>>> $ echo "int main() {return 0;}" >>foo.c
>>> $ cpp foo.c | $AWK '/(\/|\\\\)gmp.h/ {if (!i) print $3;i=1}' | tr -d '"'
>>> foo.c:1:10: fatal error: 'gmp.h' file not found
>>> #include "gmp.h"
>>> ^~~~~~~
>>> 1 error generated.
>>> $ cpp $CFLAGS foo.c | $AWK '/(\/|\\\\)gmp.h/ {if (!i) print $3;i=1}' |
>>> tr -d '"'
>>> /opt/local/include/gmp.h
>>>
>>> Therefore, I think you should at least put $CFLAGS inside the above
>>> configure.in code pieces, to handle non-standard position of GMP headers
>>> given by CFLAGS.
>>>
>>> P.S. in you macOS Catalina environment, if you have GMP libraries
>>> installed at /usr/local, that must be installed from Homebrew. I suggest
>>> completely removing Homebrew because the installation location of
>>> Homebrew has moved to /opt/ in higher versions of macOS. Its advantage
>>> of staying at the "default" directory (/usr/local) is no more.
>>>
>>> Regards,
>>>
>>> Chun TIAN
>>>
>>> On 08/02/24 02:31, Camm Maguire wrote:
>>>> Greetings, and thannks as always for your feedback.
>>>>
>>>> "Chun Tian (binghe)" <binghe.lisp@gmail.com> writes:
>>>>
>>>>> Greetings,
>>>>>
>>>>> In the commit dc9eba0760dedcd3d042a408e715b38ac2222aa3 [1], I saw the
>>>>> following line from gcl/h/compbas2.h was removed:
>>>>>
>>>>> diff --git a/gcl/h/compbas2.h b/gcl/h/compbas2.h
>>>>> index 20a2b5c..cc7d87c 100755
>>>>> --- a/gcl/h/compbas2.h
>>>>> +++ b/gcl/h/compbas2.h
>>>>> @@ -10,7 +10,6 @@ EXTER int Rset;
>>>>>
>>>>> #ifndef U8_DEFINED
>>>>>
>>>>> -#include <stdint.h>
>>>>>
>>>>> typedef int8_t i8 ;
>>>>> typedef int16_t i16;
>>>>
>>>> This is a step toward securing a fricas build, which on my box at least
>>>> is just about done. signal.h, from bsdsignal.c, conflicts with my full
>>>> stdint on some symbol containing 'fds', which I do not need. The
>>>> intent is to extract the needed parts in h/mstdint.h. This is an
>>>> intermediate file removed by make, but you can look at it with 'make
>>>> h/mstdint.h' from the top level. Apparently the regexp used there needs
>>>> adjusting for your system.
>>>>
>>>>> Also note that I had to use GCC 13 instead of clang, because with clang
>>>>> even the GMP building part doesn't success at the linking stage. (My
>>>>> previous successful GCL 2.7.0 build was also based on GCC 13.)
>>>>>
>>>>
>>>> Good to hear. I had trouble with gcc13 on Catalina which I did not
>>>> pursue as it would not get me gprof anyway :-(. I'm using the external
>>>> gmp library which works well -- does this not work for you? I'm
>>>> thinking of removing the convenience copy of gmp4.
>>>>
>>>> Take care,
>>>>
>>>
>>
>
--
Camm Maguire camm@maguirefamily.org
==========================================================================
"The earth is but one country, and mankind its citizens." -- Baha'u'llah
- macOS building issues after dc9eba0760dedcd3d042a408e715b38ac2222aa3, Chun Tian (binghe), 2024/02/07
- Re: macOS building issues after dc9eba0760dedcd3d042a408e715b38ac2222aa3, Camm Maguire, 2024/02/07
- Re: macOS building issues after dc9eba0760dedcd3d042a408e715b38ac2222aa3, Chun Tian (binghe), 2024/02/07
- Re: macOS building issues after dc9eba0760dedcd3d042a408e715b38ac2222aa3, Chun Tian (binghe), 2024/02/07
- Re: macOS building issues after dc9eba0760dedcd3d042a408e715b38ac2222aa3, Camm Maguire, 2024/02/08
- Re: macOS building issues after dc9eba0760dedcd3d042a408e715b38ac2222aa3, Chun Tian (binghe), 2024/02/08
- Re: macOS building issues after dc9eba0760dedcd3d042a408e715b38ac2222aa3,
Camm Maguire <=
- Re: macOS building issues after dc9eba0760dedcd3d042a408e715b38ac2222aa3, Chun Tian (binghe), 2024/02/08
- Re: macOS building issues after dc9eba0760dedcd3d042a408e715b38ac2222aa3, Camm Maguire, 2024/02/09
- Re: macOS building issues after dc9eba0760dedcd3d042a408e715b38ac2222aa3, Chun Tian (binghe), 2024/02/11
- Re: macOS building issues after dc9eba0760dedcd3d042a408e715b38ac2222aa3, Camm Maguire, 2024/02/12
- Re: macOS building issues after dc9eba0760dedcd3d042a408e715b38ac2222aa3, Chun Tian (binghe), 2024/02/12
- Re: macOS building issues after dc9eba0760dedcd3d042a408e715b38ac2222aa3, Camm Maguire, 2024/02/19
- Re: macOS building issues after dc9eba0760dedcd3d042a408e715b38ac2222aa3, Kirill A . Korinsky, 2024/02/20
- Re: macOS building issues after dc9eba0760dedcd3d042a408e715b38ac2222aa3, Camm Maguire, 2024/02/20
- Re: macOS building issues after dc9eba0760dedcd3d042a408e715b38ac2222aa3, Kirill A . Korinsky, 2024/02/20
- Re: macOS building issues after dc9eba0760dedcd3d042a408e715b38ac2222aa3, Camm Maguire, 2024/02/20