I never got a reply on this issue and someone else tripped up on it: https://github.com/spack/spack/issues/6698
Any help or even acknowledgement of this message would be appreciated. Thanks, -Greg From: Lee, Greg Sent: Wednesday, May 03, 2017 3:49 PM To: 'sqlite-users@mailinglists.sqlite.org' <sqlite-users@mailinglists.sqlite.org> Subject: Macro expansion of B0 on Linux PPC system When I try to build sqlite 3.18.0 on a Linux PPC system, I get a compile-time error. It looks like shell.c is trying to define a local variable "B0" in one of its routines. However, the include chain includes the termios.h header, which defines a macro "B0." I can easily work around this by undefining the macro, but thought it may be worth reporting for an upstream fix. Below is my system's information and the Makefile output. Thanks, -Greg [lee218@rzmanta23:spack.rzmanta2]$ uname -a Linux rzmanta23 3.10.0-514.2.2.2chaos.ch6.ppc64le #1 SMP Wed Jan 11 16:59:26 PST 2017 ppc64le ppc64le ppc64le GNU/Linux [lee218@rzmanta23:spack.rzmanta2]$ rpm -q glibc-headers glibc-headers-2.17-157.el7.ppc64le [lee218@rzmanta23:spack.rzmanta2]$ gcc --version gcc (GCC) 4.9.3 Copyright (C) 2015 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. gcc -DPACKAGE_NAME=\"sqlite\" -DPACKAGE_TARNAME=\"sqlite\" -DPACKAGE_VERSION=\"3.18.0\" -DPACKAGE_STRING=\"sqlite\ 3.18.0\" -DPACKAGE_BUGREPORT=\"http://www.sqlite.org\<http://www.sqlite.org/>" -DPACKAGE_URL=\"\" -DPACKAGE=\"sqlite\" -DVERSION=\"3.18.0\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DHAVE_FDATASYNC=1 -DHAVE_USLEEP=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_DECL_STRERROR_R=1 -DHAVE_STRERROR_R=1 -DHAVE_EDITLINE_READLINE_H=1 -DHAVE_EDITLINE=1 -DHAVE_POSIX_FALLOCATE=1 -I. -I/nfs/tmp2/lee218/delete/spack.rzmanta2/var/spack/stage/sqlite-3.18.0-s7e2if4k2ygdmfbkiodulgrxmgg44vfy/sqlite-autoconf-3180000 -D_REENTRANT=1 -DSQLITE_THREADSAFE=1 -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_EXPLAIN_COMMENTS -g -O2 -MT sqlite3-sqlite3.o -MD -MP -MF .deps/sqlite3-sqlite3.Tpo -c -o sqlite3-sqlite3.o `test -f 'sqlite3.c' || echo '/nfs/tmp2/lee218/delete/spack.rzmanta2/var/spack/stage/sqlite-3.18.0-s7e2if4k2ygdmfbkiodulgrxmgg44vfy/sqlite-autoconf-3180000/'`sqlite3.c In file included from /usr/include/termios.h:40:0, from /usr/include/bits/ioctl-types.h:5, from /usr/include/sys/ioctl.h:29, from /usr/include/editline/readline.h:77, from shell.c:71: shell.c: In function 'KeccakF1600Step': shell.c:722:7: error: expected identifier or '(' before numeric constant u64 B0, B1, B2, B3, B4; ^ shell.c:778:8: error: lvalue required as left operand of assignment B0 = (A00^D0); ^ shell.c:779:5: error: 'B1' undeclared (first use in this function) B1 = ROL64((A11^D1), 44); ^ shell.c:779:5: note: each undeclared identifier is reported only once for each function it appears in shell.c:780:5: error: 'B2' undeclared (first use in this function) B2 = ROL64((A22^D2), 43); ^ shell.c:781:5: error: 'B3' undeclared (first use in this function) B3 = ROL64((A33^D3), 21); ^ shell.c:782:5: error: 'B4' undeclared (first use in this function) B4 = ROL64((A44^D4), 14); ^ shell.c:793:8: error: lvalue required as left operand of assignment B0 = ROL64((A03^D3), 28); ^ shell.c:802:8: error: lvalue required as left operand of assignment B0 = ROL64((A01^D1), 1); ^ shell.c:816:8: error: lvalue required as left operand of assignment B0 = ROL64((A04^D4), 27); ^ shell.c:825:8: error: lvalue required as left operand of assignment B0 = ROL64((A02^D2), 62); ^ shell.c:845:8: error: lvalue required as left operand of assignment B0 = (A00^D0); ^ shell.c:860:8: error: lvalue required as left operand of assignment B0 = ROL64((A33^D3), 28); ^ shell.c:869:8: error: lvalue required as left operand of assignment B0 = ROL64((A11^D1), 1); ^ shell.c:883:8: error: lvalue required as left operand of assignment B0 = ROL64((A44^D4), 27); ^ shell.c:892:8: error: lvalue required as left operand of assignment B0 = ROL64((A22^D2), 62); ^ shell.c:912:8: error: lvalue required as left operand of assignment B0 = (A00^D0); ^ shell.c:927:8: error: lvalue required as left operand of assignment B0 = ROL64((A43^D3), 28); ^ shell.c:936:8: error: lvalue required as left operand of assignment B0 = ROL64((A31^D1), 1); ^ shell.c:950:8: error: lvalue required as left operand of assignment B0 = ROL64((A24^D4), 27); ^ shell.c:959:8: error: lvalue required as left operand of assignment B0 = ROL64((A12^D2), 62); ^ shell.c:979:8: error: lvalue required as left operand of assignment B0 = (A00^D0); ^ shell.c:994:8: error: lvalue required as left operand of assignment B0 = ROL64((A13^D3), 28); ^ shell.c:1003:8: error: lvalue required as left operand of assignment B0 = ROL64((A21^D1), 1); ^ shell.c:1017:8: error: lvalue required as left operand of assignment B0 = ROL64((A34^D4), 27); ^ shell.c:1026:8: error: lvalue required as left operand of assignment B0 = ROL64((A42^D2), 62); ^ make: *** [Makefile:543: sqlite3-shell.o] Error 1 _______________________________________________ sqlite-users mailing list sqlite-users@mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users