[Openmcl-devel] ccl-1.11 compilation failure

Andrey G. Grozin A.G.Grozin at inp.nsk.su
Tue Nov 21 03:10:55 PST 2017


Hello *,

I've tried to recompile ccl-1.11 from sources on my Gentoo Linux 64-bit 
box, but I got

x86_64-pc-linux-gnu-gcc -include ../platform-linuxx8664.h -c ../image.c 
-DLINUX -D_REENTRANT -DX86 -DX8664 -D_GNU_SOURCE -DHAVE_TLS 
-DSVN_REVISION="unknown"  -g -O2 -Wno-format -m64 -o image.o
In file included from <command-line>:0:0:
../x86-gc.c: In function ‘check_xp’:
./../platform-linuxx8664.h:32:42: error: dereferencing pointer to 
incomplete type ‘ExceptionInformation {aka struct ucontext}’
  #define xpGPRvector(x) ((natural *)(&((x)->uc_mcontext.gregs)))
                                           ^
../x86-gc.c:342:31: note: in expansion of macro ‘xpGPRvector’
    natural *regs = (natural *) xpGPRvector(xp);
                                ^~~~~~~~~~~
In file included from <command-line>:0:0:
../x86-exceptions.c: In function ‘early_intn_handler’:
./../platform-linuxx8664.h:32:42: error: dereferencing pointer to 
incomplete type ‘ExceptionInformation {aka struct ucontext}’
  #define xpGPRvector(x) ((natural *)(&((x)->uc_mcontext.gregs)))
                                           ^
./../platform-linuxx8664.h:33:25: note: in expansion of macro 
‘xpGPRvector’
  #define xpGPR(x,gprno) (xpGPRvector(x)[gprno])
                          ^~~~~~~~~~~
./../platform-linuxx8664.h:35:18: note: in expansion of macro ‘xpGPR’
  #define xpPC(x) (xpGPR(x,Iip))
                   ^~~~~
../x86-exceptions.c:86:3: note: in expansion of macro ‘xpPC’
    xpPC(xp) += 2;
    ^~~~
../x86-exceptions.c: In function ‘copy_ucontext’:
../x86-exceptions.c:1598:3: error: invalid use of undefined type ‘struct 
ucontext’
    ExceptionInformation *dest = ((ExceptionInformation *)current)-1;
    ^~~~~~~~~~~~~~~~~~~~
../x86-exceptions.c: In function ‘setup_sigaltstack’:
../x86-exceptions.c:2428:27: error: invalid application of ‘sizeof’ to 
incomplete type ‘struct ucontext’
    stack.ss_size -= sizeof(struct ucontext);
                            ^~~~~~
x86_64-pc-linux-gnu-gcc -include ../platform-linuxx8664.h -c 
../thread_manager.c -DLINUX -D_REENTRANT -DX86 -DX8664 -D_GNU_SOURCE 
-DHAVE_TLS  -DSVN_REVISION="unknown"  -g -O2 -Wno-format -m64 -o 
thread_manager.o
make: *** [Makefile:46: x86-exceptions.o] Error 1
make: *** Waiting for unfinished jobs....
../pmcl-kernel.c: In function ‘ensure_gs_available’:
../pmcl-kernel.c:1707:3: warning: implicit declaration of function 
‘arch_prctl’ [-Wimplicit-function-declaration]
    arch_prctl(ARCH_GET_GS, &gs_addr);
    ^~~~~~~~~~
make: *** [Makefile:46: x86-gc.o] Error 1
../thread_manager.c: In function ‘setup_tcr_extra_segment’:
../thread_manager.c:870:3: warning: implicit declaration of function 
‘arch_prctl’ [-Wimplicit-function-declaration]
    arch_prctl(ARCH_SET_GS, (natural)tcr);
    ^~~~~~~~~~
make: Leaving directory 
'/var/tmp/portage/dev-lisp/clozurecl-1.11-r2/work/ccl/lisp-kernel/linuxx8664'

Any idea what can this mean? I successfully compiled the same ccl-1.11 on 
this box earlier, so, it might be a result of some library or compiler 
upgrade.

Andrey


More information about the Openmcl-devel mailing list