sqlite-src-3300100 on RHEL 7.4 toss mad errors about 'asm'

classic Classic list List threaded Threaded
10 messages Options
Reply | Threaded
Open this post in threaded view
|

sqlite-src-3300100 on RHEL 7.4 toss mad errors about 'asm'

Dennis Clarke

While building sqlite from the zip file sqlite-src-3300100.zip I saw
what seems to be a normal configure and then madness :


boe13$ pwd
/opt/bw/build/sqlite-src-3300100_rhel_74_3.10.0-693.el7.x86_64.001
boe13$ ./configure --prefix=/opt/bw --enable-shared --enable-static
--enable-readline --enable-threadsafe 2>&1 | tee
../sqlite-src-3300100_rhel_74_3.10.0-693.el7.x86_64.001.config.log
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking for gcc... /opt/bw/gcc9/bin/gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether /opt/bw/gcc9/bin/gcc accepts -g... yes
checking for /opt/bw/gcc9/bin/gcc option to accept ISO C89... none needed
checking for a sed that does not truncate output... /usr/bin/sed
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for fgrep... /usr/bin/grep -F
checking for ld used by /opt/bw/gcc9/bin/gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)...
/opt/bw/gcc9/bin/x86_64-redhat-linux-gcc-nm -p
checking the name lister (/opt/bw/gcc9/bin/x86_64-redhat-linux-gcc-nm
-p) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking for /usr/bin/ld option to reload object files... -r
checking for objdump... /usr/bin/objdump
checking how to recognize dependent libraries... pass_all
checking for ar... /opt/bw/gcc9/bin/x86_64-redhat-linux-gcc-ar
checking for strip... /usr/bin/strip
checking for ranlib... /opt/bw/gcc9/bin/x86_64-redhat-linux-gcc-ranlib
checking command to parse /opt/bw/gcc9/bin/x86_64-redhat-linux-gcc-nm -p
output from /opt/bw/gcc9/bin/gcc object... ok
checking how to run the C preprocessor... /opt/bw/gcc9/bin/gcc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if /opt/bw/gcc9/bin/gcc supports -fno-rtti -fno-exceptions... no
checking for /opt/bw/gcc9/bin/gcc option to produce PIC... -fPIC -DPIC
checking if /opt/bw/gcc9/bin/gcc PIC flag -fPIC -DPIC works... yes
checking if /opt/bw/gcc9/bin/gcc static flag -static works... no
checking if /opt/bw/gcc9/bin/gcc supports -c -o file.o... yes
checking if /opt/bw/gcc9/bin/gcc supports -c -o file.o... (cached) yes
checking whether the /opt/bw/gcc9/bin/gcc linker (/usr/bin/ld -m
elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking for a BSD-compatible install... /usr/bin/install -c
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... no
checking for int8_t... yes
checking for int16_t... yes
checking for int32_t... yes
checking for int64_t... yes
checking for intptr_t... yes
checking for uint8_t... yes
checking for uint16_t... yes
checking for uint32_t... yes
checking for uint64_t... yes
checking for uintptr_t... yes
checking for sys/types.h... (cached) yes
checking for stdlib.h... (cached) yes
checking for stdint.h... (cached) yes
checking for inttypes.h... (cached) yes
checking malloc.h usability... yes
checking malloc.h presence... yes
checking for malloc.h... yes
checking for fdatasync... yes
checking for gmtime_r... yes
checking for isnan... yes
checking for localtime_r... yes
checking for localtime_s... no
checking for malloc_usable_size... yes
checking for strchrnul... yes
checking for usleep... yes
checking for utime... yes
checking for pread... yes
checking for pread64... yes
checking for pwrite... yes
checking for pwrite64... yes
checking for tclsh8.7... tclsh8.7
configure: Version set to 3.30
configure: Release set to 3.30.1
configure: Version number set to 3030001
checking whether to support threadsafe operation... yes
checking for library containing pthread_create... -lpthread
checking for library containing pthread_mutexattr_init... none required
checking whether to support shared library linked as release mode or
not... no
checking whether to use an in-ram database for temporary tables... no
checking if executables have the .exe suffix... unknown
checking for Tcl configuration... found /opt/bw/lib/tclConfig.sh
checking for existence of /opt/bw/lib/tclConfig.sh... loading
checking for library containing readline... no
checking for library containing tgetent... -lncurses
checking for readline in -lreadline... no
checking readline.h usability... no
checking readline.h presence... no
checking for readline.h... no
checking for /usr/include/readline.h... no
checking for /usr/include/readline/readline.h... no
checking for /usr/local/include/readline.h... no
checking for /usr/local/include/readline/readline.h... no
checking for /usr/local/readline/include/readline.h... no
checking for /usr/local/readline/include/readline/readline.h... no
checking for /usr/contrib/include/readline.h... no
checking for /usr/contrib/include/readline/readline.h... no
checking for /mingw/include/readline.h... no
checking for /mingw/include/readline/readline.h... no
checking for library containing fdatasync... none required
checking zlib.h usability... yes
checking zlib.h presence... yes
checking for zlib.h... yes
checking for library containing deflate... -lz
checking for library containing dlopen... -ldl
checking whether to support MEMSYS5... no
checking whether to support MEMSYS3... no
configure: creating ./config.status
config.status: creating Makefile
config.status: creating sqlite3.pc
config.status: creating config.h
config.status: executing libtool commands
boe13$
boe13$ pwd
/opt/bw/build/sqlite-src-3300100_rhel_74_3.10.0-693.el7.x86_64.001
boe13$
boe13$
boe13$ gmake 2>&1 | tee
../sqlite-src-3300100_rhel_74_3.10.0-693.el7.x86_64.001.compile.log
/opt/bw/gcc9/bin/gcc  -std=iso9899:1999 -O0 -m64 -g -march=k8 -mtune=k8
-Wl,-rpath=/opt/bw/lib,--enable-new-dtags -fno-builtin -malign-double
-mpc80 -o mksourceid
/opt/bw/build/sqlite-src-3300100_rhel_74_3.10.0-693.el7.x86_64.001/tool/mksourceid.c
/opt/bw/build/sqlite-src-3300100_rhel_74_3.10.0-693.el7.x86_64.001/tool/mksourceid.c:
In function 'SHA1Transform':
/opt/bw/build/sqlite-src-3300100_rhel_74_3.10.0-693.el7.x86_64.001/tool/mksourceid.c:550:28:
warning: implicit declaration of function 'asm'
[-Wimplicit-function-declaration]
   550 |         ({ unsigned int y; asm(op " %1,%0" : "=r" (y) : "I"
(k), "0" (x)); y; })
       |                            ^~~
/opt/bw/build/sqlite-src-3300100_rhel_74_3.10.0-693.el7.x86_64.001/tool/mksourceid.c:552:18:
note: in expansion of macro 'SHA_ROT'
   552 | #define ror(x,k) SHA_ROT("rorl", x, k)
       |                  ^~~~~~~
/opt/bw/build/sqlite-src-3300100_rhel_74_3.10.0-693.el7.x86_64.001/tool/mksourceid.c:565:32:
note: in expansion of macro 'ror'
   565 | #define blk0le(i) (block[i] = (ror(block[i],8)&0xFF00FF00) \
       |                                ^~~
/opt/bw/build/sqlite-src-3300100_rhel_74_3.10.0-693.el7.x86_64.001/tool/mksourceid.c:578:22:
note: in expansion of macro 'blk0le'
   578 |     z+=((w&(x^y))^y)+blk0le(i)+0x5A827999+rol(v,5);w=ror(w,2);
       |                      ^~~~~~
/opt/bw/build/sqlite-src-3300100_rhel_74_3.10.0-693.el7.x86_64.001/tool/mksourceid.c:620:5:
note: in expansion of macro 'Rl0'
   620 |     Rl0(a,b,c,d,e, 0); Rl0(e,a,b,c,d, 1); Rl0(d,e,a,b,c, 2);
Rl0(c,d,e,a,b, 3);
       |     ^~~


This has to be a configure error of some sort I hope :




boe13$ gmake 2>&1 | tee
../sqlite-src-3300100_rhel_74_3.10.0-693.el7.x86_64.001.compile.log
/opt/bw/gcc9/bin/gcc  -std=iso9899:1999 -O0 -m64 -g -march=k8 -mtune=k8
-Wl,-rpath=/opt/bw/lib,--enable-new-dtags -fno-builtin -malign-double
-mpc80 -o mksourceid
/opt/bw/build/sqlite-src-3300100_rhel_74_3.10.0-693.el7.x86_64.001/tool/mksourceid.c
/opt/bw/build/sqlite-src-3300100_rhel_74_3.10.0-693.el7.x86_64.001/tool/mksourceid.c:
In function 'SHA1Transform':
/opt/bw/build/sqlite-src-3300100_rhel_74_3.10.0-693.el7.x86_64.001/tool/mksourceid.c:550:28:
warning: implicit declaration of function 'asm'
[-Wimplicit-function-declaration]
   550 |         ({ unsigned int y; asm(op " %1,%0" : "=r" (y) : "I"
(k), "0" (x)); y; })
       |                            ^~~
/opt/bw/build/sqlite-src-3300100_rhel_74_3.10.0-693.el7.x86_64.001/tool/mksourceid.c:552:18:
note: in expansion of macro 'SHA_ROT'
   552 | #define ror(x,k) SHA_ROT("rorl", x, k)
       |                  ^~~~~~~
/opt/bw/build/sqlite-src-3300100_rhel_74_3.10.0-693.el7.x86_64.001/tool/mksourceid.c:565:32:
note: in expansion of macro 'ror'
   565 | #define blk0le(i) (block[i] = (ror(block[i],8)&0xFF00FF00) \
       |                                ^~~
/opt/bw/build/sqlite-src-3300100_rhel_74_3.10.0-693.el7.x86_64.001/tool/mksourceid.c:578:22:
note: in expansion of macro 'blk0le'
   578 |     z+=((w&(x^y))^y)+blk0le(i)+0x5A827999+rol(v,5);w=ror(w,2);
       |                      ^~~~~~
/opt/bw/build/sqlite-src-3300100_rhel_74_3.10.0-693.el7.x86_64.001/tool/mksourceid.c:620:5:
note: in expansion of macro 'Rl0'
   620 |     Rl0(a,b,c,d,e, 0); Rl0(e,a,b,c,d, 1); Rl0(d,e,a,b,c, 2);
Rl0(c,d,e,a,b, 3);
.
.
.

This all seems very strange as sqlite is usually a rock of gibraltar
stable and easy process to get built and tested.

What dumb thing did I do here ?



--
Dennis Clarke
RISC-V/SPARC/PPC/ARM/CISC
UNIX and Linux spoken
GreyBeard and suspenders optional
_______________________________________________
sqlite-users mailing list
[hidden email]
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
Reply | Threaded
Open this post in threaded view
|

Re: sqlite-src-3300100 on RHEL 7.4 toss mad errors about 'asm'

Shawn Wagner
Compiling with -std=iso9899:1999 is the culprit. Strict c99 mode disables
gcc extensions like inline asm.

On Thu, Nov 7, 2019, 7:57 AM Dennis Clarke <[hidden email]> wrote:

>
> While building sqlite from the zip file sqlite-src-3300100.zip I saw
> what seems to be a normal configure and then madness :
>
>
> boe13$ pwd
> /opt/bw/build/sqlite-src-3300100_rhel_74_3.10.0-693.el7.x86_64.001
> boe13$ ./configure --prefix=/opt/bw --enable-shared --enable-static
> --enable-readline --enable-threadsafe 2>&1 | tee
> ../sqlite-src-3300100_rhel_74_3.10.0-693.el7.x86_64.001.config.log
> checking build system type... x86_64-pc-linux-gnu
> checking host system type... x86_64-pc-linux-gnu
> checking for gcc... /opt/bw/gcc9/bin/gcc
> checking whether the C compiler works... yes
> checking for C compiler default output file name... a.out
> checking for suffix of executables...
> checking whether we are cross compiling... no
> checking for suffix of object files... o
> checking whether we are using the GNU C compiler... yes
> checking whether /opt/bw/gcc9/bin/gcc accepts -g... yes
> checking for /opt/bw/gcc9/bin/gcc option to accept ISO C89... none needed
> checking for a sed that does not truncate output... /usr/bin/sed
> checking for grep that handles long lines and -e... /usr/bin/grep
> checking for egrep... /usr/bin/grep -E
> checking for fgrep... /usr/bin/grep -F
> checking for ld used by /opt/bw/gcc9/bin/gcc... /usr/bin/ld
> checking if the linker (/usr/bin/ld) is GNU ld... yes
> checking for BSD- or MS-compatible name lister (nm)...
> /opt/bw/gcc9/bin/x86_64-redhat-linux-gcc-nm -p
> checking the name lister (/opt/bw/gcc9/bin/x86_64-redhat-linux-gcc-nm
> -p) interface... BSD nm
> checking whether ln -s works... yes
> checking the maximum length of command line arguments... 1572864
> checking whether the shell understands some XSI constructs... yes
> checking whether the shell understands "+="... yes
> checking for /usr/bin/ld option to reload object files... -r
> checking for objdump... /usr/bin/objdump
> checking how to recognize dependent libraries... pass_all
> checking for ar... /opt/bw/gcc9/bin/x86_64-redhat-linux-gcc-ar
> checking for strip... /usr/bin/strip
> checking for ranlib... /opt/bw/gcc9/bin/x86_64-redhat-linux-gcc-ranlib
> checking command to parse /opt/bw/gcc9/bin/x86_64-redhat-linux-gcc-nm -p
> output from /opt/bw/gcc9/bin/gcc object... ok
> checking how to run the C preprocessor... /opt/bw/gcc9/bin/gcc -E
> checking for ANSI C header files... yes
> checking for sys/types.h... yes
> checking for sys/stat.h... yes
> checking for stdlib.h... yes
> checking for string.h... yes
> checking for memory.h... yes
> checking for strings.h... yes
> checking for inttypes.h... yes
> checking for stdint.h... yes
> checking for unistd.h... yes
> checking for dlfcn.h... yes
> checking for objdir... .libs
> checking if /opt/bw/gcc9/bin/gcc supports -fno-rtti -fno-exceptions... no
> checking for /opt/bw/gcc9/bin/gcc option to produce PIC... -fPIC -DPIC
> checking if /opt/bw/gcc9/bin/gcc PIC flag -fPIC -DPIC works... yes
> checking if /opt/bw/gcc9/bin/gcc static flag -static works... no
> checking if /opt/bw/gcc9/bin/gcc supports -c -o file.o... yes
> checking if /opt/bw/gcc9/bin/gcc supports -c -o file.o... (cached) yes
> checking whether the /opt/bw/gcc9/bin/gcc linker (/usr/bin/ld -m
> elf_x86_64) supports shared libraries... yes
> checking whether -lc should be explicitly linked in... no
> checking dynamic linker characteristics... GNU/Linux ld.so
> checking how to hardcode library paths into programs... immediate
> checking whether stripping libraries is possible... yes
> checking if libtool supports shared libraries... yes
> checking whether to build shared libraries... yes
> checking whether to build static libraries... yes
> checking for a BSD-compatible install... /usr/bin/install -c
> checking for special C compiler options needed for large files... no
> checking for _FILE_OFFSET_BITS value needed for large files... no
> checking for int8_t... yes
> checking for int16_t... yes
> checking for int32_t... yes
> checking for int64_t... yes
> checking for intptr_t... yes
> checking for uint8_t... yes
> checking for uint16_t... yes
> checking for uint32_t... yes
> checking for uint64_t... yes
> checking for uintptr_t... yes
> checking for sys/types.h... (cached) yes
> checking for stdlib.h... (cached) yes
> checking for stdint.h... (cached) yes
> checking for inttypes.h... (cached) yes
> checking malloc.h usability... yes
> checking malloc.h presence... yes
> checking for malloc.h... yes
> checking for fdatasync... yes
> checking for gmtime_r... yes
> checking for isnan... yes
> checking for localtime_r... yes
> checking for localtime_s... no
> checking for malloc_usable_size... yes
> checking for strchrnul... yes
> checking for usleep... yes
> checking for utime... yes
> checking for pread... yes
> checking for pread64... yes
> checking for pwrite... yes
> checking for pwrite64... yes
> checking for tclsh8.7... tclsh8.7
> configure: Version set to 3.30
> configure: Release set to 3.30.1
> configure: Version number set to 3030001
> checking whether to support threadsafe operation... yes
> checking for library containing pthread_create... -lpthread
> checking for library containing pthread_mutexattr_init... none required
> checking whether to support shared library linked as release mode or
> not... no
> checking whether to use an in-ram database for temporary tables... no
> checking if executables have the .exe suffix... unknown
> checking for Tcl configuration... found /opt/bw/lib/tclConfig.sh
> checking for existence of /opt/bw/lib/tclConfig.sh... loading
> checking for library containing readline... no
> checking for library containing tgetent... -lncurses
> checking for readline in -lreadline... no
> checking readline.h usability... no
> checking readline.h presence... no
> checking for readline.h... no
> checking for /usr/include/readline.h... no
> checking for /usr/include/readline/readline.h... no
> checking for /usr/local/include/readline.h... no
> checking for /usr/local/include/readline/readline.h... no
> checking for /usr/local/readline/include/readline.h... no
> checking for /usr/local/readline/include/readline/readline.h... no
> checking for /usr/contrib/include/readline.h... no
> checking for /usr/contrib/include/readline/readline.h... no
> checking for /mingw/include/readline.h... no
> checking for /mingw/include/readline/readline.h... no
> checking for library containing fdatasync... none required
> checking zlib.h usability... yes
> checking zlib.h presence... yes
> checking for zlib.h... yes
> checking for library containing deflate... -lz
> checking for library containing dlopen... -ldl
> checking whether to support MEMSYS5... no
> checking whether to support MEMSYS3... no
> configure: creating ./config.status
> config.status: creating Makefile
> config.status: creating sqlite3.pc
> config.status: creating config.h
> config.status: executing libtool commands
> boe13$
> boe13$ pwd
> /opt/bw/build/sqlite-src-3300100_rhel_74_3.10.0-693.el7.x86_64.001
> boe13$
> boe13$
> boe13$ gmake 2>&1 | tee
> ../sqlite-src-3300100_rhel_74_3.10.0-693.el7.x86_64.001.compile.log
> /opt/bw/gcc9/bin/gcc  -std=iso9899:1999 -O0 -m64 -g -march=k8 -mtune=k8
> -Wl,-rpath=/opt/bw/lib,--enable-new-dtags -fno-builtin -malign-double
> -mpc80 -o mksourceid
>
> /opt/bw/build/sqlite-src-3300100_rhel_74_3.10.0-693.el7.x86_64.001/tool/mksourceid.c
> /opt/bw/build/sqlite-src-3300100_rhel_74_3.10.0-693.el7.x86_64.001/tool/mksourceid.c:
>
> In function 'SHA1Transform':
> /opt/bw/build/sqlite-src-3300100_rhel_74_3.10.0-693.el7.x86_64.001/tool/mksourceid.c:550:28:
>
> warning: implicit declaration of function 'asm'
> [-Wimplicit-function-declaration]
>    550 |         ({ unsigned int y; asm(op " %1,%0" : "=r" (y) : "I"
> (k), "0" (x)); y; })
>        |                            ^~~
> /opt/bw/build/sqlite-src-3300100_rhel_74_3.10.0-693.el7.x86_64.001/tool/mksourceid.c:552:18:
>
> note: in expansion of macro 'SHA_ROT'
>    552 | #define ror(x,k) SHA_ROT("rorl", x, k)
>        |                  ^~~~~~~
> /opt/bw/build/sqlite-src-3300100_rhel_74_3.10.0-693.el7.x86_64.001/tool/mksourceid.c:565:32:
>
> note: in expansion of macro 'ror'
>    565 | #define blk0le(i) (block[i] = (ror(block[i],8)&0xFF00FF00) \
>        |                                ^~~
> /opt/bw/build/sqlite-src-3300100_rhel_74_3.10.0-693.el7.x86_64.001/tool/mksourceid.c:578:22:
>
> note: in expansion of macro 'blk0le'
>    578 |     z+=((w&(x^y))^y)+blk0le(i)+0x5A827999+rol(v,5);w=ror(w,2);
>        |                      ^~~~~~
> /opt/bw/build/sqlite-src-3300100_rhel_74_3.10.0-693.el7.x86_64.001/tool/mksourceid.c:620:5:
>
> note: in expansion of macro 'Rl0'
>    620 |     Rl0(a,b,c,d,e, 0); Rl0(e,a,b,c,d, 1); Rl0(d,e,a,b,c, 2);
> Rl0(c,d,e,a,b, 3);
>        |     ^~~
>
>
> This has to be a configure error of some sort I hope :
>
>
>
>
> boe13$ gmake 2>&1 | tee
> ../sqlite-src-3300100_rhel_74_3.10.0-693.el7.x86_64.001.compile.log
> /opt/bw/gcc9/bin/gcc  -std=iso9899:1999 -O0 -m64 -g -march=k8 -mtune=k8
> -Wl,-rpath=/opt/bw/lib,--enable-new-dtags -fno-builtin -malign-double
> -mpc80 -o mksourceid
>
> /opt/bw/build/sqlite-src-3300100_rhel_74_3.10.0-693.el7.x86_64.001/tool/mksourceid.c
> /opt/bw/build/sqlite-src-3300100_rhel_74_3.10.0-693.el7.x86_64.001/tool/mksourceid.c:
>
> In function 'SHA1Transform':
> /opt/bw/build/sqlite-src-3300100_rhel_74_3.10.0-693.el7.x86_64.001/tool/mksourceid.c:550:28:
>
> warning: implicit declaration of function 'asm'
> [-Wimplicit-function-declaration]
>    550 |         ({ unsigned int y; asm(op " %1,%0" : "=r" (y) : "I"
> (k), "0" (x)); y; })
>        |                            ^~~
> /opt/bw/build/sqlite-src-3300100_rhel_74_3.10.0-693.el7.x86_64.001/tool/mksourceid.c:552:18:
>
> note: in expansion of macro 'SHA_ROT'
>    552 | #define ror(x,k) SHA_ROT("rorl", x, k)
>        |                  ^~~~~~~
> /opt/bw/build/sqlite-src-3300100_rhel_74_3.10.0-693.el7.x86_64.001/tool/mksourceid.c:565:32:
>
> note: in expansion of macro 'ror'
>    565 | #define blk0le(i) (block[i] = (ror(block[i],8)&0xFF00FF00) \
>        |                                ^~~
> /opt/bw/build/sqlite-src-3300100_rhel_74_3.10.0-693.el7.x86_64.001/tool/mksourceid.c:578:22:
>
> note: in expansion of macro 'blk0le'
>    578 |     z+=((w&(x^y))^y)+blk0le(i)+0x5A827999+rol(v,5);w=ror(w,2);
>        |                      ^~~~~~
> /opt/bw/build/sqlite-src-3300100_rhel_74_3.10.0-693.el7.x86_64.001/tool/mksourceid.c:620:5:
>
> note: in expansion of macro 'Rl0'
>    620 |     Rl0(a,b,c,d,e, 0); Rl0(e,a,b,c,d, 1); Rl0(d,e,a,b,c, 2);
> Rl0(c,d,e,a,b, 3);
> .
> .
> .
>
> This all seems very strange as sqlite is usually a rock of gibraltar
> stable and easy process to get built and tested.
>
> What dumb thing did I do here ?
>
>
>
> --
> Dennis Clarke
> RISC-V/SPARC/PPC/ARM/CISC
> UNIX and Linux spoken
> GreyBeard and suspenders optional
> _______________________________________________
> sqlite-users mailing list
> [hidden email]
> http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
>
_______________________________________________
sqlite-users mailing list
[hidden email]
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
Reply | Threaded
Open this post in threaded view
|

Re: sqlite-src-3300100 on RHEL 7.4 toss mad errors about 'asm'

Dennis Clarke
On 2019-11-07 11:01, Shawn Wagner wrote:
> Compiling with -std=iso9899:1999 is the culprit. Strict c99 mode disables
> gcc extensions like inline asm.

OKay but I have no issues doing a compile on a Solaris server using the
Oracle Studio 12.6 tools and strict C99.  So how is C99 the issue?

Dennis

_______________________________________________
sqlite-users mailing list
[hidden email]
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
Reply | Threaded
Open this post in threaded view
|

Re: sqlite-src-3300100 on RHEL 7.4 toss mad errors about 'asm'

Shawn Wagner
Does that toolchain use gcc, or a different compiler? If gcc, are you using
the same CFLAGS as on the redhat box (you're turning on a bunch of extra
non-default options there)?

On Thu, Nov 7, 2019, 8:10 AM Dennis Clarke <[hidden email]> wrote:

> On 2019-11-07 11:01, Shawn Wagner wrote:
> > Compiling with -std=iso9899:1999 is the culprit. Strict c99 mode disables
> > gcc extensions like inline asm.
>
> OKay but I have no issues doing a compile on a Solaris server using the
> Oracle Studio 12.6 tools and strict C99.  So how is C99 the issue?
>
> Dennis
>
> _______________________________________________
> sqlite-users mailing list
> [hidden email]
> http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
>
_______________________________________________
sqlite-users mailing list
[hidden email]
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
Reply | Threaded
Open this post in threaded view
|

Re: sqlite-src-3300100 on RHEL 7.4 toss mad errors about 'asm'

Shawn Wagner
In reply to this post by Dennis Clarke
For that matter, is the Solaris box x86 or sparc? If the latter, this
particular code path obviously wouldn't ever be used on it.

On Thu, Nov 7, 2019, 8:10 AM Dennis Clarke <[hidden email]> wrote:

> On 2019-11-07 11:01, Shawn Wagner wrote:
> > Compiling with -std=iso9899:1999 is the culprit. Strict c99 mode disables
> > gcc extensions like inline asm.
>
> OKay but I have no issues doing a compile on a Solaris server using the
> Oracle Studio 12.6 tools and strict C99.  So how is C99 the issue?
>
> Dennis
>
> _______________________________________________
> sqlite-users mailing list
> [hidden email]
> http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
>
_______________________________________________
sqlite-users mailing list
[hidden email]
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
Reply | Threaded
Open this post in threaded view
|

Re: sqlite-src-3300100 on RHEL 7.4 toss mad errors about 'asm'

Dennis Clarke
In reply to this post by Shawn Wagner
On 2019-11-07 11:15, Shawn Wagner wrote:
> Does that toolchain use gcc, or a different compiler? If gcc, are you using
> the same CFLAGS as on the redhat box (you're turning on a bunch of extra
> non-default options there)?
>

I don't see how --with-threads can be a concern. The other options do
not qualify as a "bunch" at all.

Regardless it looks like the codebase does strange GNU extensions.

There must be a way to switch all that off.

Dennis

ps : don't top post.

_______________________________________________
sqlite-users mailing list
[hidden email]
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
Reply | Threaded
Open this post in threaded view
|

Re: sqlite-src-3300100 on RHEL 7.4 toss mad errors about 'asm'

Shawn Wagner
... Just don't use strict c99 mode when compiling with gcc? Drop the -std
argument from your CFLAGS to use the default (gnu11 since gcc 5) or
explicitly use gnu99, which gives you that version of the C standard + gcc
extensions.

(Not that they have anything to do with the problem, but compiling with -O0
and -fno-builtin are strange unless you're planning on spending some
quality time in a debugger stepping through code, and -malign-double is
already the default on x86-64 so kind of pointless)

On Thu, Nov 7, 2019 at 8:23 AM Dennis Clarke <[hidden email]> wrote:

> On 2019-11-07 11:15, Shawn Wagner wrote:
> > Does that toolchain use gcc, or a different compiler? If gcc, are you
> using
> > the same CFLAGS as on the redhat box (you're turning on a bunch of extra
> > non-default options there)?
> >
>
> I don't see how --with-threads can be a concern. The other options do
> not qualify as a "bunch" at all.
>
> Regardless it looks like the codebase does strange GNU extensions.
>
> There must be a way to switch all that off.
>
> Dennis
>
> ps : don't top post.
>
> _______________________________________________
> sqlite-users mailing list
> [hidden email]
> http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
>
_______________________________________________
sqlite-users mailing list
[hidden email]
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
Reply | Threaded
Open this post in threaded view
|

Re: sqlite-src-3300100 on RHEL 7.4 toss mad errors about 'asm'

Dennis Clarke
On 2019-11-07 11:44, Shawn Wagner wrote:

> ... Just don't use strict c99 mode when compiling with gcc? Drop the -std
> argument from your CFLAGS to use the default (gnu11 since gcc 5) or
> explicitly use gnu99, which gives you that version of the C standard + gcc
> extensions.
>
> (Not that they have anything to do with the problem, but compiling with -O0
> and -fno-builtin are strange unless you're planning on spending some
> quality time in a debugger stepping through code, and -malign-double is
> already the default on x86-64 so kind of pointless)
>

Debugger .. yes. That will happen and I build on a multitude of
platforms.

OKay so the code fails on Solaris sparc with c99 whereas in the recent
past it all builds fine :

libtool: compile:  /opt/developerstudio12.6/bin/c99 -I/usr/local/include
-D_TS_ERRNO -D_POSIX_PTHREAD_SEMANTICS -D_LARGEFILE64_SOURCE -Xc -m64
-xarch=sparc -g -errfmt=error -errshort=full -xstrconst -xildoff
-xmemalign=8s -xnolibmil -xcode=pic32 -xregs=no%appl -xlibmieee -mc
-ftrap=%none -xbuiltin=%none -xunroll=1 -xs -xdebugformat=dwarf
-errtags=yes -errwarn=%none -erroff=%none -DSQLITE_OS_UNIX=1 -I.
-I/usr/local/build/sqlite-src-3300100_Oracle_sparc64vii+.001/src
-I/usr/local/build/sqlite-src-3300100_Oracle_sparc64vii+.001/ext/rtree
-I/usr/local/build/sqlite-src-3300100_Oracle_sparc64vii+.001/ext/icu
-I/usr/local/build/sqlite-src-3300100_Oracle_sparc64vii+.001/ext/fts3
-I/usr/local/build/sqlite-src-3300100_Oracle_sparc64vii+.001/ext/async
-I/usr/local/build/sqlite-src-3300100_Oracle_sparc64vii+.001/ext/session
-I/usr/local/build/sqlite-src-3300100_Oracle_sparc64vii+.001/ext/userauth
-D_HAVE_SQLITE_CONFIG_H -DBUILD_sqlite -DNDEBUG -I/usr/local/include
-DSQLITE_THREADSAFE=1 -DSQLITE_HAVE_ZLIB=1 -DUSE_TCL_STUBS=1 -c
/usr/local/build/sqlite-src-3300100_Oracle_sparc64vii+.001/src/tclsqlite.c
  -KPIC -DPIC -o .libs/tclsqlite.o
"/usr/local/build/sqlite-src-3300100_Oracle_sparc64vii+.001/src/tclsqlite.c",
line 2346: error: undefined symbol: SQLITE_DBCONFIG_ENABLE_VIEW
"/usr/local/build/sqlite-src-3300100_Oracle_sparc64vii+.001/src/tclsqlite.c",
line 2346: error: non-constant initializer: op "NAME"
"/usr/local/build/sqlite-src-3300100_Oracle_sparc64vii+.001/src/tclsqlite.c",
line 2351: error: undefined symbol: SQLITE_DBCONFIG_TRIGGER_EQP
"/usr/local/build/sqlite-src-3300100_Oracle_sparc64vii+.001/src/tclsqlite.c",
line 2351: error: non-constant initializer: op "NAME"
"/usr/local/build/sqlite-src-3300100_Oracle_sparc64vii+.001/src/tclsqlite.c",
line 2352: error: undefined symbol: SQLITE_DBCONFIG_RESET_DATABASE
"/usr/local/build/sqlite-src-3300100_Oracle_sparc64vii+.001/src/tclsqlite.c",
line 2352: error: non-constant initializer: op "NAME"
"/usr/local/build/sqlite-src-3300100_Oracle_sparc64vii+.001/src/tclsqlite.c",
line 2353: error: undefined symbol: SQLITE_DBCONFIG_DEFENSIVE
"/usr/local/build/sqlite-src-3300100_Oracle_sparc64vii+.001/src/tclsqlite.c",
line 2353: error: non-constant initializer: op "NAME"
"/usr/local/build/sqlite-src-3300100_Oracle_sparc64vii+.001/src/tclsqlite.c",
line 2354: error: undefined symbol: SQLITE_DBCONFIG_WRITABLE_SCHEMA
"/usr/local/build/sqlite-src-3300100_Oracle_sparc64vii+.001/src/tclsqlite.c",
line 2354: error: non-constant initializer: op "NAME"
"/usr/local/build/sqlite-src-3300100_Oracle_sparc64vii+.001/src/tclsqlite.c",
line 2355: error: undefined symbol: SQLITE_DBCONFIG_LEGACY_ALTER_TABLE
"/usr/local/build/sqlite-src-3300100_Oracle_sparc64vii+.001/src/tclsqlite.c",
line 2355: error: non-constant initializer: op "NAME"
"/usr/local/build/sqlite-src-3300100_Oracle_sparc64vii+.001/src/tclsqlite.c",
line 2356: error: undefined symbol: SQLITE_DBCONFIG_DQS_DML
"/usr/local/build/sqlite-src-3300100_Oracle_sparc64vii+.001/src/tclsqlite.c",
line 2356: error: non-constant initializer: op "NAME"
"/usr/local/build/sqlite-src-3300100_Oracle_sparc64vii+.001/src/tclsqlite.c",
line 2357: error: undefined symbol: SQLITE_DBCONFIG_DQS_DDL
"/usr/local/build/sqlite-src-3300100_Oracle_sparc64vii+.001/src/tclsqlite.c",
line 2357: error: non-constant initializer: op "NAME"
"/usr/local/build/sqlite-src-3300100_Oracle_sparc64vii+.001/src/tclsqlite.c",
line 2855: error: undefined symbol: SQLITE_DIRECTONLY
c99: acomp failed for
/usr/local/build/sqlite-src-3300100_Oracle_sparc64vii+.001/src/tclsqlite.c
gmake: *** [Makefile:1029: tclsqlite.lo] Error 1



On Red Hat Enterprise Linux 7.4 the code actually does compile and then
core dumps with a segfault from with that same source file :

Time: walshared.test 24 ms
# WARNING: This next test takes around 12 seconds
gmake: *** [Makefile:1256: tcltest] Segmentation fault (core dumped)
boe13$ pwd
/opt/bw/build/sqlite-src-3300100_rhel_74_3.10.0-693.el7.x86_64.001
boe13$ find . | grep -i 'core'
./testdir/core.43494
boe13$
boe13$ file ./testdir/core.43494
./testdir/core.43494: ELF 64-bit LSB core file x86-64, version 1 (SYSV),
SVR4-style, from './testfixture
/opt/bw/build/sqlite-src-3300100_rhel_74_3.10.0-693.el7.x86_64.00', real
uid: 16411, effective uid: 16411, real gid: 20002, effective gid: 20002,
execfn: './testfixture', platform: 'x86_64'
boe13$ find . -type f -name testfixture -ls
473047 4720 -rwxr-xr-x   1 dclarke  devl      4832936 Nov  7 16:51
./testfixture
boe13$
boe13$ gdb ./testfixture ./testdir/core.43494
GNU gdb (GDB) Red Hat Enterprise Linux 7.6.1-100.el7
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later
<http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from
/opt/bw/build/sqlite-src-3300100_rhel_74_3.10.0-693.el7.x86_64.001/testfixture...done.
[New LWP 43494]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
Core was generated by `./testfixture
/opt/bw/build/sqlite-src-3300100_rhel_74_3.10.0-693.el7.x86_64.00'.
Program terminated with signal 11, Segmentation fault.
#0  0x000000000043a545 in tvfsFileControl (pFile=0x25b9070, op=20,
pArg=0x7fff19a48378)
     at
/opt/bw/build/sqlite-src-3300100_rhel_74_3.10.0-693.el7.x86_64.001/src/test_vfs.c:549
549       if( p->pScript && (p->mask&TESTVFS_FCNTL_MASK) ){
Missing separate debuginfos, use: debuginfo-install
glibc-2.17-196.el7.x86_64 libgcc-4.8.5-16.el7.x86_64
(gdb) where
#0  0x000000000043a545 in tvfsFileControl (pFile=0x25b9070, op=20,
pArg=0x7fff19a48378)
     at
/opt/bw/build/sqlite-src-3300100_rhel_74_3.10.0-693.el7.x86_64.001/src/test_vfs.c:549
#1  0x0000000000468bfe in sqlite3OsFileControl (id=0x25b9070, op=20,
pArg=0x7fff19a48378) at sqlite3.c:22475
#2  0x000000000047df2b in databaseIsUnmoved (pPager=0x25b8ef0) at
sqlite3.c:54928
#3  0x000000000047dfc0 in sqlite3PagerClose (pPager=0x25b8ef0,
db=0x1fdaf10) at sqlite3.c:54969
#4  0x0000000000489835 in sqlite3BtreeClose (p=0x21d2fa0) at sqlite3.c:66134
#5  0x000000000051409c in sqlite3LeaveMutexAndCloseZombie (db=0x1fdaf10)
at sqlite3.c:157429
#6  0x0000000000513fbc in sqlite3Close (db=0x1fdaf10, forceZombie=0) at
sqlite3.c:157372
#7  0x0000000000513fe0 in sqlite3_close (db=0x1fdaf10) at sqlite3.c:157385
#8  0x000000000045de8a in DbDeleteCmd (db=0x2026f68)
     at
/opt/bw/build/sqlite-src-3300100_rhel_74_3.10.0-693.el7.x86_64.001/src/tclsqlite.c:528
#9  0x00007fbca2e1a330 in Tcl_DeleteCommandFromToken (interp=0x1fb7658,
cmd=0x1eb6158)
     at /opt/bw/build/nist/tcl8.7a1/generic/tclBasic.c:3184
#10 0x00007fbca2e1a179 in Tcl_DeleteCommand (interp=0x1fb7658,
cmdName=0x2006748 "db")
     at /opt/bw/build/nist/tcl8.7a1/generic/tclBasic.c:3045
#11 0x00000000004617c2 in DbObjCmd (cd=0x2026f68, interp=0x1fb7658,
objc=2, objv=0x20cae98)
     at
/opt/bw/build/sqlite-src-3300100_rhel_74_3.10.0-693.el7.x86_64.001/src/tclsqlite.c:2219
#12 0x00007fbca2e1be2a in Dispatch (data=0x23aa390, interp=0x1fb7658,
result=0)
     at /opt/bw/build/nist/tcl8.7a1/generic/tclBasic.c:4418
#13 0x00007fbca2e1beb7 in TclNRRunCallbacks (interp=0x1fb7658, result=0,
rootPtr=0x0)
     at /opt/bw/build/nist/tcl8.7a1/generic/tclBasic.c:4451
#14 0x00007fbca2e1e815 in TclEvalObjEx (interp=0x1fb7658,
objPtr=0x6161616161616161, flags=0, invoker=0x19fb178, word=0)
     at /opt/bw/build/nist/tcl8.7a1/generic/tclBasic.c:6018
#15 0x00007fbca2f26152 in SlaveEval (interp=0x19f72f8,
slaveInterp=0x1fb7658, objc=1, objv=0x19fb1f0)
     at /opt/bw/build/nist/tcl8.7a1/generic/tclInterp.c:2826
#16 0x00007fbca2f22bac in NRInterpCmd (clientData=0x0, interp=0x19f72f8,
objc=4, objv=0x19fb1d8)
     at /opt/bw/build/nist/tcl8.7a1/generic/tclInterp.c:885
#17 0x00007fbca2e1be2a in Dispatch (data=0x2384b80, interp=0x19f72f8,
result=0)
     at /opt/bw/build/nist/tcl8.7a1/generic/tclBasic.c:4418
#18 0x00007fbca2e1beb7 in TclNRRunCallbacks (interp=0x19f72f8, result=0,
rootPtr=0x20d31a8)
     at /opt/bw/build/nist/tcl8.7a1/generic/tclBasic.c:4451
#19 0x00007fbca2e1e815 in TclEvalObjEx (interp=0x19f72f8,
objPtr=0x6161616161616161, flags=0, invoker=0x0, word=0)
     at /opt/bw/build/nist/tcl8.7a1/generic/tclBasic.c:6018
#20 0x00007fbca2e1e7ae in Tcl_EvalObjEx (interp=0x19f72f8,
objPtr=0x6161616161616161, flags=0)
     at /opt/bw/build/nist/tcl8.7a1/generic/tclBasic.c:5999
#21 0x00007fbca2e42160 in Tcl_TimeObjCmd (dummy=0x0, interp=0x19f72f8,
objc=2, objv=0x19fb000)
     at /opt/bw/build/nist/tcl8.7a1/generic/tclCmdMZ.c:4123
#22 0x00007fbca2e1be2a in Dispatch (data=0x2388cc0, interp=0x19f72f8,
result=0)
     at /opt/bw/build/nist/tcl8.7a1/generic/tclBasic.c:4418
#23 0x00007fbca2e1beb7 in TclNRRunCallbacks (interp=0x19f72f8, result=0,
rootPtr=0x0)
     at /opt/bw/build/nist/tcl8.7a1/generic/tclBasic.c:4451
#24 0x00007fbca2e1b708 in Tcl_EvalObjv (interp=0x19f72f8, objc=5,
objv=0x19fa880, flags=2097168)
---Type <return> to continue, or q <return> to quit---
     at /opt/bw/build/nist/tcl8.7a1/generic/tclBasic.c:4181
#25 0x00007fbca2e1dbf6 in TclEvalEx (interp=0x19f72f8,
     script=0x527de0 <zMainloop.11456> "if {[llength $argv]>=1} {\nset
argv0 [lindex $argv 0]\nset argv [lrange $argv 1 end]\nsource $argv0\n}
else {\nset line {}\nwhile {![eof stdin]} {\nif {$line!=\"\"} {\nputs
-nonewline \"> \"\n} else {\nputs -nonewl"...,
     numBytes=430, flags=0, line=1, clNextOuter=0x0,
     outerScript=0x527de0 <zMainloop.11456> "if {[llength $argv]>=1}
{\nset argv0 [lindex $argv 0]\nset argv [lrange $argv 1 end]\nsource
$argv0\n} else {\nset line {}\nwhile {![eof stdin]} {\nif {$line!=\"\"}
{\nputs -nonewline \"> \"\n} else {\nputs -nonewl"...)
     at /opt/bw/build/nist/tcl8.7a1/generic/tclBasic.c:5320
#26 0x00007fbca2e1cfc4 in Tcl_EvalEx (interp=0x19f72f8,
     script=0x527de0 <zMainloop.11456> "if {[llength $argv]>=1} {\nset
argv0 [lindex $argv 0]\nset argv [lrange $argv 1 end]\nsource $argv0\n}
else {\nset line {}\nwhile {![eof stdin]} {\nif {$line!=\"\"} {\nputs
-nonewline \"> \"\n} else {\nputs -nonewl"...,
     numBytes=-1, flags=0) at
/opt/bw/build/nist/tcl8.7a1/generic/tclBasic.c:4985
#27 0x00007fbca2e1fc68 in Tcl_GlobalEval (interp=0x19f72f8,
     command=0x527de0 <zMainloop.11456> "if {[llength $argv]>=1} {\nset
argv0 [lindex $argv 0]\nset argv [lrange $argv 1 end]\nsource $argv0\n}
else {\nset line {}\nwhile {![eof stdin]} {\nif {$line!=\"\"} {\nputs
-nonewline \"> \"\n} else {\nputs -nonewl"...)
     at /opt/bw/build/nist/tcl8.7a1/generic/tclBasic.c:6983
#28 0x00000000004658b5 in main (argc=4, argv=0x7fff19a49288)
     at
/opt/bw/build/sqlite-src-3300100_rhel_74_3.10.0-693.el7.x86_64.001/src/tclsqlite.c:4008
(gdb) quit
boe13$ head config.log
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.

It was created by sqlite configure 3.30.1, which was
generated by GNU Autoconf 2.69.  Invocation command line was

   $ ./configure --prefix=/opt/bw --enable-shared --enable-static
--enable-readline --enable-threadsafe

## --------- ##
## Platform. ##
boe13$

I may go back a revision or two and see if those build in the exact same
way that they did back in January this year.

Dennis

_______________________________________________
sqlite-users mailing list
[hidden email]
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
Reply | Threaded
Open this post in threaded view
|

Re: sqlite-src-3300100 on RHEL 7.4 toss mad errors about 'asm'

Shawn Wagner
In reply to this post by Dennis Clarke
Another option (Which the devs might consider) is to replace use of the asm
keyword with __asm__, which is a form of the extension understood even in
strict mode.

(I have no idea why gcc doesn't offer intrinsics for bit rotation, as it's
a common task and shouldn't require hacks like this to reliably do
efficiently).

On Thu, Nov 7, 2019 at 8:23 AM Dennis Clarke <[hidden email]> wrote:

> On 2019-11-07 11:15, Shawn Wagner wrote:
> > Does that toolchain use gcc, or a different compiler? If gcc, are you
> using
> > the same CFLAGS as on the redhat box (you're turning on a bunch of extra
> > non-default options there)?
> >
>
> I don't see how --with-threads can be a concern. The other options do
> not qualify as a "bunch" at all.
>
> Regardless it looks like the codebase does strange GNU extensions.
>
> There must be a way to switch all that off.
>
> Dennis
>
> ps : don't top post.
>
> _______________________________________________
> sqlite-users mailing list
> [hidden email]
> http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
>
_______________________________________________
sqlite-users mailing list
[hidden email]
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
Reply | Threaded
Open this post in threaded view
|

Re: sqlite-src-3300100 on RHEL 7.4 toss mad errors about 'asm'

Dan Kennedy-4
In reply to this post by Dennis Clarke

On 8/11/62 00:15, Dennis Clarke wrote:

> On 2019-11-07 11:44, Shawn Wagner wrote:
>> ... Just don't use strict c99 mode when compiling with gcc? Drop the
>> -std
>> argument from your CFLAGS to use the default (gnu11 since gcc 5) or
>> explicitly use gnu99, which gives you that version of the C standard
>> + gcc
>> extensions.
>>
>> (Not that they have anything to do with the problem, but compiling
>> with -O0
>> and -fno-builtin are strange unless you're planning on spending some
>> quality time in a debugger stepping through code, and -malign-double is
>> already the default on x86-64 so kind of pointless)
>>
>
> Debugger .. yes. That will happen and I build on a multitude of
> platforms.
>
> OKay so the code fails on Solaris sparc with c99 whereas in the recent
> past it all builds fine :
>
> libtool: compile:  /opt/developerstudio12.6/bin/c99
> -I/usr/local/include -D_TS_ERRNO -D_POSIX_PTHREAD_SEMANTICS
> -D_LARGEFILE64_SOURCE -Xc -m64 -xarch=sparc -g -errfmt=error
> -errshort=full -xstrconst -xildoff -xmemalign=8s -xnolibmil
> -xcode=pic32 -xregs=no%appl -xlibmieee -mc -ftrap=%none
> -xbuiltin=%none -xunroll=1 -xs -xdebugformat=dwarf -errtags=yes
> -errwarn=%none -erroff=%none -DSQLITE_OS_UNIX=1 -I.
> -I/usr/local/build/sqlite-src-3300100_Oracle_sparc64vii+.001/src
> -I/usr/local/build/sqlite-src-3300100_Oracle_sparc64vii+.001/ext/rtree
> -I/usr/local/build/sqlite-src-3300100_Oracle_sparc64vii+.001/ext/icu
> -I/usr/local/build/sqlite-src-3300100_Oracle_sparc64vii+.001/ext/fts3
> -I/usr/local/build/sqlite-src-3300100_Oracle_sparc64vii+.001/ext/async
> -I/usr/local/build/sqlite-src-3300100_Oracle_sparc64vii+.001/ext/session
> -I/usr/local/build/sqlite-src-3300100_Oracle_sparc64vii+.001/ext/userauth
> -D_HAVE_SQLITE_CONFIG_H -DBUILD_sqlite -DNDEBUG -I/usr/local/include
> -DSQLITE_THREADSAFE=1 -DSQLITE_HAVE_ZLIB=1 -DUSE_TCL_STUBS=1 -c
> /usr/local/build/sqlite-src-3300100_Oracle_sparc64vii+.001/src/tclsqlite.c
>  -KPIC -DPIC -o .libs/tclsqlite.o
> "/usr/local/build/sqlite-src-3300100_Oracle_sparc64vii+.001/src/tclsqlite.c",
> line 2346: error: undefined symbol: SQLITE_DBCONFIG_ENABLE_VIEW
> "/usr/local/build/sqlite-src-3300100_Oracle_sparc64vii+.001/src/tclsqlite.c",
> line 2346: error: non-constant initializer: op "NAME"
> "/usr/local/build/sqlite-src-3300100_Oracle_sparc64vii+.001/src/tclsqlite.c",
> line 2351: error: undefined symbol: SQLITE_DBCONFIG_TRIGGER_EQP
> "/usr/local/build/sqlite-src-3300100_Oracle_sparc64vii+.001/src/tclsqlite.c",
> line 2351: error: non-constant initializer: op "NAME"
> "/usr/local/build/sqlite-src-3300100_Oracle_sparc64vii+.001/src/tclsqlite.c",
> line 2352: error: undefined symbol: SQLITE_DBCONFIG_RESET_DATABASE
> "/usr/local/build/sqlite-src-3300100_Oracle_sparc64vii+.001/src/tclsqlite.c",
> line 2352: error: non-constant initializer: op "NAME"
> "/usr/local/build/sqlite-src-3300100_Oracle_sparc64vii+.001/src/tclsqlite.c",
> line 2353: error: undefined symbol: SQLITE_DBCONFIG_DEFENSIVE
> "/usr/local/build/sqlite-src-3300100_Oracle_sparc64vii+.001/src/tclsqlite.c",
> line 2353: error: non-constant initializer: op "NAME"
> "/usr/local/build/sqlite-src-3300100_Oracle_sparc64vii+.001/src/tclsqlite.c",
> line 2354: error: undefined symbol: SQLITE_DBCONFIG_WRITABLE_SCHEMA
> "/usr/local/build/sqlite-src-3300100_Oracle_sparc64vii+.001/src/tclsqlite.c",
> line 2354: error: non-constant initializer: op "NAME"
> "/usr/local/build/sqlite-src-3300100_Oracle_sparc64vii+.001/src/tclsqlite.c",
> line 2355: error: undefined symbol: SQLITE_DBCONFIG_LEGACY_ALTER_TABLE
> "/usr/local/build/sqlite-src-3300100_Oracle_sparc64vii+.001/src/tclsqlite.c",
> line 2355: error: non-constant initializer: op "NAME"
> "/usr/local/build/sqlite-src-3300100_Oracle_sparc64vii+.001/src/tclsqlite.c",
> line 2356: error: undefined symbol: SQLITE_DBCONFIG_DQS_DML
> "/usr/local/build/sqlite-src-3300100_Oracle_sparc64vii+.001/src/tclsqlite.c",
> line 2356: error: non-constant initializer: op "NAME"
> "/usr/local/build/sqlite-src-3300100_Oracle_sparc64vii+.001/src/tclsqlite.c",
> line 2357: error: undefined symbol: SQLITE_DBCONFIG_DQS_DDL
> "/usr/local/build/sqlite-src-3300100_Oracle_sparc64vii+.001/src/tclsqlite.c",
> line 2357: error: non-constant initializer: op "NAME"
> "/usr/local/build/sqlite-src-3300100_Oracle_sparc64vii+.001/src/tclsqlite.c",
> line 2855: error: undefined symbol: SQLITE_DIRECTONLY
> c99: acomp failed for
> /usr/local/build/sqlite-src-3300100_Oracle_sparc64vii+.001/src/tclsqlite.c
> gmake: *** [Makefile:1029: tclsqlite.lo] Error 1
>
>
>
> On Red Hat Enterprise Linux 7.4 the code actually does compile and then
> core dumps with a segfault from with that same source file :
>
> Time: walshared.test 24 ms
> # WARNING: This next test takes around 12 seconds
> gmake: *** [Makefile:1256: tcltest] Segmentation fault (core dumped)


This is almost certainly an issue with the test scripts, not the
library. Can you post the last 100 lines or so of the file
"test-out.txt" that was created in the cwd by the [make quicktest] or
whatever you ran to get this?

Thanks,

Dan.



_______________________________________________
sqlite-users mailing list
[hidden email]
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users