Greetings!

Could you please replace the following line of h/compbas.h:

#if (defined(__GNUC__) && __GNUC__ <= 4) && !defined __clang__

with

#if (defined(__GNUC__) && __GNUC__ <= 3) && !defined __clang__

and report the results?

The inline semantics of gcc changed approximately seven years ago.  gcc
is now on version 12.  The conditional above attempts to bridge and
should be fixed, but it was barely possible for me to get a gcc-4
environment to test this (jessie oldest debian still available).  Any
possibility you guys could upgrade?  The skew will only get worse with
time.

Take care,

"Viktor T. Toth" <vtt...@vttoth.com> writes:

> Indeed, I am getting very similar errors on CentOS 7 with slightly newer 
> versions of gcc/ld:
>
> $ gcc --version
> gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-44)
> [...]
> $ ld --version
> GNU ld version 2.27-44.base.el7_9.1
> [...]
> $ head config.log  | grep ./configure
>   $ ./configure --enable-ansi --enable-readline --enable-tkconfig=/usr/lib64 
> --enable-tclconfig=/usr/lib64
> $ make
> [...]
> gcc -std=gnu11 -Wl,-T,../unixport/gcl.script -o raw_pre_gcl  -L.  -Wl,-Map 
> raw_pre_gcl_map  -lpre_gcl -lX11   -lm  -lgmp -lc -lgclp
> ./libpre_gcl.a(alloc.o): In function `rb_size':
> alloc.c:(.text+0x1600): multiple definition of `rb_size'
> ./libpre_gcl.a(main.o):main.c:(.text+0xa80): first defined here
> ./libpre_gcl.a(alloc.o): In function `rb_high':
> alloc.c:(.text+0x1610): multiple definition of `rb_high'
> ./libpre_gcl.a(main.o):main.c:(.text+0xa90): first defined here
> [...]
> [... about 28000 similar lines]
> [...]
> user_match.c:(.text+0x3e90): multiple definition of `immnum_lcm'
> ./libpre_gcl.a(main.o):main.c:(.text+0x4910): first defined here
> collect2: error: ld returned 1 exit status
> make[1]: *** [raw_pre_gcl_map] Error 1
> make[1]: Leaving directory `/usr/local/src/gcl-2.6.13pre119/unixport'
> make: *** [unixport/saved_pre_gcl] Error 2
> rm h/mcompdefs.h
> $
>
>
>
>
> Viktor
>
>
>
>
>> -----Original Message-----
>> From: Robert Dodier <robert.dod...@gmail.com>
>> Sent: Thursday, August 4, 2022 1:41 PM
>> To: Camm Maguire <c...@maguirefamily.org>
>> Cc: Viktor T. Toth <vtt...@vttoth.com>; gcl-devel@gnu.org
>> Subject: Re: [Maxima-discuss] Compiling pregexp.lisp fails with GCL?
>> 
>> Camm, here's what I get when I run make in gcl-Version_2_6_13pre119/gcl.
>> 
>> uname -a reports:
>> Linux freekbox 3.13.0-44-generic #73-Ubuntu SMP Tue Dec 16 00:23:46
>> UTC 2014 i686 i686 i686 GNU/Linux
>> 
>> gcc --version reports:
>> gcc (Ubuntu 4.8.4-2ubuntu1~14.04.4) 4.8.4
>> 
>> ld --version reports:
>> GNU ld (GNU Binutils for Ubuntu) 2.24
>> 
>> Stuff reported to stdout (abridged, these are the last lines of output):
>> 
>> [...]
>> ar rs libpre_gcl.a ../o/cmpaux.o ../o/unixfsys.o ../o/init_pari.o
>> ../o/regexpr.o ../o/multival.o ../o/eval.o ../o/reference.o
>> ../o/package.o ../o/main.o ../o/num_rand.o ../o/assignment.o
>> ../o/usig2.o ../o/block.o ../o/toplevel.o ../o/num_co.o
>> ../o/nfunlink.o ../o/predicate.o ../o/bitop.o ../o/let.o
>> ../o/sequence.o ../o/backq.o ../o/array.o ../o/clxsocket.o
>> ../o/typespec.o ../o/num_log.o ../o/pathname.o ../o/new_init.o
>> ../o/unixsave.o ../o/funlink.o ../o/print.o ../o/prog.o ../o/format.o
>> ../o/nsocket.o ../o/alloc.o ../o/string.o ../o/bds.o ../o/file.o
>> ../o/num_pred.o ../o/earith.o ../o/error.o ../o/fat_string.o
>> ../o/list.o ../o/sfasl.o ../o/makefun.o ../o/unixfasl.o
>> ../o/iteration.o ../o/conditional.o ../o/sockets.o ../o/cfun.o
>> ../o/usig.o ../o/prelink.o ../o/num_comp.o ../o/gcl_readline.o
>> ../o/structure.o ../o/gprof.o ../o/character.o ../o/big.o
>> ../o/unixtime.o ../o/hash.o ../o/run_process.o ../o/number.o
>> ../o/macros.o ../o/unixsys.o ../o/mapfun.o ../o/utils.o ../o/symbol.o
>> ../o/num_sfun.o ../o/catch.o ../o/gbc.o ../o/num_arith.o ../o/read.o
>> ../o/lex.o ../o/frame.o ../o/bind.o sys_pre_gcl.o
>> cp ../o/gcllib.a libgclp.a
>> ranlib libgclp.a
>> cat sys_init.lsp.in | sed \
>>         -e "s#@LI-VERS@#(`cat ../majvers`.`cat ../minvers`) `cat
>> ../release`#1" \
>>         -e "s#@LI-EXTVERS@#`cat ../minvers | cut -f2 -d.`#1" \
>>         -e "s#@LI-MINVERS@#`cat ../minvers | cut -f1 -d.`#1" \
>>         -e "s#@LI-MAJVERS@#`cat ../majvers`#1" \
>>         -e "s#@LI-RELEASE@#`cat ../release`#1" \
>>         -e "s#@LI-CC@#\"gcc -c -fsigned-char -pipe -fcommon
>> -fno-builtin-malloc -fno-builtin-free -fno-PIE -fno-pie -fno-PIC
>> -fno-pic -Wall -Wno-empty-body -Wno-unused-but-set-variable\"#1" \
>>         -e "s#@LI-DFP@#\"\"#1" \
>>         -e "s#@LI-LD@#\"gcc -Wl,-T,../unixport/gcl.script -o \"#1" \
>>         -e "s#@LI-LD-LIBS@#\" -lX11   -lm  -lgmp -lreadline -lc -lgclp\"#1" \
>>         -e "s#@LI-OPT-THREE@#\"-O3 -fomit-frame-pointer\"#1" \
>>         -e "s#@LI-OPT-TWO@#\"-O\"#1" \
>>         -e "s#@LI-INIT-LSP@#\"sys_init.lsp\"#1" >sys_init.lsp
>> touch raw_pre_gcl_map
>> gcc -std=gnu11 -Wl,-T,../unixport/gcl.script -o raw_pre_gcl  -L.
>> -Wl,-Map raw_pre_gcl_map  -lpre_gcl -lX11   -lm  -lgmp -lreadline -lc
>> -lgclp
>> make[1]: Leaving directory
>> `/home/robert/tmp/gcl-Version_2_6_13pre119/gcl/unixport'
>> rm h/mcompdefs.h
>> 
>> Stuff reported to stderr (abridged, these are the first lines of output):
>> 
>> In file included from ../h/include.h:112:0,
>>                  from usig.c:30:
>> usig.c: In function ‘sigfpe3’:
>> ../h/../h/fixnum.h:36:48: warning: initialization makes integer from
>> pointer without a cast [enabled by default]
>>  #define make_fixnum(a_)  ({register fixnum _q1=(a_);register object _q4; \
>>                                                 ^
>> ../h/linux.h:149:25: note: in expansion of macro ‘make_fixnum’
>>  #define FPE_CODE(i_,v_)
>> make_fixnum(FFN(fSfpe_code)(UC(v_)->uc_mcontext.fpregs->sw,((struct
>> _fpstate *)UC(v_)->uc_mcontext.fpregs)->mxcsr))
>>                          ^
>> usig.c:248:36: note: in expansion of macro ‘FPE_CODE’
>>    ifuncall3(sSfloating_point_error,FPE_CODE(i,v),FPE_ADDR(i,v),FPE_CTXT(v));
>>                                     ^
>> ar: creating libpre_gcl.a
>> ./libpre_gcl.a(assignment.o): In function `rb_size':
>> assignment.c:(.text+0x830): multiple definition of `rb_size'
>> ./libpre_gcl.a(main.o):main.c:(.text+0xac0): first defined here
>> ./libpre_gcl.a(assignment.o): In function `rb_high':
>> assignment.c:(.text+0x840): multiple definition of `rb_high'
>> ./libpre_gcl.a(main.o):main.c:(.text+0xad0): first defined here
>> ./libpre_gcl.a(assignment.o): In function `rb_begin':
>> assignment.c:(.text+0x860): multiple definition of `rb_begin'
>> ./libpre_gcl.a(main.o):main.c:(.text+0xaf0): first defined here
>> ./libpre_gcl.a(assignment.o): In function `rb_emptyp':
>> assignment.c:(.text+0x880): multiple definition of `rb_emptyp'
>> ./libpre_gcl.a(main.o):main.c:(.text+0xb10): first defined here
>> ./libpre_gcl.a(assignment.o): In function `ufmin':
>> assignment.c:(.text+0x8a0): multiple definition of `ufmin'
>> ./libpre_gcl.a(main.o):main.c:(.text+0xb30): first defined here
>> ./libpre_gcl.a(assignment.o): In function `ufmax':
>> assignment.c:(.text+0x8b0): multiple definition of `ufmax'
>> ./libpre_gcl.a(main.o):main.c:(.text+0xb40): first defined here
>> ./libpre_gcl.a(assignment.o): In function `emsg':
>> assignment.c:(.text+0x8c0): multiple definition of `emsg'
>> ./libpre_gcl.a(main.o):main.c:(.text+0xb50): first defined here
>> ./libpre_gcl.a(assignment.o): In function `m__gmpz_add':
>> assignment.c:(.text+0x990): multiple definition of `m__gmpz_add'
>> ./libpre_gcl.a(main.o):main.c:(.text+0xc20): first defined here
>> ./libpre_gcl.a(assignment.o): In function `m__gmpz_add_ui':
>> assignment.c:(.text+0xa50): multiple definition of `m__gmpz_add_ui'
>> ./libpre_gcl.a(main.o):main.c:(.text+0xce0): first defined here
>> [... about 20,000 more lines the same]
>> 
>> Hope this helps, thanks for looking into it.
>> 
>> Robert
>
>
>
>

-- 
Camm Maguire                                        c...@maguirefamily.org
==========================================================================
"The earth is but one country, and mankind its citizens."  --  Baha'u'llah

Reply via email to