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.l...@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.l...@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 c...@maguirefamily.org ========================================================================== "The earth is but one country, and mankind its citizens." -- Baha'u'llah