westes / flex

The Fast Lexical Analyzer - scanner generator for lexing in C and C++
Other
3.62k stars 536 forks source link

During compile of 2.6.4 stage1flex fails to open a trivial file #417

Open blastwave opened 5 years ago

blastwave commented 5 years ago

Very strange behavior during the compile with Oracle Studio C99 compiler and I am fairly sure that the compiler has nothing to do with it.

What I see is stage1flex being created in the ./src directory and that is no issue.

Then the next step is :

./stage1flex -o stage1scan.c ./scan.l stage1flex: can't open ./scan.l gmake[2]: [Makefile:1696: stage1scan.c] Error 1 gmake[2]: Leaving directory '/usr/local/build/flex-2.6.4_SunOS5.10_sparc64vii+.001/src' gmake[1]: [Makefile:546: all] Error 2 gmake[1]: Leaving directory '/usr/local/build/flex-2.6.4_SunOS5.10_sparc64vii+.001/src' gmake: *** [Makefile:533: all-recursive] Error 1

However the input file certainly exists and I can reproduce manually :

corv $ ls -ladb ./src/scan.l -rw-r--r-- 1 dclarke devl 27707 May 3 2017 ./src/scan.l corv $ corv $ ./src/stage1flex -o /tmp/stage1scan.c ./src/scan.l stage1flex: can't open ./src/scan.l corv $

No idea why that is happening.

corv $ ./src/stage1flex --version stage1flex 2.6.4

Nice but doesn't "work" in a sane way.

Dennis

blastwave commented 5 years ago

Just checked 2.6.3 and 2.6.2 and even 2.6.1 all fail in the same manner. However 2.6.1 is slightly different :

../src/stage1flex -o stage1scan.c stage1scan.l stage1flex: can't open stage1scan.l gmake[2]: [Makefile:1008: stage1scan.c] Error 1 gmake[2]: Leaving directory '/usr/local/build/flex-2.6.1_SunOS5.10_sparc64vii+.001/src' gmake[1]: [Makefile:512: all] Error 2 gmake[1]: Leaving directory '/usr/local/build/flex-2.6.1_SunOS5.10_sparc64vii+.001/src' gmake: *** [Makefile:525: all-recursive] Error 1 corv $

Same problem however.

westes commented 5 years ago

Does this still happen against the tip of master?

On Sunday, 20 January 2019, 7:57 pm -0800, Blastwave notifications@github.com wrote:

Just checked 2.6.3 and 2.6.2 and even 2.6.1 all fail in the same manner. However 2.6.1 is slightly different :

../src/stage1flex -o stage1scan.c stage1scan.l stage1flex: can't open stage1scan.l gmake[2]: [Makefile:1008: stage1scan.c] Error 1 gmake[2]: Leaving directory '/usr/local/build/flex-2.6.1_SunOS5.10_sparc64vii+.001/src' gmake[1]: [Makefile:512: all] Error 2 gmake[1]: Leaving directory '/usr/local/build/flex-2.6.1_SunOS5.10_sparc64vii+.001/src' gmake: *** [Makefile:525: all-recursive] Error 1 corv $

Same problem however.

-- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/westes/flex/issues/417#issuecomment-455941364

-- Will Estes westes575@gmail.com

Explorer09 commented 5 years ago

@westes I'm not sure where the cause of the fopen() error is, but I see flex prints a fopen error message without strerror(errno) text, which is a usability bug already.

blastwave commented 5 years ago

I have not tried the dev "master" alpha beta code at all. I was just trying the release versions. I guess I could clone the master and then fight with autoconf/autoreconf to get a configure and all that jazz. Would be nice to have this working on ye old POSIX environments.

JL2210 commented 5 years ago

This path looks sketchy: flex-2.6.4_SunOS5.10_sparc64vii+.001. Could you rename the directory to just flex and try again?

If that doesn't work, here's a guide to build against the tip of master:

git clone https://github.com/westes/flex.git
cd flex
autoreconf -vif
./configure <configure-flags>
make

Please replace <configure-flags> with your configure flags.

blastwave commented 5 years ago

This path looks sketchy: flex-2.6.4_SunOS5.10_sparc64vii+.001. Could you rename the directory to just flex and try again?

How would that matter in the least?

The tarball is extracted and configure runs and the problem happens a short while later. The path should mean nothing.

Also the sources are : corv $ cd /usr/local/src/ corv $ ls -lo flex* -rw-r--r-- 1 dclarke 2877440 Jan 21 03:56 flex-2.6.0.tar -rw-r--r-- 1 dclarke 1446361 May 21 2017 flex-2.6.1.tar.gz -rw-r--r-- 1 dclarke 1402237 May 24 2017 flex-2.6.2.tar.gz -rw-r--r-- 1 dclarke 1405560 May 25 2017 flex-2.6.3.tar.gz -rw-r--r-- 1 dclarke 1419096 May 26 2017 flex-2.6.4.tar.gz corv $

So they get extracted and renamed to the various bits out of uname as well as processor class and sequence numbers.

Explorer09 commented 5 years ago

@blastwave It seems that the usability problem I mentioned already has a patch. Could you please apply #305 and try building again, and tell us exactly what "can't open" message you get.

blastwave commented 5 years ago

What is this thing? lerr( _( "can't open %s: %s" ), file, strerror(errno)); ? An underscore in front of a string literal? see https://github.com/westes/flex/pull/305/commits/40798aaaf36f7e1cb974e55253bf6bd12732afa8

blastwave commented 5 years ago

Sorry .. I get a pile of errors dealing with configure.ac. I guess I have to manually patch 2.6.4.

blastwave commented 5 years ago

Well the situation is getting worse here :

"yylex.c", line 154: warning: implicit function declaration: isascii (E_NO_IMPLICIT_DECL_ALLOWED) /bin/bash ../build-aux/ylwrap scan.l lex.yy.c scan.c -- lex
"/usr/local/build/flex-2.6.4_SunOS5.10_sparc64vii+.001/src/scan.l":line 124: Error: missing translation value gmake[2]: [Makefile:1425: scan.c] Error 1 gmake[2]: Leaving directory '/usr/local/build/flex-2.6.4_SunOS5.10_sparc64vii+.001/src' gmake[1]: [Makefile:546: all] Error 2 gmake[1]: Leaving directory '/usr/local/build/flex-2.6.4_SunOS5.10_sparc64vii+.001/src' gmake: *** [Makefile:533: all-recursive] Error 1

Explorer09 commented 5 years ago

@blastwave It's quite difficult to diagnose a problem like this. You haven't tried building against the master branch, right? Because the patch changes the lexer source file (see the .l extension), that would require you have a copy of flex installed in order to succesfully bootstrap. If you didn't, the situation would be difficult to handle.

I'm not sure if it works to hack scan.c from the 2.6.4 release tarball instead. Patch the equivalent line, with the underscore function removed. (The underscore function means 'gettext', which marks translatable string and tells gettext to get the text from translation files. ./configure --disable-nls can disable the translations and avoid build errors with the translation system.)

blastwave commented 5 years ago

building against the master branch?

Yes I did. There is no configure script and the autoconf/reconf process fails with numerous errors. This should be release grade software. It was. Years ago.

blastwave commented 5 years ago

Well the situation is getting worse here :

"yylex.c", line 154: warning: implicit function declaration: isascii (E_NO_IMPLICIT_DECL_ALLOWED) /bin/bash ../build-aux/ylwrap scan.l lex.yy.c scan.c -- lex
"/usr/local/build/flex-2.6.4_SunOS5.10_sparc64vii+.001/src/scan.l":line 124: Error: missing translation value gmake[2]: [Makefile:1425: scan.c] Error 1 gmake[2]: Leaving directory '/usr/local/build/flex-2.6.4_SunOS5.10_sparc64vii+.001/src' gmake[1]: [Makefile:546: all] Error 2 gmake[1]: Leaving directory '/usr/local/build/flex-2.6.4_SunOS5.10_sparc64vii+.001/src' gmake: *** [Makefile:533: all-recursive] Error 1

Explorer09 commented 5 years ago

@blastwave Building against master branch has nothing to do with the software being release grade or not. It's about whether you understand the build process, so that we no longer need to explain basic things to you.

You said you did build the master branch but failed at the autoreconf process. The proper report would be showing what error you get in the autoreconf process, or we would assume you can fix that yourself. Since you look like not being able to do either of the above, then I can no longer help you with the problem in this report then.

username34 commented 5 years ago

I downloaded https://github.com/westes/flex/releases/download/v2.6.4/flex-2.6.4.tar.gz And tried to install ./autogen.sh ./configure make While making i got error

./stage1flex   -o stage1scan.c ./scan.l
Makefile:1696: ошибка выполнения рецепта для цели «stage1scan.c»
make[2]: *** [stage1scan.c] Ошибка сегментирования
username34 commented 5 years ago
./stage1flex   -o stage1scan.c ./scan.l
Makefile:1696: ошибка выполнения рецепта для цели «stage1scan.c»
make[2]: *** [stage1scan.c] Ошибка сегментирования
make[2]: выход из каталога «/home/user/flex-2.6.4/src»
Makefile:546: ошибка выполнения рецепта для цели «all»
make[1]: *** [all] Ошибка 2
make[1]: выход из каталога «/home/user/flex-2.6.4/src»
Makefile:533: ошибка выполнения рецепта для цели «all-recursive»
make: *** [all-recursive] Ошибка 1
root@hostname:/home/user/flex-2.6.4#
username34 commented 5 years ago

During configure i got some warnings

./configure >> /home/user/c.txt
configure: WARNING: help2man: program not found: building man page will not work
configure: WARNING: texi2dvi: program not found: building pdf version of manual will not work
configure: WARNING: ${top_srcdir}/build-aux/missing indent does not appear to be GNU indent; 'make indent' may not function properly
username34 commented 5 years ago

During make i got some warnins

misc.c: In function ‘allocate_array’:
misc.c:147:8: warning: implicit declaration of function ‘reallocarray’ [-Wimplicit-function-declaration]
  mem = reallocarray(NULL, (size_t) size, element_size);
        ^~~~~~~~~~~~
misc.c:147:6: warning: assignment makes pointer from integer without a cast [-Wint-conversion]
  mem = reallocarray(NULL, (size_t) size, element_size);
      ^
misc.c: In function ‘reallocate_array’:
misc.c:664:12: warning: assignment makes pointer from integer without a cast [-Wint-conversion]
  new_array = reallocarray(array, (size_t) size, element_size);
blastwave commented 5 years ago

I am going to create a clean room here with a new install and then try again. I am not sure what the dependency list is but I will hit that shortly.

Explorer09 commented 5 years ago

@username34 The "implicit declaration of function 'reallocarray'" error is fixed already in master (#241). Try building the master branch or specify 'ac_cv_func_reallocarray=no' 'ac_cv_func_reallocarr=no' as two arguments to ./configure as workaround.

blastwave commented 5 years ago

I have no particular interesting in hacking at the "master" branch which is not a release production version. Thanks anyways. I can wait until the bugs get sorted out in a release version. Also where is Will Estes these days? He was always super cool with these sort of things and we could always work them out neatly .. back in the days of a mail list which works. This .. does not work.

username34 commented 5 years ago

I tried to install flex from master branch, simply downloaded zip file flex-master.zip, unziped it, and run common commands, but got error "flex: command not found (i translated it for you from russian to english)"

user@hostname:~/flex-master$ ./autogen.sh
libtoolize (GNU libtool) 2.4.6
Written by Gary V. Vaughan <gary@gnu.org>, 2003

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.
libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'build-aux'.
libtoolize: linking file 'build-aux/config.guess'
libtoolize: linking file 'build-aux/config.sub'
libtoolize: linking file 'build-aux/install-sh'
libtoolize: linking file 'build-aux/ltmain.sh'
libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'.
libtoolize: linking file 'm4/libtool.m4'
libtoolize: linking file 'm4/ltoptions.m4'
libtoolize: linking file 'm4/ltsugar.m4'
libtoolize: linking file 'm4/ltversion.m4'
libtoolize: linking file 'm4/lt~obsolete.m4'
Copying file ABOUT-NLS
Copying file build-aux/config.rpath
Copying file m4/codeset.m4
Copying file m4/extern-inline.m4
Copying file m4/fcntl-o.m4
Copying file m4/gettext.m4
Copying file m4/glibc2.m4
Copying file m4/glibc21.m4
Copying file m4/iconv.m4
Copying file m4/intdiv0.m4
Copying file m4/intl.m4
Copying file m4/intldir.m4
Copying file m4/intlmacosx.m4
Copying file m4/intmax.m4
Copying file m4/inttypes-pri.m4
Copying file m4/inttypes_h.m4
Copying file m4/lcmessage.m4
Copying file m4/lib-ld.m4
Copying file m4/lib-link.m4
Copying file m4/lib-prefix.m4
Copying file m4/lock.m4
Copying file m4/longlong.m4
Copying file m4/nls.m4
Copying file m4/po.m4
Copying file m4/printf-posix.m4
Copying file m4/progtest.m4
Copying file m4/size_max.m4
Copying file m4/stdint_h.m4
Copying file m4/threadlib.m4
Copying file m4/uintmax_t.m4
Copying file m4/visibility.m4
Copying file m4/wchar_t.m4
Copying file m4/wint_t.m4
Copying file m4/xsize.m4
Copying file po/Makefile.in.in
Copying file po/Makevars.template
Copying file po/Rules-quot
Copying file po/boldquot.sed
Copying file po/en@boldquot.header
Copying file po/en@quot.header
Copying file po/insert-header.sin
Copying file po/quot.sed
Copying file po/remove-potcdate.sin
libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'build-aux'.
libtoolize: copying file 'build-aux/ltmain.sh'
libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'.
libtoolize: copying file 'm4/libtool.m4'
libtoolize: copying file 'm4/ltoptions.m4'
libtoolize: copying file 'm4/ltsugar.m4'
libtoolize: copying file 'm4/ltversion.m4'
libtoolize: copying file 'm4/lt~obsolete.m4'
configure.ac:31: installing 'build-aux/compile'
configure.ac:33: installing 'build-aux/missing'
doc/Makefile.am:3: installing 'build-aux/mdate-sh'
doc/Makefile.am:3: installing 'build-aux/texinfo.tex'
src/Makefile.am: installing 'build-aux/depcomp'
configure.ac: installing 'build-aux/ylwrap'
parallel-tests: installing 'build-aux/test-driver'
user@hostname:~/flex-master$ ./configure
checking for gcc... 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 gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -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 minix/config.h usability... no
checking minix/config.h presence... no
checking for minix/config.h... no
checking whether it is safe to define __EXTENSIONS__... yes
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking how to print strings... printf
checking for a sed that does not truncate output... /bin/sed
checking for fgrep... /bin/grep -F
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking how to convert x86_64-pc-linux-gnu file names to x86_64-pc-linux-gnu format... func_convert_file_noop
checking how to convert x86_64-pc-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /usr/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for ar... ar
checking for archiver @FILE support... @
checking for strip... strip
checking for ranlib... ranlib
checking for gawk... no
checking for mawk... mawk
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for sysroot... no
checking for a working dd... /bin/dd
checking how to truncate binary pipes... /bin/dd bs=4096 count=1
checking for mt... mt
checking if mt is a manifest tool... no
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... yes
checking if gcc static flag -static works... yes
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the 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 whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking whether make sets $(MAKE)... yes
checking for style of include used by make... GNU
checking whether make supports nested variables... yes
checking dependency style of gcc... gcc3
checking whether NLS is requested... yes
checking for msgfmt... /usr/bin/msgfmt
checking for gmsgfmt... /usr/bin/msgfmt
checking for xgettext... /usr/bin/xgettext
checking for msgmerge... /usr/bin/msgmerge
checking for ld used by gcc... /usr/bin/ld -m elf_x86_64
checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld... yes
checking for shared library run path origin... done
checking for CFPreferencesCopyAppValue... no
checking for CFLocaleCopyCurrent... no
checking for GNU gettext in libc... yes
checking whether to use NLS... yes
checking where the gettext function comes from... libc
checking for bison... bison -y
checking for flex... no
checking for lex... no
checking for gcc... (cached) gcc
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to accept ISO C89... (cached) none needed
checking whether gcc understands -c and -o together... (cached) yes
checking for gcc... gcc
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... (cached) none needed
checking whether gcc understands -c and -o together... (cached) yes
checking how to run the C preprocessor... gcc -E
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking how to run the C++ preprocessor... g++ -E
checking for ld used by g++... /usr/bin/ld -m elf_x86_64
checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld... yes
checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking for g++ option to produce PIC... -fPIC -DPIC
checking if g++ PIC flag -fPIC -DPIC works... yes
checking if g++ static flag -static works... yes
checking if g++ supports -c -o file.o... yes
checking if g++ supports -c -o file.o... (cached) yes
checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking dynamic linker characteristics... (cached) GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking dependency style of g++... gcc3
checking whether ln -s works... yes
checking for gawk... (cached) mawk
checking for help2man... ${top_srcdir}/build-aux/missing help2man
configure: WARNING: help2man: program not found: building man page will not work
checking for gtexi2dvi... no
checking for texi2dvi... no
configure: WARNING: texi2dvi: program not found: building pdf version of manual will not work
checking for m4 that supports -P... /usr/bin/m4
checking for indent... ${top_srcdir}/build-aux/missing indent
checking if ${top_srcdir}/build-aux/missing indent is GNU indent... no
configure: WARNING: ${top_srcdir}/build-aux/missing indent does not appear to be GNU indent; 'make indent' may not function properly
checking regex.h usability... yes
checking regex.h presence... yes
checking for regex.h... yes
checking for strings.h... (cached) yes
checking for sys/stat.h... (cached) yes
checking sys/wait.h usability... yes
checking sys/wait.h presence... yes
checking for sys/wait.h... yes
checking for unistd.h... (cached) yes
checking for inttypes.h... (cached) yes
checking libintl.h usability... yes
checking libintl.h presence... yes
checking for libintl.h... yes
checking limits.h usability... yes
checking limits.h presence... yes
checking for limits.h... yes
checking locale.h usability... yes
checking locale.h presence... yes
checking for locale.h... yes
checking malloc.h usability... yes
checking malloc.h presence... yes
checking for malloc.h... yes
checking netinet/in.h usability... yes
checking netinet/in.h presence... yes
checking for netinet/in.h... yes
checking for pthread_mutex_lock in -lpthread... yes
checking pthread.h usability... yes
checking pthread.h presence... yes
checking for pthread.h... yes
checking for log10 in -lm... yes
checking for stdbool.h that conforms to C99... yes
checking for _Bool... yes
checking for an ANSI C-conforming const... yes
checking for size_t... yes
checking for working alloca.h... yes
checking for alloca... yes
checking for pid_t... yes
checking vfork.h usability... no
checking vfork.h presence... no
checking for vfork.h... no
checking for fork... yes
checking for vfork... yes
checking for working fork... yes
checking for working vfork... (cached) yes
checking for stdlib.h... (cached) yes
checking for GNU libc compatible malloc... yes
checking for stdlib.h... (cached) yes
checking for GNU libc compatible realloc... yes
checking for dup2... yes
checking for memset... yes
checking for regcomp... yes
checking for strcasecmp... yes
checking for strchr... yes
checking for strdup... yes
checking for strtol... yes
checking for pow... yes
checking for setlocale... yes
checking for reallocarr... no
checking for reallocarray... yes
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating doc/Makefile
config.status: creating examples/Makefile
config.status: creating examples/fastwc/Makefile
config.status: creating examples/manual/Makefile
config.status: creating po/Makefile.in
config.status: creating src/libfl.pc
config.status: creating src/Makefile
config.status: creating tools/Makefile
config.status: creating tests/Makefile
config.status: creating src/config.h
config.status: executing libtool commands
config.status: executing depfiles commands
config.status: executing po-directories commands
config.status: creating po/POTFILES
config.status: creating po/Makefile
user@hostname:~/flex-master$ make
Making all in src
make[1]: вход в каталог «/home/user/flex-master/src»
make  all-am
make[2]: вход в каталог «/home/user/flex-master/src»
depbase=`echo libmain.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
/bin/bash ../libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I.  -DLOCALEDIR=\"/usr/local/share/locale\"   -g -O2 -MT libmain.lo -MD -MP -MF $depbase.Tpo -c -o libmain.lo libmain.c &&\
mv -f $depbase.Tpo $depbase.Plo
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -DLOCALEDIR=\"/usr/local/share/locale\" -g -O2 -MT libmain.lo -MD -MP -MF .deps/libmain.Tpo -c libmain.c  -fPIC -DPIC -o .libs/libmain.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -DLOCALEDIR=\"/usr/local/share/locale\" -g -O2 -MT libmain.lo -MD -MP -MF .deps/libmain.Tpo -c libmain.c -o libmain.o >/dev/null 2>&1
depbase=`echo libyywrap.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
/bin/bash ../libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I.  -DLOCALEDIR=\"/usr/local/share/locale\"   -g -O2 -MT libyywrap.lo -MD -MP -MF $depbase.Tpo -c -o libyywrap.lo libyywrap.c &&\
mv -f $depbase.Tpo $depbase.Plo
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -DLOCALEDIR=\"/usr/local/share/locale\" -g -O2 -MT libyywrap.lo -MD -MP -MF .deps/libyywrap.Tpo -c libyywrap.c  -fPIC -DPIC -o .libs/libyywrap.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -DLOCALEDIR=\"/usr/local/share/locale\" -g -O2 -MT libyywrap.lo -MD -MP -MF .deps/libyywrap.Tpo -c libyywrap.c -o libyywrap.o >/dev/null 2>&1
/bin/bash ../libtool  --tag=CC   --mode=link gcc  -g -O2 -version-info 2:0:0  -o libfl.la -rpath /usr/local/lib libmain.lo libyywrap.lo  -lm 
libtool: link: gcc -shared  -fPIC -DPIC  .libs/libmain.o .libs/libyywrap.o   -lm  -g -O2   -Wl,-soname -Wl,libfl.so.2 -o .libs/libfl.so.2.0.0
libtool: link: (cd ".libs" && rm -f "libfl.so.2" && ln -s "libfl.so.2.0.0" "libfl.so.2")
libtool: link: (cd ".libs" && rm -f "libfl.so" && ln -s "libfl.so.2.0.0" "libfl.so")
libtool: link: ar cru .libs/libfl.a  libmain.o libyywrap.o
ar: `u' modifier ignored since `D' is the default (see `U')
libtool: link: ranlib .libs/libfl.a
libtool: link: ( cd ".libs" && rm -f "libfl.la" && ln -s "../libfl.la" "libfl.la" )
gcc -DHAVE_CONFIG_H -I.  -DLOCALEDIR=\"/usr/local/share/locale\"    -g -O2 -MT flex-buf.o -MD -MP -MF .deps/flex-buf.Tpo -c -o flex-buf.o `test -f 'buf.c' || echo './'`buf.c
mv -f .deps/flex-buf.Tpo .deps/flex-buf.Po
gcc -DHAVE_CONFIG_H -I.  -DLOCALEDIR=\"/usr/local/share/locale\"    -g -O2 -MT flex-ccl.o -MD -MP -MF .deps/flex-ccl.Tpo -c -o flex-ccl.o `test -f 'ccl.c' || echo './'`ccl.c
mv -f .deps/flex-ccl.Tpo .deps/flex-ccl.Po
gcc -DHAVE_CONFIG_H -I.  -DLOCALEDIR=\"/usr/local/share/locale\"    -g -O2 -MT flex-dfa.o -MD -MP -MF .deps/flex-dfa.Tpo -c -o flex-dfa.o `test -f 'dfa.c' || echo './'`dfa.c
mv -f .deps/flex-dfa.Tpo .deps/flex-dfa.Po
gcc -DHAVE_CONFIG_H -I.  -DLOCALEDIR=\"/usr/local/share/locale\"    -g -O2 -MT flex-ecs.o -MD -MP -MF .deps/flex-ecs.Tpo -c -o flex-ecs.o `test -f 'ecs.c' || echo './'`ecs.c
mv -f .deps/flex-ecs.Tpo .deps/flex-ecs.Po
gcc -DHAVE_CONFIG_H -I.  -DLOCALEDIR=\"/usr/local/share/locale\"    -g -O2 -MT flex-filter.o -MD -MP -MF .deps/flex-filter.Tpo -c -o flex-filter.o `test -f 'filter.c' || echo './'`filter.c
mv -f .deps/flex-filter.Tpo .deps/flex-filter.Po
gcc -DHAVE_CONFIG_H -I.  -DLOCALEDIR=\"/usr/local/share/locale\"    -g -O2 -MT flex-gen.o -MD -MP -MF .deps/flex-gen.Tpo -c -o flex-gen.o `test -f 'gen.c' || echo './'`gen.c
mv -f .deps/flex-gen.Tpo .deps/flex-gen.Po
/bin/bash ../build-aux/ylwrap parse.y y.tab.c parse.c y.tab.h `echo parse.c | sed -e s/cc$/hh/ -e s/cpp$/hpp/ -e s/cxx$/hxx/ -e s/c++$/h++/ -e s/c$/h/` y.output parse.output -- bison -y -d 
updating parse.h
gcc -DHAVE_CONFIG_H -I.  -DLOCALEDIR=\"/usr/local/share/locale\"    -g -O2 -MT flex-main.o -MD -MP -MF .deps/flex-main.Tpo -c -o flex-main.o `test -f 'main.c' || echo './'`main.c
mv -f .deps/flex-main.Tpo .deps/flex-main.Po
gcc -DHAVE_CONFIG_H -I.  -DLOCALEDIR=\"/usr/local/share/locale\"    -g -O2 -MT flex-misc.o -MD -MP -MF .deps/flex-misc.Tpo -c -o flex-misc.o `test -f 'misc.c' || echo './'`misc.c
mv -f .deps/flex-misc.Tpo .deps/flex-misc.Po
gcc -DHAVE_CONFIG_H -I.  -DLOCALEDIR=\"/usr/local/share/locale\"    -g -O2 -MT flex-nfa.o -MD -MP -MF .deps/flex-nfa.Tpo -c -o flex-nfa.o `test -f 'nfa.c' || echo './'`nfa.c
mv -f .deps/flex-nfa.Tpo .deps/flex-nfa.Po
gcc -DHAVE_CONFIG_H -I.  -DLOCALEDIR=\"/usr/local/share/locale\"    -g -O2 -MT flex-options.o -MD -MP -MF .deps/flex-options.Tpo -c -o flex-options.o `test -f 'options.c' || echo './'`options.c
mv -f .deps/flex-options.Tpo .deps/flex-options.Po
gcc -DHAVE_CONFIG_H -I.  -DLOCALEDIR=\"/usr/local/share/locale\"    -g -O2 -MT flex-parse.o -MD -MP -MF .deps/flex-parse.Tpo -c -o flex-parse.o `test -f 'parse.c' || echo './'`parse.c
mv -f .deps/flex-parse.Tpo .deps/flex-parse.Po
gcc -DHAVE_CONFIG_H -I.  -DLOCALEDIR=\"/usr/local/share/locale\"    -g -O2 -MT flex-regex.o -MD -MP -MF .deps/flex-regex.Tpo -c -o flex-regex.o `test -f 'regex.c' || echo './'`regex.c
mv -f .deps/flex-regex.Tpo .deps/flex-regex.Po
gcc -DHAVE_CONFIG_H -I.  -DLOCALEDIR=\"/usr/local/share/locale\"    -g -O2 -MT flex-scanflags.o -MD -MP -MF .deps/flex-scanflags.Tpo -c -o flex-scanflags.o `test -f 'scanflags.c' || echo './'`scanflags.c
mv -f .deps/flex-scanflags.Tpo .deps/flex-scanflags.Po
gcc -DHAVE_CONFIG_H -I.  -DLOCALEDIR=\"/usr/local/share/locale\"    -g -O2 -MT flex-scanopt.o -MD -MP -MF .deps/flex-scanopt.Tpo -c -o flex-scanopt.o `test -f 'scanopt.c' || echo './'`scanopt.c
mv -f .deps/flex-scanopt.Tpo .deps/flex-scanopt.Po
/bin/bash ./mkskel.sh . /usr/bin/m4 2.6.4 > skel.c.tmp
mv -f skel.c.tmp skel.c
gcc -DHAVE_CONFIG_H -I.  -DLOCALEDIR=\"/usr/local/share/locale\"    -g -O2 -MT flex-skel.o -MD -MP -MF .deps/flex-skel.Tpo -c -o flex-skel.o `test -f 'skel.c' || echo './'`skel.c
mv -f .deps/flex-skel.Tpo .deps/flex-skel.Po
gcc -DHAVE_CONFIG_H -I.  -DLOCALEDIR=\"/usr/local/share/locale\"    -g -O2 -MT flex-sym.o -MD -MP -MF .deps/flex-sym.Tpo -c -o flex-sym.o `test -f 'sym.c' || echo './'`sym.c
mv -f .deps/flex-sym.Tpo .deps/flex-sym.Po
gcc -DHAVE_CONFIG_H -I.  -DLOCALEDIR=\"/usr/local/share/locale\"    -g -O2 -MT flex-tables.o -MD -MP -MF .deps/flex-tables.Tpo -c -o flex-tables.o `test -f 'tables.c' || echo './'`tables.c
mv -f .deps/flex-tables.Tpo .deps/flex-tables.Po
gcc -DHAVE_CONFIG_H -I.  -DLOCALEDIR=\"/usr/local/share/locale\"    -g -O2 -MT flex-tables_shared.o -MD -MP -MF .deps/flex-tables_shared.Tpo -c -o flex-tables_shared.o `test -f 'tables_shared.c' || echo './'`tables_shared.c
mv -f .deps/flex-tables_shared.Tpo .deps/flex-tables_shared.Po
gcc -DHAVE_CONFIG_H -I.  -DLOCALEDIR=\"/usr/local/share/locale\"    -g -O2 -MT flex-tblcmp.o -MD -MP -MF .deps/flex-tblcmp.Tpo -c -o flex-tblcmp.o `test -f 'tblcmp.c' || echo './'`tblcmp.c
mv -f .deps/flex-tblcmp.Tpo .deps/flex-tblcmp.Po
gcc -DHAVE_CONFIG_H -I.  -DLOCALEDIR=\"/usr/local/share/locale\"    -g -O2 -MT flex-yylex.o -MD -MP -MF .deps/flex-yylex.Tpo -c -o flex-yylex.o `test -f 'yylex.c' || echo './'`yylex.c
mv -f .deps/flex-yylex.Tpo .deps/flex-yylex.Po
/bin/bash ../build-aux/ylwrap scan.l .c scan.c -- /bin/bash /home/user/flex-master/build-aux/missing flex  
/home/user/flex-master/build-aux/missing: строка 81: flex: команда не найдена
WARNING: 'flex' is missing on your system.
         You should only need it if you modified a '.l' file.
         You may want to install the Fast Lexical Analyzer package:
         <http://flex.sourceforge.net/>
Makefile:1433: ошибка выполнения рецепта для цели «scan.c»
make[2]: *** [scan.c] Ошибка 127
make[2]: выход из каталога «/home/user/flex-master/src»
Makefile:552: ошибка выполнения рецепта для цели «all»
make[1]: *** [all] Ошибка 2
make[1]: выход из каталога «/home/user/flex-master/src»
Makefile:540: ошибка выполнения рецепта для цели «all-recursive»
make: *** [all-recursive] Ошибка 1
user@hostname:~/flex-master$ 
blastwave commented 5 years ago

Time to come back and look at this and figure out a patch that works on a proper release version of flex. The question asked by Will Estes was "Does this still happen against the tip of master?" to which the only answer is "who knows?" because I don't. I can git clone out the flex working code pile and look around but there is no "configure" file and it looks like I need to do some magic with autogen or autoconf and similar to even get that working. So today I will take a look.

So firstly I need to go through the hassle of getting that "working master tip" stuff where I want it to be :

nix$ git clone https://github.com/westes/flex.git Cloning into 'flex'... remote: Enumerating objects: 10753, done. remote: Total 10753 (delta 0), reused 0 (delta 0), pack-reused 10753 Receiving objects: 100% (10753/10753), 3.35 MiB | 20.16 MiB/s, done. Resolving deltas: 100% (7630/7630), done. nix$ dn 20190205184154 nix$ mv flex flex_20190205184154 nix$ tar -cf flex_20190205184154.tar flex_20190205184154 nix$ gzip -9v flex_20190205184154.tar flex_20190205184154.tar: 33.5% -- replaced with flex_20190205184154.tar.gz nix$ openssl dgst -sha256 -r flex_20190205184154.tar.gz
637e952d394ed2f27b2acaf56ef449d43008384a9b169550719fecde68e17ef3 *flex_20190205184154.tar.gz nix$ scp flex_20190205184154.tar.gz corv.tls13.net:.

Great .. so now I have the code pile in a gzipped tarball on some server somewhere and from there I can move it around inside the server pile.

c$ gzip -dc ../src/flex_20190205184154.tar.gz | tar -xf - c$ mv flex_20190205184154 flex_20190205184154_SunOS5.10_sparc64vii+.001 c$ cd flex_20190205184154_SunOS5.10_sparc64vii+.001 c$ ls -ab . .mailmap CODE_OF_CONDUCT.md README.md doc src .. .prev-version COPYING THANKS examples tests .git .travis Makefile.am autogen.sh lib tools .gitignore .travis.yml NEWS configure.ac m4 .indent.pro AUTHORS ONEWS control.ac po c$

okay .. so the first hurdle is to get over the whole "configure" stuff.

Well gee ... do we have that ?

c$ which autoconf /usr/local/bin/autoconf c$ autoconf --version autoconf (GNU Autoconf) 2.69 Copyright (C) 2012 Free Software Foundation, Inc. License GPLv3+/Autoconf: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html, http://gnu.org/licenses/exceptions.html This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

Written by David J. MacKenzie and Akim Demaille. c$

Well that is a good thing.

Do we have a configure.ac file ?

We do .. that is a good thing.

I am cooking with POSIX C99 here and Oracle Studio compiler 12.6 which is very standards compliant. Regardless let's see if we can get a configure script created :

c$ c$ which libtoolize /usr/local/bin/libtoolize c$ which automake /usr/local/bin/automake c$ which autoreconf /usr/local/bin/autoreconf c$ which bison no bison in /usr/local/bin /usr/local/sbin /usr/xpg6/bin /usr/xpg4/bin /usr/ccs/bin /opt/developerstudio12.6/bin /sbin /bin /usr/bin /usr/sbin c$ which yacc /usr/ccs/bin/yacc c$

Well this stuff should "just work"(tm) :

c$ ./autogen.sh
libtoolize (GNU libtool) 2.4.6 Written by Gary V. Vaughan gary@gnu.org, 2003

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. ./autogen.sh: !: not found libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'build-aux'. libtoolize: linking file 'build-aux/config.guess' libtoolize: linking file 'build-aux/config.sub' libtoolize: linking file 'build-aux/install-sh' libtoolize: linking file 'build-aux/ltmain.sh' libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'. libtoolize: linking file 'm4/libtool.m4' libtoolize: linking file 'm4/ltoptions.m4' libtoolize: linking file 'm4/ltsugar.m4' libtoolize: linking file 'm4/ltversion.m4' libtoolize: linking file 'm4/lt~obsolete.m4' Copying file ABOUT-NLS Copying file build-aux/config.rpath Copying file m4/codeset.m4 Copying file m4/extern-inline.m4 Copying file m4/fcntl-o.m4 Copying file m4/gettext.m4 Copying file m4/glibc2.m4 Copying file m4/glibc21.m4 Copying file m4/iconv.m4 Copying file m4/intdiv0.m4 Copying file m4/intl.m4 Copying file m4/intldir.m4 Copying file m4/intlmacosx.m4 Copying file m4/intmax.m4 Copying file m4/inttypes-pri.m4 Copying file m4/inttypes_h.m4 Copying file m4/lcmessage.m4 Copying file m4/lib-ld.m4 Copying file m4/lib-link.m4 Copying file m4/lib-prefix.m4 Copying file m4/lock.m4 Copying file m4/longlong.m4 Copying file m4/nls.m4 Copying file m4/po.m4 Copying file m4/printf-posix.m4 Copying file m4/progtest.m4 Copying file m4/size_max.m4 Copying file m4/stdint_h.m4 Copying file m4/threadlib.m4 Copying file m4/uintmax_t.m4 Copying file m4/visibility.m4 Copying file m4/wchar_t.m4 Copying file m4/wint_t.m4 Copying file m4/xsize.m4 Copying file po/Makefile.in.in Copying file po/Makevars.template Copying file po/Rules-quot Copying file po/boldquot.sed Copying file po/en@boldquot.header Copying file po/en@quot.header Copying file po/insert-header.sin Copying file po/quot.sed Copying file po/remove-potcdate.sin libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'build-aux'. libtoolize: copying file 'build-aux/ltmain.sh' libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'. libtoolize: copying file 'm4/libtool.m4' libtoolize: copying file 'm4/ltoptions.m4' libtoolize: copying file 'm4/ltsugar.m4' libtoolize: copying file 'm4/ltversion.m4' libtoolize: copying file 'm4/lt~obsolete.m4' configure.ac:31: installing 'build-aux/compile' configure.ac:33: installing 'build-aux/missing' doc/Makefile.am:3: installing 'build-aux/mdate-sh' doc/Makefile.am:3: installing 'build-aux/texinfo.tex' src/Makefile.am: installing 'build-aux/depcomp' configure.ac: installing 'build-aux/ylwrap' parallel-tests: installing 'build-aux/test-driver' c$

Well that all looks good.

c$ c$ ./configure --prefix=/usr/local --enable-shared \

--enable-static --enable-dependency-tracking \ --disable-silent-rules --without-gnu-ld \ --with-libiconv-prefix=/usr/local \ --with-libintl-prefix=/usr/local checking for gcc... /opt/developerstudio12.6/bin/c99 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... no checking whether /opt/developerstudio12.6/bin/c99 accepts -g... yes checking for /opt/developerstudio12.6/bin/c99 option to accept ISO C89... none needed checking whether /opt/developerstudio12.6/bin/c99 understands -c and -o together... yes checking how to run the C preprocessor... /opt/developerstudio12.6/bin/c99 -E checking for grep that handles long lines and -e... /usr/local/bin/grep checking for egrep... /usr/local/bin/grep -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 minix/config.h usability... no checking minix/config.h presence... no checking for minix/config.h... no checking whether it is safe to define EXTENSIONS... yes checking build system type... sparc-sun-solaris2.10 checking host system type... sparc-sun-solaris2.10 checking how to print strings... printf checking for a sed that does not truncate output... /usr/local/bin/sed checking for fgrep... /usr/local/bin/grep -F checking for non-GNU ld... /usr/ccs/bin/sparcv9/ld checking if the linker (/usr/ccs/bin/sparcv9/ld) is GNU ld... no checking for BSD- or MS-compatible name lister (nm)... /usr/ccs/bin/sparcv9/nm -p checking the name lister (/usr/ccs/bin/sparcv9/nm -p) interface... BSD nm checking whether ln -s works... yes checking the maximum length of command line arguments... 786240 checking how to convert sparc-sun-solaris2.10 file names to sparc-sun-solaris2.10 format... func_convert_file_noop checking how to convert sparc-sun-solaris2.10 file names to toolchain format... func_convert_file_noop checking for /usr/ccs/bin/sparcv9/ld option to reload object files... -r checking for objdump... no checking how to recognize dependent libraries... pass_all checking for dlltool... no checking how to associate runtime and link libraries... printf %s\n checking for archiver @FILE support... no checking for strip... strip checking for ranlib... ranlib checking for gawk... /usr/local/bin/gawk checking command to parse /usr/ccs/bin/sparcv9/nm -p output from /opt/developerstudio12.6/bin/c99 object... ok checking for sysroot... no checking for a working dd... /bin/dd checking how to truncate binary pipes... /bin/dd bs=4096 count=1 checking for mt... mt checking if mt is a manifest tool... no checking for dlfcn.h... yes checking for objdir... .libs checking for /opt/developerstudio12.6/bin/c99 option to produce PIC... -KPIC -DPIC checking if /opt/developerstudio12.6/bin/c99 PIC flag -KPIC -DPIC works... yes checking if /opt/developerstudio12.6/bin/c99 static flag -Bstatic works... yes checking if /opt/developerstudio12.6/bin/c99 supports -c -o file.o... yes checking if /opt/developerstudio12.6/bin/c99 supports -c -o file.o... (cached) yes checking whether the /opt/developerstudio12.6/bin/c99 linker (/usr/ccs/bin/sparcv9/ld -64) supports shared libraries... yes checking dynamic linker characteristics... solaris2.10 ld.so checking how to hardcode library paths into programs... immediate checking whether stripping libraries is possible... no 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... build-aux/install-sh -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... build-aux/install-sh -c -d checking whether /usr/local/bin/gmake sets $(MAKE)... yes checking whether /usr/local/bin/gmake supports the include directive... yes (GNU style) checking whether /usr/local/bin/gmake supports nested variables... yes checking dependency style of /opt/developerstudio12.6/bin/c99... dashXmstdout checking whether NLS is requested... yes checking for msgfmt... /usr/local/bin/msgfmt checking for gmsgfmt... /bin/gmsgfmt checking for xgettext... /usr/local/bin/xgettext checking for msgmerge... /usr/local/bin/msgmerge checking for non-GNU ld... /usr/ccs/bin/sparcv9/ld -64 checking if the linker (/usr/ccs/bin/sparcv9/ld -64) is GNU ld... no checking for shared library run path origin... done checking for 64-bit host... no checking for CFPreferencesCopyAppValue... no checking for CFLocaleCopyCurrent... no checking for GNU gettext in libc... no checking for iconv... yes checking for working iconv... yes checking how to link with libiconv... /usr/local/lib/libiconv.so -R/usr/local/lib checking for GNU gettext in libintl... yes checking whether to use NLS... yes checking where the gettext function comes from... external libintl checking how to link with libintl... /usr/local/lib/libintl.so /usr/local/lib/libiconv.so -lc -R/usr/local/lib checking for bison... no checking for byacc... no configure: no bison program found: only required for maintainers checking for flex... no checking for lex... lex checking lex output file root... lex.yy checking lex library... -ll checking whether yytext is a pointer... no checking for gcc... (cached) /opt/developerstudio12.6/bin/c99 checking whether we are using the GNU C compiler... (cached) no checking whether /opt/developerstudio12.6/bin/c99 accepts -g... (cached) yes checking for /opt/developerstudio12.6/bin/c99 option to accept ISO C89... (cached) none needed checking whether /opt/developerstudio12.6/bin/c99 understands -c and -o together... (cached) yes checking for gcc... no checking for cc... cc checking whether we are using the GNU C compiler... (cached) no checking whether cc accepts -g... yes checking for cc option to accept ISO C89... (cached) none needed checking whether cc understands -c and -o together... (cached) yes checking how to run the C preprocessor... cc -E checking whether we are using the GNU C++ compiler... no checking whether /opt/developerstudio12.6/bin/CC accepts -g... yes checking how to run the C++ preprocessor... /opt/developerstudio12.6/bin/CC -E checking whether the /opt/developerstudio12.6/bin/CC linker (/usr/ccs/bin/sparcv9/ld -64) supports shared libraries... yes checking for /opt/developerstudio12.6/bin/CC option to produce PIC... -KPIC -DPIC checking if /opt/developerstudio12.6/bin/CC PIC flag -KPIC -DPIC works... yes checking if /opt/developerstudio12.6/bin/CC static flag -Bstatic works... yes checking if /opt/developerstudio12.6/bin/CC supports -c -o file.o... yes checking if /opt/developerstudio12.6/bin/CC supports -c -o file.o... (cached) yes checking whether the /opt/developerstudio12.6/bin/CC linker (/usr/ccs/bin/sparcv9/ld -64) supports shared libraries... yes checking dynamic linker characteristics... solaris2.10 ld.so checking how to hardcode library paths into programs... immediate checking dependency style of /opt/developerstudio12.6/bin/CC... dashXmstdout checking whether ln -s works... yes checking for gawk... (cached) /usr/local/bin/gawk checking for help2man... ${top_srcdir}/build-aux/missing help2man configure: WARNING: help2man: program not found: building man page will not work checking for gtexi2dvi... no checking for texi2dvi... no configure: WARNING: texi2dvi: program not found: building pdf version of manual will not work checking for m4 that supports -P... /usr/local/bin/m4 checking for indent... /opt/developerstudio12.6/bin/indent checking if /opt/developerstudio12.6/bin/indent is GNU indent... no configure: WARNING: /opt/developerstudio12.6/bin/indent does not appear to be GNU indent; 'make indent' may not function properly checking regex.h usability... yes checking regex.h presence... yes checking for regex.h... yes checking for strings.h... (cached) yes checking for sys/stat.h... (cached) yes checking sys/wait.h usability... yes checking sys/wait.h presence... yes checking for sys/wait.h... yes checking for unistd.h... (cached) yes checking for inttypes.h... (cached) yes checking libintl.h usability... yes checking libintl.h presence... yes checking for libintl.h... yes checking limits.h usability... yes checking limits.h presence... yes checking for limits.h... yes checking locale.h usability... yes checking locale.h presence... yes checking for locale.h... yes checking malloc.h usability... yes checking malloc.h presence... yes checking for malloc.h... yes checking netinet/in.h usability... yes checking netinet/in.h presence... yes checking for netinet/in.h... yes checking for pthread_mutex_lock in -lpthread... yes checking pthread.h usability... yes checking pthread.h presence... yes checking for pthread.h... yes checking for log10 in -lm... yes checking for stdbool.h that conforms to C99... yes checking for _Bool... yes checking for an ANSI C-conforming const... yes checking for size_t... yes checking for working alloca.h... yes checking for alloca... yes checking for pid_t... yes checking vfork.h usability... no checking vfork.h presence... no checking for vfork.h... no checking for fork... yes checking for vfork... yes checking for working fork... yes checking for working vfork... (cached) yes checking for stdlib.h... (cached) yes checking for GNU libc compatible malloc... yes checking for stdlib.h... (cached) yes checking for GNU libc compatible realloc... yes checking for dup2... yes checking for memset... yes checking for regcomp... yes checking for strcasecmp... yes checking for strchr... yes checking for strdup... yes checking for strtol... yes checking for pow... yes checking for setlocale... yes checking for reallocarr... no checking for reallocarray... no checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating doc/Makefile config.status: creating examples/Makefile config.status: creating examples/fastwc/Makefile config.status: creating examples/manual/Makefile config.status: creating po/Makefile.in config.status: creating src/libfl.pc config.status: creating src/Makefile config.status: creating tools/Makefile config.status: creating tests/Makefile config.status: creating src/config.h config.status: executing libtool commands config.status: executing depfiles commands config.status: executing po-directories commands config.status: creating po/POTFILES config.status: creating po/Makefile c$

Let's see what GNU make has to say :

c$ which gmake /usr/local/bin/gmake c$ gmake --version GNU Make 4.2.1 Built for sparc-sun-solaris2.10 Copyright (C) 1988-2016 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. c$ c$ /usr/bin/time -p /usr/local/bin/gmake 2>&1 | tee ../flex_20190205184154_SunOS5.10_sparc64vii+.001.compile.log Making all in src gmake[1]: Entering directory '/usr/local/build/flex_20190205184154_SunOS5.10_sparc64vii+.001/src' /usr/local/bin/gmake all-am gmake[2]: Entering directory '/usr/local/build/flex_20190205184154_SunOS5.10_sparc64vii+.001/src' source='buf.c' object='flex-buf.o' libtool=no \ DEPDIR=.deps depmode=dashXmstdout /bin/bash ../build-aux/depcomp \ /opt/developerstudio12.6/bin/c99 -DHAVE_CONFIG_H -I. -DLOCALEDIR=\"/usr/local/share/locale\" -I/usr/local/include -D_POSIX_PTHREAD_SEMANTICS -D_LARGEFILE64_SOURCE -D_TS_ERRNO -m64 -xarch=sparc -Xc -g -mc -xs -errfmt=error -erroff=%none -errshort=full -errtags=yes -errwarn=%none -ftrap=%none -xbuiltin=%none -xildoff -xlibmieee -xstrconst -xcode=pic32 -xmemalign=8s -xnolibmil -xunroll=1 -xregs=no%appl -xdebugformat=dwarf -Qy -D_LARGEFILE64_SOURCE -D_POSIX_PTHREAD_SEMANTICS -D_TS_ERRNO -c -o flex-buf.o test -f 'buf.c' || echo './'buf.c source='ccl.c' object='flex-ccl.o' libtool=no \ DEPDIR=.deps depmode=dashXmstdout /bin/bash ../build-aux/depcomp \ /opt/developerstudio12.6/bin/c99 -DHAVE_CONFIG_H -I. -DLOCALEDIR=\"/usr/local/share/locale\" -I/usr/local/include -D_POSIX_PTHREAD_SEMANTICS -D_LARGEFILE64_SOURCE -D_TS_ERRNO -m64 -xarch=sparc -Xc -g -mc -xs -errfmt=error -erroff=%none -errshort=full -errtags=yes -errwarn=%none -ftrap=%none -xbuiltin=%none -xildoff -xlibmieee -xstrconst -xcode=pic32 -xmemalign=8s -xnolibmil -xunroll=1 -xregs=no%appl -xdebugformat=dwarf -Qy -D_LARGEFILE64_SOURCE -D_POSIX_PTHREAD_SEMANTICS -D_TS_ERRNO -c -o flex-ccl.o test -f 'ccl.c' || echo './'ccl.c source='dfa.c' object='flex-dfa.o' libtool=no \ DEPDIR=.deps depmode=dashXmstdout /bin/bash ../build-aux/depcomp \ /opt/developerstudio12.6/bin/c99 -DHAVE_CONFIG_H -I. -DLOCALEDIR=\"/usr/local/share/locale\" -I/usr/local/include -D_POSIX_PTHREAD_SEMANTICS -D_LARGEFILE64_SOURCE -D_TS_ERRNO -m64 -xarch=sparc -Xc -g -mc -xs -errfmt=error -erroff=%none -errshort=full -errtags=yes -errwarn=%none -ftrap=%none -xbuiltin=%none -xildoff -xlibmieee -xstrconst -xcode=pic32 -xmemalign=8s -xnolibmil -xunroll=1 -xregs=no%appl -xdebugformat=dwarf -Qy -D_LARGEFILE64_SOURCE -D_POSIX_PTHREAD_SEMANTICS -D_TS_ERRNO -c -o flex-dfa.o test -f 'dfa.c' || echo './'dfa.c source='ecs.c' object='flex-ecs.o' libtool=no \ DEPDIR=.deps depmode=dashXmstdout /bin/bash ../build-aux/depcomp \ /opt/developerstudio12.6/bin/c99 -DHAVE_CONFIG_H -I. -DLOCALEDIR=\"/usr/local/share/locale\" -I/usr/local/include -D_POSIX_PTHREAD_SEMANTICS -D_LARGEFILE64_SOURCE -D_TS_ERRNO -m64 -xarch=sparc -Xc -g -mc -xs -errfmt=error -erroff=%none -errshort=full -errtags=yes -errwarn=%none -ftrap=%none -xbuiltin=%none -xildoff -xlibmieee -xstrconst -xcode=pic32 -xmemalign=8s -xnolibmil -xunroll=1 -xregs=no%appl -xdebugformat=dwarf -Qy -D_LARGEFILE64_SOURCE -D_POSIX_PTHREAD_SEMANTICS -D_TS_ERRNO -c -o flex-ecs.o test -f 'ecs.c' || echo './'ecs.c source='filter.c' object='flex-filter.o' libtool=no \ DEPDIR=.deps depmode=dashXmstdout /bin/bash ../build-aux/depcomp \ /opt/developerstudio12.6/bin/c99 -DHAVE_CONFIG_H -I. -DLOCALEDIR=\"/usr/local/share/locale\" -I/usr/local/include -D_POSIX_PTHREAD_SEMANTICS -D_LARGEFILE64_SOURCE -D_TS_ERRNO -m64 -xarch=sparc -Xc -g -mc -xs -errfmt=error -erroff=%none -errshort=full -errtags=yes -errwarn=%none -ftrap=%none -xbuiltin=%none -xildoff -xlibmieee -xstrconst -xcode=pic32 -xmemalign=8s -xnolibmil -xunroll=1 -xregs=no%appl -xdebugformat=dwarf -Qy -D_LARGEFILE64_SOURCE -D_POSIX_PTHREAD_SEMANTICS -D_TS_ERRNO -c -o flex-filter.o test -f 'filter.c' || echo './'filter.c source='gen.c' object='flex-gen.o' libtool=no \ DEPDIR=.deps depmode=dashXmstdout /bin/bash ../build-aux/depcomp \ /opt/developerstudio12.6/bin/c99 -DHAVE_CONFIG_H -I. -DLOCALEDIR=\"/usr/local/share/locale\" -I/usr/local/include -D_POSIX_PTHREAD_SEMANTICS -D_LARGEFILE64_SOURCE -D_TS_ERRNO -m64 -xarch=sparc -Xc -g -mc -xs -errfmt=error -erroff=%none -errshort=full -errtags=yes -errwarn=%none -ftrap=%none -xbuiltin=%none -xildoff -xlibmieee -xstrconst -xcode=pic32 -xmemalign=8s -xnolibmil -xunroll=1 -xregs=no%appl -xdebugformat=dwarf -Qy -D_LARGEFILE64_SOURCE -D_POSIX_PTHREAD_SEMANTICS -D_TS_ERRNO -c -o flex-gen.o test -f 'gen.c' || echo './'gen.c /bin/bash ../build-aux/ylwrap parse.y y.tab.c parse.c y.tab.h echo parse.c | sed -e s/cc$/hh/ -e s/cpp$/hpp/ -e s/cxx$/hxx/ -e s/c++$/h++/ -e s/c$/h/ y.output parse.output -- ../build-aux/missing bison -y -d /usr/local/build/flex_20190205184154_SunOS5.10_sparc64vii+.001/src/../build-aux/missing: bison: not found gmake[2]: [Makefile:1474: parse.c] Error 1 gmake[2]: Leaving directory '/usr/local/build/flex_20190205184154_SunOS5.10_sparc64vii+.001/src' gmake[1]: [Makefile:581: all] Error 2 gmake[1]: Leaving directory '/usr/local/build/flex_20190205184154_SunOS5.10_sparc64vii+.001/src' gmake: *** [Makefile:539: all-recursive] Error 1

real 2.43 user 1.51 sys 0.40 c$

Oh well ... that is not good.

Looks like bison is needed.

So let's fetch a PRODUCTION RELEASE version of bison and get that going :

This --> https://ftp.gnu.org/pub/gnu/bison/bison-3.3.2.tar.gz

Released yesterday ! Very cool. The bits are still warm.

I think I may land inside the dependency loop of life becasue flex is needed all over the place and bison will want flex which wants bision which wants flex which ... . . . checking for flex... no checking for lex... lex checking whether lex is flex... no checking lex output file root... lex.yy checking lex library... -ll checking whether yytext is a pointer... no configure: WARNING: bypassing lex because flex is required checking for bison... /usr/ccs/bin/yacc

Well maybe this will work.

Turns out .. yes it does compile but blows up on its own tests. Well maybe I can use the binary in the bison src directory to get flex going?

So I stuff that new bison binary into $HOME/local/bin and add that to the PATH and also set up env var BISON=$HOME/local/bin/bison which we know is untested and may or may not work as intended. Going over the process again I now get configure which tells me that yes new bison was in deed found :

checking how to link with libintl... /usr/local/lib/libintl.so /usr/local/lib/libiconv.so -lc -R/usr/local/lib checking for bison... bison -y checking for flex... no checking for lex... lex checking lex output file root... lex.yy checking lex library... -ll checking whether yytext is a pointer... no checking for gcc... (cached) /opt/developerstudio12.6/bin/c99 checking whether we are using the GNU C compiler... (cached) no checking whether /opt/developerstudio12.6/bin/c99 accepts -g... (cached) yes checking for /opt/developerstudio12.6/bin/c99 option to accept ISO C89... (cached) none needed checking whether /opt/developerstudio12.6/bin/c99 understands -c and -o together... (cached) yes checking for gcc... no checking for cc... cc . . .

The process blows up again because while bison has been found there are M4 macro files that are not found :

/usr/local/share/bison/m4sugar/m4sugar.m4: cannot open: No such file or directory

So at this point I will shut down the server and take a filesystem snapshot and then bring it back up and install the previously built bison which is untested. That should create the files needed inside /usr/local/share as well as all the other bits that bison needs. Then try again and if possible get past this bison burp and perhaps even get flex installed and then rebuild bison again as well as some day sqlite-src-3260000 which needs flex. Then roll back that snapshot ( maybe ) and try to get bison fixed and installed and then get a release version of flex.

So there is another few hours of the day for flex .. not a lot of progress yet. Thankfully the bison folks still have a maillist and maybe I can get past the testing burp there : https://lists.gnu.org/archive/html/bug-bison/2019-02/msg00010.html

blastwave commented 5 years ago

Well I can update this that with fresh bison installed the master code blows up in different ways :

/bin/bash ./mkskel.sh . /usr/local/bin/m4 2.6.4 > skel.c.tmp mv -f skel.c.tmp skel.c source='skel.c' object='flex-skel.o' libtool=no \ DEPDIR=.deps depmode=dashXmstdout /bin/bash ../build-aux/depcomp \ /opt/developerstudio12.6/bin/c99 -DHAVE_CONFIG_H -I. -DLOCALEDIR=\"/usr/local/share/locale\" -I/usr/local/include -D_POSIX_PTHREAD_SEMANTICS -D_LARGEFILE64_SOURCE -D_TS_ERRNO -m64 -xarch=sparc -Xc -g -mc -xs -errfmt=error -erroff=%none -errshort=full -errtags=yes -errwarn=%none -ftrap=%none -xbuiltin=%none -xildoff -xlibmieee -xstrconst -xcode=pic32 -xmemalign=8s -xnolibmil -xunroll=1 -xregs=no%appl -xdebugformat=dwarf -Qy -D_LARGEFILE64_SOURCE -D_POSIX_PTHREAD_SEMANTICS -D_TS_ERRNO -c -o flex-skel.o test -f 'skel.c' || echo './'skel.c "skel.c", line 6: error: undefined symbol: r "skel.c", line 6: warning: improper pointer/integer combination: op "=" (E_BAD_PTR_INT_COMBINATION) "skel.c", line 6: error: non-constant initializer involving a cast "skel.c", line 6: error: syntax error before or at: generated "skel.c", line 455: error: newline in character constant "skel.c", line 455: warning: nonportable character constant (E_NONPORTABLE_CHAR_CONST) "skel.c", line 455: warning: character constant too long (E_CHAR_CONST_TOO_LONG) "skel.c", line 459: error: newline in character constant "skel.c", line 459: warning: nonportable character constant (E_NONPORTABLE_CHAR_CONST) "skel.c", line 459: warning: character constant too long (E_CHAR_CONST_TOO_LONG) "skel.c", line 464: error: invalid source character: '\' "skel.c", line 561: error: invalid token: 0..255 "skel.c", line 656: error: invalid source character: '\' "skel.c", line 656: error: newline in string literal "skel.c", line 664: error: invalid token: 16k "skel.c", line 664: error: invalid token: 8k. "skel.c", line 716: error: invalid source character: '\' "skel.c", line 717: error: invalid source character: '\' "skel.c", line 718: error: invalid source character: '\' "skel.c", line 719: error: invalid source character: '\' "skel.c", line 720: error: invalid source character: '\' "skel.c", line 720: error: invalid source character: '\' "skel.c", line 720: error: newline in character constant "skel.c", line 720: warning: dubious escape: \ (E_DUBIOUS_ESCAPE_CHAR) "skel.c", line 720: warning: dubious escape: \ (E_DUBIOUS_ESCAPE_CHAR) "skel.c", line 720: warning: nonportable character constant (E_NONPORTABLE_CHAR_CONST) "skel.c", line 720: warning: character constant too long (E_CHAR_CONST_TOO_LONG) "skel.c", line 723: error: invalid source character: '\' "skel.c", line 724: error: invalid source character: '\' "skel.c", line 725: error: invalid source character: '\' "skel.c", line 726: error: invalid source character: '\' "skel.c", line 727: error: invalid source character: '\' "skel.c", line 727: error: invalid source character: '\' "skel.c", line 727: error: newline in character constant "skel.c", line 727: warning: dubious escape: \ (E_DUBIOUS_ESCAPE_CHAR) "skel.c", line 727: warning: dubious escape: \ (E_DUBIOUS_ESCAPE_CHAR) "skel.c", line 727: warning: nonportable character constant (E_NONPORTABLE_CHAR_CONST) "skel.c", line 727: warning: character constant too long (E_CHAR_CONST_TOO_LONG) "skel.c", line 735: error: invalid source character: '\' "skel.c", line 735: error: newline in string literal "skel.c", line 736: error: invalid source character: '\' "skel.c", line 737: error: invalid source character: '\' "skel.c", line 738: error: invalid source character: '\' "skel.c", line 739: error: invalid source character: '\' "skel.c", line 740: error: invalid source character: '\' "skel.c", line 741: error: invalid source character: '\' "skel.c", line 742: error: invalid source character: '\' "skel.c", line 743: error: invalid source character: '\' "skel.c", line 744: error: invalid source character: '\' "skel.c", line 745: error: invalid source character: '\' "skel.c", line 746: error: invalid source character: '\' "skel.c", line 777: error: invalid source character: '\' "skel.c", line 777: error: newline in string literal "skel.c", line 783: error: invalid source character: '\' "skel.c", line 783: error: newline in string literal "skel.c", line 790: error: newline in character constant "skel.c", line 790: warning: nonportable character constant (E_NONPORTABLE_CHAR_CONST) "skel.c", line 790: warning: character constant too long (E_CHAR_CONST_TOO_LONG) "skel.c", line 810: error: newline in character constant "skel.c", line 810: warning: nonportable character constant (E_NONPORTABLE_CHAR_CONST) "skel.c", line 810: warning: character constant too long (E_CHAR_CONST_TOO_LONG) "skel.c", line 816: error: invalid source character: '\' "skel.c", line 816: error: newline in string literal "skel.c", line 841: error: invalid source character: '\' "skel.c", line 841: error: newline in string literal "skel.c", line 845: error: invalid source character: '\' "skel.c", line 846: error: invalid source character: '\' "skel.c", line 868: error: newline in character constant "skel.c", line 868: warning: nonportable character constant (E_NONPORTABLE_CHAR_CONST) "skel.c", line 868: warning: character constant too long (E_CHAR_CONST_TOO_LONG) "skel.c", line 904: error: invalid source character: '\' "skel.c", line 905: error: invalid source character: '\' "skel.c", line 906: error: invalid source character: '\' "skel.c", line 907: error: invalid source character: '\' "skel.c", line 908: error: invalid source character: '\' "skel.c", line 909: error: invalid source character: '\' "skel.c", line 910: error: invalid source character: '\' "skel.c", line 911: error: invalid source character: '\' "skel.c", line 913: error: invalid source character: '\' "skel.c", line 914: error: invalid source character: '\' "skel.c", line 915: error: invalid source character: '\' "skel.c", line 916: error: invalid source character: '\' "skel.c", line 917: error: invalid source character: '\' "skel.c", line 918: error: invalid source character: '\' "skel.c", line 919: error: invalid source character: '\' "skel.c", line 920: error: invalid source character: '\' "skel.c", line 949: error: invalid source character: '\' "skel.c", line 950: error: invalid source character: '\' "skel.c", line 951: error: invalid source character: '\' "skel.c", line 952: error: invalid source character: '\' "skel.c", line 953: error: invalid source character: '\' "skel.c", line 953: error: invalid source character: '\' "skel.c", line 953: error: newline in character constant "skel.c", line 953: warning: dubious escape: \ (E_DUBIOUS_ESCAPE_CHAR) "skel.c", line 953: warning: dubious escape: \ (E_DUBIOUS_ESCAPE_CHAR) "skel.c", line 953: warning: nonportable character constant (E_NONPORTABLE_CHAR_CONST) "skel.c", line 953: warning: character constant too long (E_CHAR_CONST_TOO_LONG) "skel.c", line 956: error: newline in character constant "skel.c", line 956: warning: nonportable character constant (E_NONPORTABLE_CHAR_CONST) "skel.c", line 956: warning: character constant too long (E_CHAR_CONST_TOO_LONG) "skel.c", line 966: error: invalid source character: '\' "skel.c", line 966: error: newline in string literal "skel.c", line 967: error: newline in character constant "skel.c", line 967: warning: nonportable character constant (E_NONPORTABLE_CHAR_CONST) "skel.c", line 967: warning: character constant too long (E_CHAR_CONST_TOO_LONG) "skel.c", line 1031: error: newline in character constant "skel.c", line 1031: warning: nonportable character constant (E_NONPORTABLE_CHAR_CONST) "skel.c", line 1031: warning: character constant too long (E_CHAR_CONST_TOO_LONG) "skel.c", line 1208: error: invalid source character: '\' "skel.c", line 1208: error: newline in string literal "skel.c", line 1286: error: invalid token: 16k "skel.c", line 1286: error: invalid token: 8k "skel.c", line 1298: error: newline in character constant "skel.c", line 1298: warning: nonportable character constant (E_NONPORTABLE_CHAR_CONST) "skel.c", line 1304: warning: old-style declaration or incorrect type for: rOutput (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1305: error: syntax error before or at: "%endif" "skel.c", line 1311: error: invalid source character: '\' "skel.c", line 1311: error: newline in string literal "skel.c", line 1312: warning: old-style declaration or incorrect type for: returned (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1312: error: invalid source character: '\' "skel.c", line 1312: error: newline in string literal "skel.c", line 1312: warning: old-style declaration or incorrect type for: in (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1315: warning: old-style declaration or incorrect type for: result (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1315: warning: old-style declaration or incorrect type for: max_size (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1315: error: syntax error before or at: ) "skel.c", line 1315: error: invalid source character: '\' "skel.c", line 1316: warning: old-style declaration or incorrect type for: read (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1316: error: identifier redeclared: read current : function() returning int previous: function(int, pointer to void, unsigned long) returning long : "/usr/include/unistd.h", line 441 "skel.c", line 1316: error: syntax error before or at: / "skel.c", line 1316: warning: old-style declaration or incorrect type for: read (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1316: error: identifier redefined: read current : function() returning int previous: function() returning int : "skel.c", line 1316 "skel.c", line 1316: error: syntax error before or at: definition "skel.c", line 1316: warning: old-style declaration or incorrect type for: definition (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1316: warning: old-style declaration or incorrect type for: of (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1316: warning: old-style declaration or incorrect type for: YY_INPUT (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1316: warning: old-style declaration or incorrect type for: goes (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1316: warning: old-style declaration or incorrect type for: here (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1316: warning: old-style declaration or incorrect type for: unless (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1316: error: newline in character constant "skel.c", line 1316: warning: dubious escape: \ (E_DUBIOUS_ESCAPE_CHAR) "skel.c", line 1316: warning: dubious escape: \ (E_DUBIOUS_ESCAPE_CHAR) "skel.c", line 1316: warning: dubious escape: \ (E_DUBIOUS_ESCAPE_CHAR) "skel.c", line 1316: warning: dubious escape: \ (E_DUBIOUS_ESCAPE_CHAR) "skel.c", line 1316: warning: nonportable character constant (E_NONPORTABLE_CHAR_CONST) "skel.c", line 1316: warning: character constant too long (E_CHAR_CONST_TOO_LONG) "skel.c", line 1316: warning: old-style declaration or incorrect type for: we (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1328: warning: old-style declaration or incorrect type for: r (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1328: error: identifier redeclared: r current : int previous: int : "skel.c", line 6 "skel.c", line 1328: warning: syntax error: empty declaration (E_EMPTY_DECLARATION) "skel.c", line 1328: warning: old-style declaration or incorrect type for: correct (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1328: warning: old-style declaration or incorrect type for: usage (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1328: error: identifier redeclared: usage current : int previous: function(void) returning void : "flexdef.h", line 780 "skel.c", line 1328: warning: old-style declaration or incorrect type for: is (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1328: warning: old-style declaration or incorrect type for: to (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1328: error: invalid source character: '\' "skel.c", line 1328: error: newline in string literal "skel.c", line 1328: warning: old-style declaration or incorrect type for: write (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1328: error: identifier redeclared: write current : int previous: function(int, pointer to const void, unsigned long) returning long : "/usr/include/unistd.h", line 540 "skel.c", line 1329: warning: old-style declaration or incorrect type for: ra (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1329: warning: old-style declaration or incorrect type for: after (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1329: error: invalid source character: '\' "skel.c", line 1329: error: newline in string literal "skel.c", line 1329: warning: old-style declaration or incorrect type for: the (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1330: warning: old-style declaration or incorrect type for: rs (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1330: warning: old-style declaration or incorrect type for: to (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1330: warning: old-style declaration or incorrect type for: complain (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1330: warning: old-style declaration or incorrect type for: about (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1330: warning: old-style declaration or incorrect type for: unreachable (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1330: warning: old-style declaration or incorrect type for: statements (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1332: warning: old-style declaration or incorrect type for: rminate (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1333: warning: old-style declaration or incorrect type for: rminate (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1333: error: identifier redeclared: rminate current : function() returning int previous: int : "skel.c", line 1332 "skel.c", line 1333: error: syntax error before or at: return "skel.c", line 1333: warning: old-style declaration or incorrect type for: YY_NULL (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1337: warning: old-style declaration or incorrect type for: r (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1337: warning: old-style declaration or incorrect type for: of (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1337: warning: old-style declaration or incorrect type for: entries (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1337: warning: old-style declaration or incorrect type for: by (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1337: warning: old-style declaration or incorrect type for: which (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1337: warning: old-style declaration or incorrect type for: start (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1337: warning: old-style declaration or incorrect type for: condition (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1337: warning: old-style declaration or incorrect type for: stack (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1337: warning: old-style declaration or incorrect type for: grows (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1344: warning: old-style declaration or incorrect type for: rt (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1344: warning: old-style declaration or incorrect type for: a (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1344: warning: old-style declaration or incorrect type for: fatal (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1344: warning: old-style declaration or incorrect type for: error (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1347: error: syntax error before or at: M4_YY_CALL_LAST_ARG "skel.c", line 1347: warning: undefined or missing type for: M4_YY_CALL_LAST_ARG (E_UNDEFINED_OR_MISSING_TYPE) "skel.c", line 1347: warning: old-style declaration or incorrect type for: rror (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1350: warning: old-style declaration or incorrect type for: rError (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1351: error: syntax error before or at: "%endif" "skel.c", line 1355: warning: old-style declaration or incorrect type for: rialization (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1355: warning: old-style declaration or incorrect type for: structures (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1355: warning: old-style declaration or incorrect type for: and (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1355: warning: old-style declaration or incorrect type for: prototypes (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1358: warning: old-style declaration or incorrect type for: red (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1358: warning: old-style declaration or incorrect type for: h (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1358: warning: old-style declaration or incorrect type for: tables (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1358: warning: old-style declaration or incorrect type for: serialization (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1358: warning: old-style declaration or incorrect type for: header (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1360: warning: old-style declaration or incorrect type for: right (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1360: error: syntax error before or at: 1990 "skel.c", line 1360: warning: old-style declaration or incorrect type for: The (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1360: warning: old-style declaration or incorrect type for: Regents (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1360: warning: old-style declaration or incorrect type for: of (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1360: warning: old-style declaration or incorrect type for: the (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1360: warning: old-style declaration or incorrect type for: University (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1360: warning: old-style declaration or incorrect type for: of (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1360: warning: old-style declaration or incorrect type for: California (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1361: warning: old-style declaration or incorrect type for: rights (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1361: warning: old-style declaration or incorrect type for: reserved (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1363: warning: old-style declaration or incorrect type for: rived (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1363: warning: old-style declaration or incorrect type for: from (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1363: warning: old-style declaration or incorrect type for: software (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1363: warning: old-style declaration or incorrect type for: contributed (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1363: warning: old-style declaration or incorrect type for: to (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1363: warning: old-style declaration or incorrect type for: Berkeley (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1363: warning: old-style declaration or incorrect type for: by (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1364: warning: old-style declaration or incorrect type for: rn (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1364: warning: old-style declaration or incorrect type for: Paxson (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1366: warning: old-style declaration or incorrect type for: rnment (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1366: warning: old-style declaration or incorrect type for: has (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1366: warning: old-style declaration or incorrect type for: rights (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1366: warning: old-style declaration or incorrect type for: in (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1366: warning: old-style declaration or incorrect type for: this (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1366: warning: old-style declaration or incorrect type for: work (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1366: warning: old-style declaration or incorrect type for: pursuant (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1367: warning: old-style declaration or incorrect type for: ract (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1367: warning: old-style declaration or incorrect type for: no (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1367: warning: old-style declaration or incorrect type for: DE (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1367: warning: old-style declaration or incorrect type for: AC03 (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1367: error: invalid token: 76SF00098 "skel.c", line 1367: warning: old-style declaration or incorrect type for: between (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1367: warning: old-style declaration or incorrect type for: the (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1367: warning: old-style declaration or incorrect type for: United (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1367: warning: old-style declaration or incorrect type for: States (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1368: warning: old-style declaration or incorrect type for: rtment (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1368: warning: old-style declaration or incorrect type for: of (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1368: warning: old-style declaration or incorrect type for: Energy (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1368: warning: old-style declaration or incorrect type for: and (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1368: warning: old-style declaration or incorrect type for: the (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1368: warning: old-style declaration or incorrect type for: University (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1368: warning: old-style declaration or incorrect type for: of (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1368: warning: old-style declaration or incorrect type for: California (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1370: warning: old-style declaration or incorrect type for: rt (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1370: warning: old-style declaration or incorrect type for: of (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1370: warning: old-style declaration or incorrect type for: flex (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1372: warning: old-style declaration or incorrect type for: ribution (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1372: warning: old-style declaration or incorrect type for: and (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1372: warning: old-style declaration or incorrect type for: use (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1372: warning: old-style declaration or incorrect type for: in (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1372: warning: old-style declaration or incorrect type for: source (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1372: warning: old-style declaration or incorrect type for: and (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1372: warning: old-style declaration or incorrect type for: binary (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1372: warning: old-style declaration or incorrect type for: forms (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1372: warning: old-style declaration or incorrect type for: with (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1372: error: syntax error before or at: or "skel.c", line 1372: warning: old-style declaration or incorrect type for: or (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1372: warning: old-style declaration or incorrect type for: without (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1373: warning: old-style declaration or incorrect type for: re (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1373: warning: old-style declaration or incorrect type for: permitted (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1373: warning: old-style declaration or incorrect type for: provided (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1373: warning: old-style declaration or incorrect type for: that (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1373: warning: old-style declaration or incorrect type for: the (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1373: warning: old-style declaration or incorrect type for: following (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1373: warning: old-style declaration or incorrect type for: conditions (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1374: warning: old-style declaration or incorrect type for: re (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1374: warning: old-style declaration or incorrect type for: met (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1376: warning: old-style declaration or incorrect type for: ributions (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1376: warning: old-style declaration or incorrect type for: of (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1376: warning: old-style declaration or incorrect type for: source (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1376: warning: old-style declaration or incorrect type for: code (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1376: warning: old-style declaration or incorrect type for: must (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1376: warning: old-style declaration or incorrect type for: retain (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1376: warning: old-style declaration or incorrect type for: the (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1376: warning: old-style declaration or incorrect type for: above (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1376: warning: old-style declaration or incorrect type for: copyright (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1377: warning: old-style declaration or incorrect type for: r (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1378: warning: old-style declaration or incorrect type for: ributions (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1378: warning: old-style declaration or incorrect type for: in (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1378: warning: old-style declaration or incorrect type for: binary (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1378: warning: old-style declaration or incorrect type for: form (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1378: warning: old-style declaration or incorrect type for: must (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1378: warning: old-style declaration or incorrect type for: reproduce (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1378: warning: old-style declaration or incorrect type for: the (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1378: warning: old-style declaration or incorrect type for: above (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1378: warning: old-style declaration or incorrect type for: copyright (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1379: warning: old-style declaration or incorrect type for: r (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1379: warning: old-style declaration or incorrect type for: in (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1379: warning: old-style declaration or incorrect type for: the (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1380: warning: old-style declaration or incorrect type for: r (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1380: warning: old-style declaration or incorrect type for: other (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1380: warning: old-style declaration or incorrect type for: materials (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1380: warning: old-style declaration or incorrect type for: provided (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1380: warning: old-style declaration or incorrect type for: with (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1380: warning: old-style declaration or incorrect type for: the (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1380: warning: old-style declaration or incorrect type for: distribution (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1382: warning: old-style declaration or incorrect type for: r (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1382: warning: old-style declaration or incorrect type for: the (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1382: warning: old-style declaration or incorrect type for: name (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1382: warning: old-style declaration or incorrect type for: of (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1382: warning: old-style declaration or incorrect type for: the (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1382: warning: old-style declaration or incorrect type for: University (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1382: warning: old-style declaration or incorrect type for: nor (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1382: warning: old-style declaration or incorrect type for: the (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1382: warning: old-style declaration or incorrect type for: names (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1382: warning: old-style declaration or incorrect type for: of (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1382: warning: old-style declaration or incorrect type for: its (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1382: warning: old-style declaration or incorrect type for: contributors (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1383: warning: old-style declaration or incorrect type for: rse (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1383: warning: old-style declaration or incorrect type for: or (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1383: warning: old-style declaration or incorrect type for: promote (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1383: warning: old-style declaration or incorrect type for: products (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1383: warning: old-style declaration or incorrect type for: derived (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1383: warning: old-style declaration or incorrect type for: from (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1383: warning: old-style declaration or incorrect type for: this (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1383: warning: old-style declaration or incorrect type for: software (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1384: warning: old-style declaration or incorrect type for: rior (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1384: warning: old-style declaration or incorrect type for: written (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1384: warning: old-style declaration or incorrect type for: permission (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1393: error: invalid source character: '\' "skel.c", line 1393: error: newline in string literal "skel.c", line 1404: warning: old-style declaration or incorrect type for: ructures (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1404: warning: old-style declaration or incorrect type for: and (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1404: warning: old-style declaration or incorrect type for: prototypes (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1404: warning: old-style declaration or incorrect type for: serializing (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1404: warning: old-style declaration or incorrect type for: flex (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1404: warning: old-style declaration or incorrect type for: tables (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1404: warning: old-style declaration or incorrect type for: The (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1405: warning: old-style declaration or incorrect type for: ry (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1405: warning: old-style declaration or incorrect type for: format (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1405: warning: old-style declaration or incorrect type for: is (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1405: warning: old-style declaration or incorrect type for: documented (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1405: warning: old-style declaration or incorrect type for: in (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1405: warning: old-style declaration or incorrect type for: the (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1405: warning: old-style declaration or incorrect type for: manual (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1407: warning: old-style declaration or incorrect type for: rations (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1409: warning: old-style declaration or incorrect type for: rmat (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1409: warning: old-style declaration or incorrect type for: allows (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1409: warning: old-style declaration or incorrect type for: many (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1409: warning: old-style declaration or incorrect type for: tables (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1409: warning: old-style declaration or incorrect type for: per (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1409: warning: old-style declaration or incorrect type for: file (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1410: warning: old-style declaration or incorrect type for: reamed (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1411: warning: old-style declaration or incorrect type for: red (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1411: warning: old-style declaration or incorrect type for: in (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1411: warning: old-style declaration or incorrect type for: network (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1411: warning: old-style declaration or incorrect type for: byte (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1411: warning: old-style declaration or incorrect type for: order (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1412: warning: old-style declaration or incorrect type for: r (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1412: warning: old-style declaration or incorrect type for: future (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1412: warning: old-style declaration or incorrect type for: unicode (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1412: warning: old-style declaration or incorrect type for: support (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1416: warning: old-style declaration or incorrect type for: r (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1416: warning: old-style declaration or incorrect type for: serialized (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1416: warning: old-style declaration or incorrect type for: format (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1423: warning: old-style declaration or incorrect type for: r (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1423: warning: old-style declaration or incorrect type for: td_id (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1423: warning: old-style declaration or incorrect type for: field (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1423: warning: old-style declaration or incorrect type for: Each (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1423: warning: old-style declaration or incorrect type for: one (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1423: warning: old-style declaration or incorrect type for: corresponds (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1423: warning: old-style declaration or incorrect type for: to (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1423: warning: old-style declaration or incorrect type for: a (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1424: warning: old-style declaration or incorrect type for: r (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1424: warning: old-style declaration or incorrect type for: table (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1424: warning: old-style declaration or incorrect type for: of (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1424: warning: old-style declaration or incorrect type for: the (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1424: warning: old-style declaration or incorrect type for: same (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1424: warning: old-style declaration or incorrect type for: name (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1436: warning: old-style declaration or incorrect type for: rans (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1436: warning: old-style declaration or incorrect type for: tbl (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1437: warning: old-style declaration or incorrect type for: ructs (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1441: warning: old-style declaration or incorrect type for: r (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1441: warning: old-style declaration or incorrect type for: t_flags (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1441: warning: old-style declaration or incorrect type for: field (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1441: warning: old-style declaration or incorrect type for: of (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1441: error: syntax error before or at: / "skel.c", line 1443: warning: old-style declaration or incorrect type for: rst (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1443: warning: old-style declaration or incorrect type for: three (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1443: warning: old-style declaration or incorrect type for: are (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1443: warning: old-style declaration or incorrect type for: mutually (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1443: warning: old-style declaration or incorrect type for: exclusive (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1444: warning: old-style declaration or incorrect type for: rray (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1444: warning: old-style declaration or incorrect type for: of (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1444: warning: old-style declaration or incorrect type for: type (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1445: warning: old-style declaration or incorrect type for: rray (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1445: warning: old-style declaration or incorrect type for: of (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1445: warning: old-style declaration or incorrect type for: type (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1446: warning: old-style declaration or incorrect type for: rray (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1446: warning: old-style declaration or incorrect type for: of (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1446: warning: old-style declaration or incorrect type for: type (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1448: warning: old-style declaration or incorrect type for: re (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1448: warning: old-style declaration or incorrect type for: mutually (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1448: warning: old-style declaration or incorrect type for: exclusive (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1449: warning: old-style declaration or incorrect type for: ries (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1450: warning: old-style declaration or incorrect type for: ransition (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1451: warning: old-style declaration or incorrect type for: rray (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1451: warning: old-style declaration or incorrect type for: See (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1451: warning: old-style declaration or incorrect type for: notes (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1451: warning: old-style declaration or incorrect type for: in (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1451: warning: old-style declaration or incorrect type for: manual (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1452: warning: old-style declaration or incorrect type for: rans_info (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1452: warning: old-style declaration or incorrect type for: structs (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1455: warning: old-style declaration or incorrect type for: rialized (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1455: warning: old-style declaration or incorrect type for: tables (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1455: warning: old-style declaration or incorrect type for: header (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1456: warning: old-style declaration or incorrect type for: ruct (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1456: warning: old-style declaration or incorrect type for: yytbl_hdr (E_OLD_STYLE_DECL_OR_BAD_TYPE) "skel.c", line 1457: error: invalid source character: '\' "skel.c", line 1457: error: newline in string literal "skel.c", line 1477: error: invalid source character: '\' "skel.c", line 1478: error: invalid source character: '\' "skel.c", line 1479: error: invalid source character: '\' "skel.c", line 1480: error: invalid source character: '\' "skel.c", line 1481: error: invalid source character: '\' "skel.c", line 1504: error: invalid source character: '\' "skel.c", line 1504: error: newline in string literal "skel.c", line 1547: error: invalid source character: '\' "skel.c", line 1547: error: invalid source character: '\' "skel.c", line 1549: error: invalid source character: '\' "skel.c", line 1549: error: invalid source character: '\' "skel.c", line 1557: error: invalid source character: '\' "skel.c", line 1557: error: invalid source character: '\' "skel.c", line 1559: error: invalid source character: '\' "skel.c", line 1559: error: invalid source character: '\' "skel.c", line 1641: error: invalid source character: '\' "skel.c", line 1641: error: newline in string literal "skel.c", line 1673: error: newline in character constant "skel.c", line 1673: warning: nonportable character constant (E_NONPORTABLE_CHAR_CONST) "skel.c", line 1673: warning: character constant too long (E_CHAR_CONST_TOO_LONG) "skel.c", line 1716: error: newline in character constant "skel.c", line 1735: error: invalid source character: '\' "skel.c", line 1735: error: newline in string literal "skel.c", line 1751: error: newline in character constant "skel.c", line 1751: warning: nonportable character constant (E_NONPORTABLE_CHAR_CONST) "skel.c", line 1751: warning: character constant too long (E_CHAR_CONST_TOO_LONG) "skel.c", line 1753: error: newline in character constant "skel.c", line 1753: warning: nonportable character constant (E_NONPORTABLE_CHAR_CONST) "skel.c", line 1753: warning: character constant too long (E_CHAR_CONST_TOO_LONG) "skel.c", line 1834: error: invalid source character: '\' "skel.c", line 1834: error: newline in string literal "skel.c", line 1837: error: newline in character constant "skel.c", line 1837: warning: nonportable character constant (E_NONPORTABLE_CHAR_CONST) "skel.c", line 1837: warning: character constant too long (E_CHAR_CONST_TOO_LONG) "skel.c", line 1995: error: invalid source character: '\' "skel.c", line 1995: error: newline in string literal "skel.c", line 2025: error: newline in character constant "skel.c", line 2025: warning: nonportable character constant (E_NONPORTABLE_CHAR_CONST) "skel.c", line 2025: warning: character constant too long (E_CHAR_CONST_TOO_LONG) "skel.c", line 2040: error: invalid source character: '\' "skel.c", line 2040: error: newline in string literal "skel.c", line 2064: error: newline in character constant "skel.c", line 2064: warning: nonportable character constant (E_NONPORTABLE_CHAR_CONST) "skel.c", line 2064: warning: character constant too long (E_CHAR_CONST_TOO_LONG) "skel.c", line 2069: error: invalid source character: '\' "skel.c", line 2069: error: newline in string literal "skel.c", line 2113: error: invalid source character: '\' "skel.c", line 2113: error: newline in string literal "skel.c", line 2114: error: invalid source character: '\' "skel.c", line 2114: error: newline in string literal "skel.c", line 2210: error: invalid source character: '\' "skel.c", line 2210: error: newline in string literal "skel.c", line 2218: error: invalid source character: '\' "skel.c", line 2218: error: invalid source character: '\' "skel.c", line 2218: error: newline in character constant "skel.c", line 2218: warning: nonportable character constant (E_NONPORTABLE_CHAR_CONST) "skel.c", line 2253: error: newline in character constant "skel.c", line 2253: warning: nonportable character constant (E_NONPORTABLE_CHAR_CONST) "skel.c", line 2258: error: invalid source character: '\' "skel.c", line 2258: error: invalid source character: '\' "skel.c", line 2258: error: newline in character constant "skel.c", line 2273: error: newline in character constant "skel.c", line 2273: warning: nonportable character constant (E_NONPORTABLE_CHAR_CONST) "skel.c", line 2273: warning: character constant too long (E_CHAR_CONST_TOO_LONG) "skel.c", line 2305: error: invalid source character: '\' "skel.c", line 2305: error: invalid source character: '\' "skel.c", line 2305: error: newline in character constant "skel.c", line 2305: warning: nonportable character constant (E_NONPORTABLE_CHAR_CONST) "skel.c", line 2305: warning: character constant too long (E_CHAR_CONST_TOO_LONG) "skel.c", line 2319: error: invalid source character: '@' "skel.c", line 2344: error: invalid source character: '@' "skel.c", line 2390: error: newline in character constant "skel.c", line 2390: warning: nonportable character constant (E_NONPORTABLE_CHAR_CONST) "skel.c", line 2390: warning: character constant too long (E_CHAR_CONST_TOO_LONG) "skel.c", line 2418: error: invalid source character: '@' "skel.c", line 2434: error: invalid source character: '\' "skel.c", line 2434: error: newline in string literal "skel.c", line 2443: error: invalid source character: '\' "skel.c", line 2443: error: newline in string literal "skel.c", line 2455: error: invalid source character: '@' "skel.c", line 2547: error: invalid source character: '@' "skel.c", line 2665: error: newline in character constant "skel.c", line 2665: warning: nonportable character constant (E_NONPORTABLE_CHAR_CONST) "skel.c", line 2665: warning: character constant too long (E_CHAR_CONST_TOO_LONG) "skel.c", line 2674: error: invalid source character: '\' "skel.c", line 2674: error: newline in string literal "skel.c", line 2695: error: invalid source character: '\' "skel.c", line 2695: error: newline in string literal "skel.c", line 2724: error: newline in character constant "skel.c", line 2724: warning: nonportable character constant (E_NONPORTABLE_CHAR_CONST) "skel.c", line 2724: warning: character constant too long (E_CHAR_CONST_TOO_LONG) "skel.c", line 2729: error: invalid source character: '\' "skel.c", line 2729: error: newline in string literal "skel.c", line 2731: error: invalid source character: '\' "skel.c", line 2731: error: newline in string literal "skel.c", line 2753: error: invalid source character: '@' "skel.c", line 2753: error: invalid source character: '@' "skel.c", line 2774: error: invalid source character: '@' "skel.c", line 2774: error: invalid source character: '@' "skel.c", line 2776: error: invalid source character: '@' "skel.c", line 2788: error: newline in character constant "skel.c", line 2788: warning: nonportable character constant (E_NONPORTABLE_CHAR_CONST) "skel.c", line 2788: warning: character constant too long (E_CHAR_CONST_TOO_LONG) "skel.c", line 2792: error: invalid source character: '\' "skel.c", line 2792: error: newline in string literal "skel.c", line 2801: error: invalid source character: '\' "skel.c", line 2801: error: newline in string literal "skel.c", line 2839: error: invalid source character: '\' "skel.c", line 2839: error: newline in string literal "skel.c", line 2860: error: invalid source character: '\' "skel.c", line 2860: error: newline in string literal "skel.c", line 2890: error: invalid source character: '\' "skel.c", line 2890: error: newline in string literal "skel.c", line 2906: error: invalid source character: '\' "skel.c", line 2907: error: invalid source character: '\' "skel.c", line 2908: error: invalid source character: '\' "skel.c", line 2909: error: invalid source character: '\' "skel.c", line 2910: error: invalid source character: '\' "skel.c", line 2911: error: invalid source character: '\' "skel.c", line 2912: error: invalid source character: '\' "skel.c", line 2913: error: invalid source character: '\' "skel.c", line 2914: error: invalid source character: '\' "skel.c", line 2915: error: invalid source character: '\' "skel.c", line 2915: error: invalid source character: '\' "skel.c", line 2915: error: newline in character constant "skel.c", line 2915: warning: dubious escape: \ (E_DUBIOUS_ESCAPE_CHAR) "skel.c", line 2915: warning: dubious escape: \ (E_DUBIOUS_ESCAPE_CHAR) "skel.c", line 2915: warning: dubious escape: \ (E_DUBIOUS_ESCAPE_CHAR) "skel.c", line 2915: warning: nonportable character constant (E_NONPORTABLE_CHAR_CONST) "skel.c", line 2915: warning: character constant too long (E_CHAR_CONST_TOO_LONG) "skel.c", line 3055: error: invalid source character: '\' "skel.c", line 3055: error: newline in string literal "skel.c", line 3077: error: invalid source character: '\' "skel.c", line 3077: error: newline in string literal "skel.c", line 3178: error: newline in character constant "skel.c", line 3178: warning: nonportable character constant (E_NONPORTABLE_CHAR_CONST) "skel.c", line 3178: warning: character constant too long (E_CHAR_CONST_TOO_LONG) "skel.c", line 3243: error: newline in character constant "skel.c", line 3243: warning: nonportable character constant (E_NONPORTABLE_CHAR_CONST) "skel.c", line 3243: warning: character constant too long (E_CHAR_CONST_TOO_LONG) "skel.c", line 3430: error: invalid token: 76SF00098 "skel.c", line 3457: error: invalid source character: '\' "skel.c", line 3457: error: newline in string literal "skel.c", line 3463: error: invalid source character: '\' "skel.c", line 3463: error: newline in string literal "skel.c", line 3464: error: invalid source character: '\' "skel.c", line 3464: error: newline in string literal "skel.c", line 3536: error: invalid source character: '\' "skel.c", line 3536: error: newline in string literal "skel.c", line 3545: error: invalid token: 1k "skel.c", line 3547: error: invalid source character: '\' "skel.c", line 3547: error: newline in string literal "skel.c", line 3555: error: invalid source character: '\' "skel.c", line 3555: error: newline in string literal "skel.c", line 3615: error: invalid source character: '\' "skel.c", line 3615: error: newline in string literal "skel.c", line 3639: error: invalid source character: '\' "skel.c", line 3639: error: newline in string literal "skel.c", line 3682: error: invalid source character: '\' "skel.c", line 3682: error: newline in string literal "skel.c", line 3702: error: invalid source character: '\' "skel.c", line 3702: error: newline in string literal "skel.c", line 3709: error: invalid source character: '\' "skel.c", line 3709: error: newline in string literal "skel.c", line 3716: error: invalid source character: '\' "skel.c", line 3716: error: newline in string literal "skel.c", line 3721: error: invalid source character: '\' "skel.c", line 3721: error: newline in string literal "skel.c", line 3735: error: invalid source character: '\' "skel.c", line 3735: error: newline in string literal "skel.c", line 3746: error: invalid source character: '\' "skel.c", line 3746: error: newline in string literal "skel.c", line 3759: error: invalid source character: '\' "skel.c", line 3759: error: newline in string literal "skel.c", line 3767: error: invalid source character: '\' "skel.c", line 3767: error: newline in string literal "skel.c", line 3775: error: invalid source character: '\' "skel.c", line 3775: error: newline in string literal "skel.c", line 3781: error: invalid source character: '\' "skel.c", line 3781: error: newline in string literal "skel.c", line 3801: error: newline in character constant "skel.c", line 3801: warning: nonportable character constant (E_NONPORTABLE_CHAR_CONST) "skel.c", line 3801: warning: character constant too long (E_CHAR_CONST_TOO_LONG) "skel.c", line 4067: warning: syntax error: empty declaration (E_EMPTY_DECLARATION) c99: acomp failed for skel.c gmake[2]: [Makefile:1053: flex-skel.o] Error 2 gmake[2]: Leaving directory '/usr/local/build/flex_20190205184154_SunOS5.10_sparc64vii+.003/src' gmake[1]: [Makefile:581: all] Error 2 gmake[1]: Leaving directory '/usr/local/build/flex_20190205184154_SunOS5.10_sparc64vii+.003/src' gmake: *** [Makefile:539: all-recursive] Error 1

blastwave commented 5 years ago

Yeah .. that looks wrong :

/ File created from flex.skl via mkskel.sh /

include "flexdef.h"

const char skel[] = { "/ A lexical scanne",r generated by flex */ "", "", . . .

blastwave commented 5 years ago

Looking at the src/skel.c from 2.6.4 really isn't at all like the mess I see from the "master git whatever code stuff" repo :

/ File created from flex.skl via mkskel.sh /

include "flexdef.h"

const char skel[] = { "/ A lexical scanner generated by flex */", "", "", "", "m4_changecom", "m4_changequote", "m4_changequote([[, ]])", "", "", "%not-for-header", "%if-c-only", "%if-not-reentrant", "m4_ifelse(M4_YY_PREFIX,yy,,", "#define yy_create_buffer M4_YY_PREFIX[[_create_buffer]]", "#define yy_delete_buffer M4_YY_PREFIX[[_delete_buffer]]", "#define yy_scan_buffer M4_YY_PREFIX[[_scan_buffer]]", . . .

In fact there are many changes :

c$ diff ../../flex-2.6.4_SunOS5.10_sparc64vii+.001/src/skel.c skel.c | wc -l 4521 c$

also the editor for "github" is trash.

blastwave commented 5 years ago

OKay so the skel.c from 2.6.4 compiles clean :

c$ $CC $CFLAGS -DHAVE_CONFIG_H -I. \

-DLOCALEDIR=\"/usr/local/share/locale\" \ -I/usr/local/include \ -D_POSIX_PTHREAD_EMANTICS -D_LARGEFILE64_SOURCE -D_TS_ERRNO \ -c -o flex-skel.o skel.c c$

Not sure how to use that ... but the master tip github stuff is a disaster for this source file.

blastwave commented 5 years ago

Right so .. went back to take another look at the 2.6.4 release and the new bison bits don't help here and it is broken and so is master .. over to you guys.

westes commented 5 years ago

For a step by step bootstrapping of flex, you can look at .travis.yml and the scripts it references in the .travis/ subdirectory. That's for ubuntu, to be sure, but it shows you how to build flex from just the git tree. The key point is that the script autogen.sh does all the work to get configure up and running, but you'll want to make sure you have packages installed for some of flex's build tools. There are more generic notes in the README as well which you might find of some use.

On Tuesday, 5 February 2019, 8:16 pm +0000, Blastwave notifications@github.com wrote:

Time to come back and look at this and figure out a patch that works on a proper release version of flex. The question asked by Will Estes was "Does this still happen against the tip of master?" to which the only answer is "who knows?" because I don't. I can git clone out the flex working code pile and look around but there is no "configure" file and it looks like I need to do some magic with autogen or autoconf and similar to even get that working. So today I will take a look.

So firstly I need to go through the hassle of getting that "working master tip" stuff where I want it to be :

nix$ git clone https://github.com/westes/flex.git Cloning into 'flex'... remote: Enumerating objects: 10753, done. remote: Total 10753 (delta 0), reused 0 (delta 0), pack-reused 10753 Receiving objects: 100% (10753/10753), 3.35 MiB | 20.16 MiB/s, done. Resolving deltas: 100% (7630/7630), done. nix$ dn 20190205184154 nix$ mv flex flex_20190205184154 nix$ tar -cf flex_20190205184154.tar flex_20190205184154 nix$ gzip -9v flex_20190205184154.tar flex_20190205184154.tar: 33.5% -- replaced with flex_20190205184154.tar.gz nix$ openssl dgst -sha256 -r flex_20190205184154.tar.gz
637e952d394ed2f27b2acaf56ef449d43008384a9b169550719fecde68e17ef3 *flex_20190205184154.tar.gz nix$ scp flex_20190205184154.tar.gz corv.tls13.net:.

Great .. so now I have the code pile in a gzipped tarball on some server somewhere and from there I can move it around inside the server pile.

c$ gzip -dc ../src/flex_20190205184154.tar.gz | tar -xf - c$ mv flex_20190205184154 flex_20190205184154_SunOS5.10_sparc64vii+.001 c$ cd flex_20190205184154_SunOS5.10_sparc64vii+.001 c$ ls -ab . .mailmap CODE_OF_CONDUCT.md README.md doc src .. .prev-version COPYING THANKS examples tests .git .travis Makefile.am autogen.sh lib tools .gitignore .travis.yml NEWS configure.ac m4 .indent.pro AUTHORS ONEWS control.ac po c$

okay .. so the first hurdle is to get over the whole "configure" stuff.

Well gee ... do we have that ?

c$ which autoconf /usr/local/bin/autoconf c$ autoconf --version autoconf (GNU Autoconf) 2.69 Copyright (C) 2012 Free Software Foundation, Inc. License GPLv3+/Autoconf: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html, http://gnu.org/licenses/exceptions.html This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

Written by David J. MacKenzie and Akim Demaille. c$

Well that is a good thing.

Do we have a configure.ac file ?

We do .. that is a good thing.

I am cooking with POSIX C99 here and Oracle Studio compiler 12.6 which is very standards compliant. Regardless let's see if we can get a configure script created :

c$ c$ which libtoolize /usr/local/bin/libtoolize c$ which automake /usr/local/bin/automake c$ which autoreconf /usr/local/bin/autoreconf c$ which bison no bison in /usr/local/bin /usr/local/sbin /usr/xpg6/bin /usr/xpg4/bin /usr/ccs/bin /opt/developerstudio12.6/bin /sbin /bin /usr/bin /usr/sbin c$ which yacc /usr/ccs/bin/yacc c$

Well this stuff should "just work"(tm) :

c$ ./autogen.sh
libtoolize (GNU libtool) 2.4.6 Written by Gary V. Vaughan gary@gnu.org, 2003

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. ./autogen.sh: !: not found libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'build-aux'. libtoolize: linking file 'build-aux/config.guess' libtoolize: linking file 'build-aux/config.sub' libtoolize: linking file 'build-aux/install-sh' libtoolize: linking file 'build-aux/ltmain.sh' libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'. libtoolize: linking file 'm4/libtool.m4' libtoolize: linking file 'm4/ltoptions.m4' libtoolize: linking file 'm4/ltsugar.m4' libtoolize: linking file 'm4/ltversion.m4' libtoolize: linking file 'm4/lt~obsolete.m4' Copying file ABOUT-NLS Copying file build-aux/config.rpath Copying file m4/codeset.m4 Copying file m4/extern-inline.m4 Copying file m4/fcntl-o.m4 Copying file m4/gettext.m4 Copying file m4/glibc2.m4 Copying file m4/glibc21.m4 Copying file m4/iconv.m4 Copying file m4/intdiv0.m4 Copying file m4/intl.m4 Copying file m4/intldir.m4 Copying file m4/intlmacosx.m4 Copying file m4/intmax.m4 Copying file m4/inttypes-pri.m4 Copying file m4/inttypes_h.m4 Copying file m4/lcmessage.m4 Copying file m4/lib-ld.m4 Copying file m4/lib-link.m4 Copying file m4/lib-prefix.m4 Copying file m4/lock.m4 Copying file m4/longlong.m4 Copying file m4/nls.m4 Copying file m4/po.m4 Copying file m4/printf-posix.m4 Copying file m4/progtest.m4 Copying file m4/size_max.m4 Copying file m4/stdint_h.m4 Copying file m4/threadlib.m4 Copying file m4/uintmax_t.m4 Copying file m4/visibility.m4 Copying file m4/wchar_t.m4 Copying file m4/wint_t.m4 Copying file m4/xsize.m4 Copying file po/Makefile.in.in Copying file po/Makevars.template Copying file po/Rules-quot Copying file po/boldquot.sed Copying file po/en@boldquot.header Copying file po/en@quot.header Copying file po/insert-header.sin Copying file po/quot.sed Copying file po/remove-potcdate.sin libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'build-aux'. libtoolize: copying file 'build-aux/ltmain.sh' libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'. libtoolize: copying file 'm4/libtool.m4' libtoolize: copying file 'm4/ltoptions.m4' libtoolize: copying file 'm4/ltsugar.m4' libtoolize: copying file 'm4/ltversion.m4' libtoolize: copying file 'm4/lt~obsolete.m4' configure.ac:31: installing 'build-aux/compile' configure.ac:33: installing 'build-aux/missing' doc/Makefile.am:3: installing 'build-aux/mdate-sh' doc/Makefile.am:3: installing 'build-aux/texinfo.tex' src/Makefile.am: installing 'build-aux/depcomp' configure.ac: installing 'build-aux/ylwrap' parallel-tests: installing 'build-aux/test-driver' c$

Well that all looks good.

c$ c$ ./configure --prefix=/usr/local --enable-shared \

--enable-static --enable-dependency-tracking \ --disable-silent-rules --without-gnu-ld \ --with-libiconv-prefix=/usr/local \ --with-libintl-prefix=/usr/local checking for gcc... /opt/developerstudio12.6/bin/c99 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... no checking whether /opt/developerstudio12.6/bin/c99 accepts -g... yes checking for /opt/developerstudio12.6/bin/c99 option to accept ISO C89... none needed checking whether /opt/developerstudio12.6/bin/c99 understands -c and -o together... yes checking how to run the C preprocessor... /opt/developerstudio12.6/bin/c99 -E checking for grep that handles long lines and -e... /usr/local/bin/grep checking for egrep... /usr/local/bin/grep -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 minix/config.h usability... no checking minix/config.h presence... no checking for minix/config.h... no checking whether it is safe to define EXTENSIONS... yes checking build system type... sparc-sun-solaris2.10 checking host system type... sparc-sun-solaris2.10 checking how to print strings... printf checking for a sed that does not truncate output... /usr/local/bin/sed checking for fgrep... /usr/local/bin/grep -F checking for non-GNU ld... /usr/ccs/bin/sparcv9/ld checking if the linker (/usr/ccs/bin/sparcv9/ld) is GNU ld... no checking for BSD- or MS-compatible name lister (nm)... /usr/ccs/bin/sparcv9/nm -p checking the name lister (/usr/ccs/bin/sparcv9/nm -p) interface... BSD nm checking whether ln -s works... yes checking the maximum length of command line arguments... 786240 checking how to convert sparc-sun-solaris2.10 file names to sparc-sun-solaris2.10 format... func_convert_file_noop checking how to convert sparc-sun-solaris2.10 file names to toolchain format... func_convert_file_noop checking for /usr/ccs/bin/sparcv9/ld option to reload object files... -r checking for objdump... no checking how to recognize dependent libraries... pass_all checking for dlltool... no checking how to associate runtime and link libraries... printf %s\n checking for archiver @FILE support... no checking for strip... strip checking for ranlib... ranlib checking for gawk... /usr/local/bin/gawk checking command to parse /usr/ccs/bin/sparcv9/nm -p output from /opt/developerstudio12.6/bin/c99 object... ok checking for sysroot... no checking for a working dd... /bin/dd checking how to truncate binary pipes... /bin/dd bs=4096 count=1 checking for mt... mt checking if mt is a manifest tool... no checking for dlfcn.h... yes checking for objdir... .libs checking for /opt/developerstudio12.6/bin/c99 option to produce PIC... -KPIC -DPIC checking if /opt/developerstudio12.6/bin/c99 PIC flag -KPIC -DPIC works... yes checking if /opt/developerstudio12.6/bin/c99 static flag -Bstatic works... yes checking if /opt/developerstudio12.6/bin/c99 supports -c -o file.o... yes checking if /opt/developerstudio12.6/bin/c99 supports -c -o file.o... (cached) yes checking whether the /opt/developerstudio12.6/bin/c99 linker (/usr/ccs/bin/sparcv9/ld -64) supports shared libraries... yes checking dynamic linker characteristics... solaris2.10 ld.so checking how to hardcode library paths into programs... immediate checking whether stripping libraries is possible... no 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... build-aux/install-sh -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... build-aux/install-sh -c -d checking whether /usr/local/bin/gmake sets $(MAKE)... yes checking whether /usr/local/bin/gmake supports the include directive... yes (GNU style) checking whether /usr/local/bin/gmake supports nested variables... yes checking dependency style of /opt/developerstudio12.6/bin/c99... dashXmstdout checking whether NLS is requested... yes checking for msgfmt... /usr/local/bin/msgfmt checking for gmsgfmt... /bin/gmsgfmt checking for xgettext... /usr/local/bin/xgettext checking for msgmerge... /usr/local/bin/msgmerge checking for non-GNU ld... /usr/ccs/bin/sparcv9/ld -64 checking if the linker (/usr/ccs/bin/sparcv9/ld -64) is GNU ld... no checking for shared library run path origin... done checking for 64-bit host... no checking for CFPreferencesCopyAppValue... no checking for CFLocaleCopyCurrent... no checking for GNU gettext in libc... no checking for iconv... yes checking for working iconv... yes checking how to link with libiconv... /usr/local/lib/libiconv.so -R/usr/local/lib checking for GNU gettext in libintl... yes checking whether to use NLS... yes checking where the gettext function comes from... external libintl checking how to link with libintl... /usr/local/lib/libintl.so /usr/local/lib/libiconv.so -lc -R/usr/local/lib checking for bison... no checking for byacc... no configure: no bison program found: only required for maintainers checking for flex... no checking for lex... lex checking lex output file root... lex.yy checking lex library... -ll checking whether yytext is a pointer... no checking for gcc... (cached) /opt/developerstudio12.6/bin/c99 checking whether we are using the GNU C compiler... (cached) no checking whether /opt/developerstudio12.6/bin/c99 accepts -g... (cached) yes checking for /opt/developerstudio12.6/bin/c99 option to accept ISO C89... (cached) none needed checking whether /opt/developerstudio12.6/bin/c99 understands -c and -o together... (cached) yes checking for gcc... no checking for cc... cc checking whether we are using the GNU C compiler... (cached) no checking whether cc accepts -g... yes checking for cc option to accept ISO C89... (cached) none needed checking whether cc understands -c and -o together... (cached) yes checking how to run the C preprocessor... cc -E checking whether we are using the GNU C++ compiler... no checking whether /opt/developerstudio12.6/bin/CC accepts -g... yes checking how to run the C++ preprocessor... /opt/developerstudio12.6/bin/CC -E checking whether the /opt/developerstudio12.6/bin/CC linker (/usr/ccs/bin/sparcv9/ld -64) supports shared libraries... yes checking for /opt/developerstudio12.6/bin/CC option to produce PIC... -KPIC -DPIC checking if /opt/developerstudio12.6/bin/CC PIC flag -KPIC -DPIC works... yes checking if /opt/developerstudio12.6/bin/CC static flag -Bstatic works... yes checking if /opt/developerstudio12.6/bin/CC supports -c -o file.o... yes checking if /opt/developerstudio12.6/bin/CC supports -c -o file.o... (cached) yes checking whether the /opt/developerstudio12.6/bin/CC linker (/usr/ccs/bin/sparcv9/ld -64) supports shared libraries... yes checking dynamic linker characteristics... solaris2.10 ld.so checking how to hardcode library paths into programs... immediate checking dependency style of /opt/developerstudio12.6/bin/CC... dashXmstdout checking whether ln -s works... yes checking for gawk... (cached) /usr/local/bin/gawk checking for help2man... ${top_srcdir}/build-aux/missing help2man configure: WARNING: help2man: program not found: building man page will not work checking for gtexi2dvi... no checking for texi2dvi... no configure: WARNING: texi2dvi: program not found: building pdf version of manual will not work checking for m4 that supports -P... /usr/local/bin/m4 checking for indent... /opt/developerstudio12.6/bin/indent checking if /opt/developerstudio12.6/bin/indent is GNU indent... no configure: WARNING: /opt/developerstudio12.6/bin/indent does not appear to be GNU indent; 'make indent' may not function properly checking regex.h usability... yes checking regex.h presence... yes checking for regex.h... yes checking for strings.h... (cached) yes checking for sys/stat.h... (cached) yes checking sys/wait.h usability... yes checking sys/wait.h presence... yes checking for sys/wait.h... yes checking for unistd.h... (cached) yes checking for inttypes.h... (cached) yes checking libintl.h usability... yes checking libintl.h presence... yes checking for libintl.h... yes checking limits.h usability... yes checking limits.h presence... yes checking for limits.h... yes checking locale.h usability... yes checking locale.h presence... yes checking for locale.h... yes checking malloc.h usability... yes checking malloc.h presence... yes checking for malloc.h... yes checking netinet/in.h usability... yes checking netinet/in.h presence... yes checking for netinet/in.h... yes checking for pthread_mutex_lock in -lpthread... yes checking pthread.h usability... yes checking pthread.h presence... yes checking for pthread.h... yes checking for log10 in -lm... yes checking for stdbool.h that conforms to C99... yes checking for _Bool... yes checking for an ANSI C-conforming const... yes checking for size_t... yes checking for working alloca.h... yes checking for alloca... yes checking for pid_t... yes checking vfork.h usability... no checking vfork.h presence... no checking for vfork.h... no checking for fork... yes checking for vfork... yes checking for working fork... yes checking for working vfork... (cached) yes checking for stdlib.h... (cached) yes checking for GNU libc compatible malloc... yes checking for stdlib.h... (cached) yes checking for GNU libc compatible realloc... yes checking for dup2... yes checking for memset... yes checking for regcomp... yes checking for strcasecmp... yes checking for strchr... yes checking for strdup... yes checking for strtol... yes checking for pow... yes checking for setlocale... yes checking for reallocarr... no checking for reallocarray... no checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating doc/Makefile config.status: creating examples/Makefile config.status: creating examples/fastwc/Makefile config.status: creating examples/manual/Makefile config.status: creating po/Makefile.in config.status: creating src/libfl.pc config.status: creating src/Makefile config.status: creating tools/Makefile config.status: creating tests/Makefile config.status: creating src/config.h config.status: executing libtool commands config.status: executing depfiles commands config.status: executing po-directories commands config.status: creating po/POTFILES config.status: creating po/Makefile c$

Let's see what GNU make has to say :

c$ which gmake /usr/local/bin/gmake c$ gmake --version GNU Make 4.2.1 Built for sparc-sun-solaris2.10 Copyright (C) 1988-2016 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. c$ c$ /usr/bin/time -p /usr/local/bin/gmake 2>&1 | tee ../flex_20190205184154_SunOS5.10_sparc64vii+.001.compile.log Making all in src gmake[1]: Entering directory '/usr/local/build/flex_20190205184154_SunOS5.10_sparc64vii+.001/src' /usr/local/bin/gmake all-am gmake[2]: Entering directory '/usr/local/build/flex_20190205184154_SunOS5.10_sparc64vii+.001/src' source='buf.c' object='flex-buf.o' libtool=no \ DEPDIR=.deps depmode=dashXmstdout /bin/bash ../build-aux/depcomp \ /opt/developerstudio12.6/bin/c99 -DHAVE_CONFIG_H -I. -DLOCALEDIR=\"/usr/local/share/locale\" -I/usr/local/include -D_POSIX_PTHREAD_SEMANTICS -D_LARGEFILE64_SOURCE -D_TS_ERRNO -m64 -xarch=sparc -Xc -g -mc -xs -errfmt=error -erroff=%none -errshort=full -errtags=yes -errwarn=%none -ftrap=%none -xbuiltin=%none -xildoff -xlibmieee -xstrconst -xcode=pic32 -xmemalign=8s -xnolibmil -xunroll=1 -xregs=no%appl -xdebugformat=dwarf -Qy -D_LARGEFILE64_SOURCE -D_POSIX_PTHREAD_SEMANTICS -D_TS_ERRNO -c -o flex-buf.o test -f 'buf.c' || echo './'buf.c source='ccl.c' object='flex-ccl.o' libtool=no \ DEPDIR=.deps depmode=dashXmstdout /bin/bash ../build-aux/depcomp \ /opt/developerstudio12.6/bin/c99 -DHAVE_CONFIG_H -I. -DLOCALEDIR=\"/usr/local/share/locale\" -I/usr/local/include -D_POSIX_PTHREAD_SEMANTICS -D_LARGEFILE64_SOURCE -D_TS_ERRNO -m64 -xarch=sparc -Xc -g -mc -xs -errfmt=error -erroff=%none -errshort=full -errtags=yes -errwarn=%none -ftrap=%none -xbuiltin=%none -xildoff -xlibmieee -xstrconst -xcode=pic32 -xmemalign=8s -xnolibmil -xunroll=1 -xregs=no%appl -xdebugformat=dwarf -Qy -D_LARGEFILE64_SOURCE -D_POSIX_PTHREAD_SEMANTICS -D_TS_ERRNO -c -o flex-ccl.o test -f 'ccl.c' || echo './'ccl.c source='dfa.c' object='flex-dfa.o' libtool=no \ DEPDIR=.deps depmode=dashXmstdout /bin/bash ../build-aux/depcomp \ /opt/developerstudio12.6/bin/c99 -DHAVE_CONFIG_H -I. -DLOCALEDIR=\"/usr/local/share/locale\" -I/usr/local/include -D_POSIX_PTHREAD_SEMANTICS -D_LARGEFILE64_SOURCE -D_TS_ERRNO -m64 -xarch=sparc -Xc -g -mc -xs -errfmt=error -erroff=%none -errshort=full -errtags=yes -errwarn=%none -ftrap=%none -xbuiltin=%none -xildoff -xlibmieee -xstrconst -xcode=pic32 -xmemalign=8s -xnolibmil -xunroll=1 -xregs=no%appl -xdebugformat=dwarf -Qy -D_LARGEFILE64_SOURCE -D_POSIX_PTHREAD_SEMANTICS -D_TS_ERRNO -c -o flex-dfa.o test -f 'dfa.c' || echo './'dfa.c source='ecs.c' object='flex-ecs.o' libtool=no \ DEPDIR=.deps depmode=dashXmstdout /bin/bash ../build-aux/depcomp \ /opt/developerstudio12.6/bin/c99 -DHAVE_CONFIG_H -I. -DLOCALEDIR=\"/usr/local/share/locale\" -I/usr/local/include -D_POSIX_PTHREAD_SEMANTICS -D_LARGEFILE64_SOURCE -D_TS_ERRNO -m64 -xarch=sparc -Xc -g -mc -xs -errfmt=error -erroff=%none -errshort=full -errtags=yes -errwarn=%none -ftrap=%none -xbuiltin=%none -xildoff -xlibmieee -xstrconst -xcode=pic32 -xmemalign=8s -xnolibmil -xunroll=1 -xregs=no%appl -xdebugformat=dwarf -Qy -D_LARGEFILE64_SOURCE -D_POSIX_PTHREAD_SEMANTICS -D_TS_ERRNO -c -o flex-ecs.o test -f 'ecs.c' || echo './'ecs.c source='filter.c' object='flex-filter.o' libtool=no \ DEPDIR=.deps depmode=dashXmstdout /bin/bash ../build-aux/depcomp \ /opt/developerstudio12.6/bin/c99 -DHAVE_CONFIG_H -I. -DLOCALEDIR=\"/usr/local/share/locale\" -I/usr/local/include -D_POSIX_PTHREAD_SEMANTICS -D_LARGEFILE64_SOURCE -D_TS_ERRNO -m64 -xarch=sparc -Xc -g -mc -xs -errfmt=error -erroff=%none -errshort=full -errtags=yes -errwarn=%none -ftrap=%none -xbuiltin=%none -xildoff -xlibmieee -xstrconst -xcode=pic32 -xmemalign=8s -xnolibmil -xunroll=1 -xregs=no%appl -xdebugformat=dwarf -Qy -D_LARGEFILE64_SOURCE -D_POSIX_PTHREAD_SEMANTICS -D_TS_ERRNO -c -o flex-filter.o test -f 'filter.c' || echo './'filter.c source='gen.c' object='flex-gen.o' libtool=no \ DEPDIR=.deps depmode=dashXmstdout /bin/bash ../build-aux/depcomp \ /opt/developerstudio12.6/bin/c99 -DHAVE_CONFIG_H -I. -DLOCALEDIR=\"/usr/local/share/locale\" -I/usr/local/include -D_POSIX_PTHREAD_SEMANTICS -D_LARGEFILE64_SOURCE -D_TS_ERRNO -m64 -xarch=sparc -Xc -g -mc -xs -errfmt=error -erroff=%none -errshort=full -errtags=yes -errwarn=%none -ftrap=%none -xbuiltin=%none -xildoff -xlibmieee -xstrconst -xcode=pic32 -xmemalign=8s -xnolibmil -xunroll=1 -xregs=no%appl -xdebugformat=dwarf -Qy -D_LARGEFILE64_SOURCE -D_POSIX_PTHREAD_SEMANTICS -D_TS_ERRNO -c -o flex-gen.o test -f 'gen.c' || echo './'gen.c /bin/bash ../build-aux/ylwrap parse.y y.tab.c parse.c y.tab.h echo parse.c | sed -e s/cc$/hh/ -e s/cpp$/hpp/ -e s/cxx$/hxx/ -e s/c++$/h++/ -e s/c$/h/ y.output parse.output -- ../build-aux/missing bison -y -d /usr/local/build/flex_20190205184154_SunOS5.10_sparc64vii+.001/src/../build-aux/missing: bison: not found gmake[2]: [Makefile:1474: parse.c] Error 1 gmake[2]: Leaving directory '/usr/local/build/flex_20190205184154_SunOS5.10_sparc64vii+.001/src' gmake[1]: [Makefile:581: all] Error 2 gmake[1]: Leaving directory '/usr/local/build/flex_20190205184154_SunOS5.10_sparc64vii+.001/src' gmake: *** [Makefile:539: all-recursive] Error 1

real 2.43 user 1.51 sys 0.40 c$

Oh well ... that is not good.

Looks like bison is needed.

So let's fetch a PRODUCTION RELEASE version of bison and get that going :

This --> https://ftp.gnu.org/pub/gnu/bison/bison-3.3.2.tar.gz

Released yesterday ! Very cool. The bits are still warm.

I think I may land inside the dependency loop of life becasue flex is needed all over the place and bison will want flex which wants bision which wants flex which ... .. . .. checking for flex... no checking for lex... lex checking whether lex is flex... no checking lex output file root... lex.yy checking lex library... -ll checking whether yytext is a pointer... no configure: WARNING: bypassing lex because flex is required checking for bison... /usr/ccs/bin/yacc

Well maybe this will work.

Turns out .. yes it does compile but blows up on its own tests. Well maybe I can use the binary in the bison src directory to get flex going?

So I stuff that new bison binary into $HOME/local/bin and add that to the PATH and also set up env var BISON=$HOME/local/bin/bison which we know is untested and may or may not work as intended. Going over the process again I now get configure which tells me that yes new bison was in deed found :

checking how to link with libintl... /usr/local/lib/libintl.so /usr/local/lib/libiconv.so -lc -R/usr/local/lib checking for bison... bison -y checking for flex... no checking for lex... lex checking lex output file root... lex.yy checking lex library... -ll checking whether yytext is a pointer... no checking for gcc... (cached) /opt/developerstudio12.6/bin/c99 checking whether we are using the GNU C compiler... (cached) no checking whether /opt/developerstudio12.6/bin/c99 accepts -g... (cached) yes checking for /opt/developerstudio12.6/bin/c99 option to accept ISO C89... (cached) none needed checking whether /opt/developerstudio12.6/bin/c99 understands -c and -o together... (cached) yes checking for gcc... no checking for cc... cc .. . ..

The process blows up again because while bison has been found there are M4 macro files that are not found :

/usr/local/share/bison/m4sugar/m4sugar.m4: cannot open: No such file or directory

So at this point I will shut down the server and take a filesystem snapshot and then bring it back up and install the previously built bison which is untested. That should create the files needed inside /usr/local/share as well as all the other bits that bison needs. Then try again and if possible get past this bison burp and perhaps even get flex installed and then rebuild bison again as well as some day sqlite-src-3260000 which needs flex. Then roll back that snapshot ( maybe ) and try to get bison fixed and installed and then get a release version of flex.

So there is another few hours of the day for flex .. not a lot of progress yet. Thankfully the bison folks still have a maillist and maybe I can get past the testing burp there : https://lists.gnu.org/archive/html/bug-bison/2019-02/msg00010.html

-- You are receiving this because you were mentioned. Reply to this email directly or view it on GitHub: https://github.com/westes/flex/issues/417#issuecomment-460787244

-- Will Estes westes575@gmail.com

blastwave commented 5 years ago

c$ c$ diff ./flex-2.6.4_SunOS5.10_sparc64vii+.002/src/mkskel.sh ./flex_20190205184154_SunOS5.10_sparc64vii+.003/src/mkskel.sh 51c51 < s/.*/ "&",/'

s/[^\r]*/ "&",/' c$

Hrmmm .. desperate hack here ... I will use mkskel.sh from 2.6.4 and ... that solves the skel.c file and then ... continues on to ...

/opt/developerstudio12.6/bin/c99 -DHAVE_CONFIG_H -I. -DLOCALEDIR=\"/usr/local/share/locale\" -I/usr/local/include -D_POSIX_PTHREAD_SEMANTICS -D_LARGEFILE64_SOURCE -D_TS_ERRNO -m64 -xarch=sparc -Xc -g -mc -xs -errfmt=error -erroff=%none -errshort=full -errtags=yes -errwarn=%none -ftrap=%none -xbuiltin=%none -xildoff -xlibmieee -xstrconst -xcode=pic32 -xmemalign=8s -xnolibmil -xunroll=1 -xregs=no%appl -xdebugformat=dwarf -Qy -D_LARGEFILE64_SOURCE -D_POSIX_PTHREAD_SEMANTICS -D_TS_ERRNO -c -o flex-yylex.o test -f 'yylex.c' || echo './'yylex.c "yylex.c", line 154: warning: implicit function declaration: isascii (E_NO_IMPLICIT_DECL_ALLOWED) /bin/bash ../build-aux/ylwrap scan.l lex.yy.c scan.c -- lex
"/usr/local/build/flex_20190205184154_SunOS5.10_sparc64vii+.004/src/scan.l":line 5: Error: missing translation value gmake[2]: [Makefile:1471: scan.c] Error 1 gmake[2]: Leaving directory '/usr/local/build/flex_20190205184154_SunOS5.10_sparc64vii+.004/src' gmake[1]: [Makefile:581: all] Error 2 gmake[1]: Leaving directory '/usr/local/build/flex_20190205184154_SunOS5.10_sparc64vii+.004/src' gmake: *** [Makefile:539: all-recursive] Error 1

That is a surprise because #include is in yylex.c but that us just a warning what is not a warning would be /bin/bash ../build-aux/ylwrap scan.l lex.yy.c scan.c -- lex blowing up.

blastwave commented 5 years ago

Sorry Will but I am not new to bootstrapping software from out of the grave to the dance floor. I think I have ALL the pre-requisites and what we have here is code problems and not pre-requisites.

sinaahmadi commented 5 years ago

Is there any update regarding this issue? I am having the same errors mentioned here. skel.c raises a lot of errors!

zmajeed commented 5 years ago

Can you provide the skel.c errors?

The original issue is an error with stage1flex not able to open scan.l. It can be easily debugged by applying the patch mentioned above - https://github.com/westes/flex/pull/305/files - to src/scan.c in the 2.6.4 tarball instead of src/scan.l. The patch should help identify the cause of the fopen failure.

My guess is it's some sort of path limit on OP's system but again not difficult to troubleshoot without messing with autoconf

blastwave commented 5 years ago

I received your email about this. Then did hunt and peck to find this stupid github 'issue' page. Get a real bug tracker. Maybe bugzilla or Atlassian Jira are both nice. Regardless I have not looked at this or thought about it in months. Just is not on my radar at all. Is Will Estes not around these days?

blastwave commented 5 years ago

I did a pull of the current master and got no where with autogen

beta $ ./autogen.sh libtoolize (GNU libtool) 2.4.6 Written by Gary V. Vaughan gary@gnu.org, 2003

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. ./autogen.sh: !: not found libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'build-aux'. libtoolize: linking file 'build-aux/config.guess' libtoolize: linking file 'build-aux/config.sub' libtoolize: linking file 'build-aux/install-sh' libtoolize: linking file 'build-aux/ltmain.sh' libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'. libtoolize: linking file 'm4/libtool.m4' libtoolize: linking file 'm4/ltoptions.m4' libtoolize: linking file 'm4/ltsugar.m4' libtoolize: linking file 'm4/ltversion.m4' libtoolize: linking file 'm4/lt~obsolete.m4' autopoint: The AM_GNU_GETTEXT_VERSION declaration in your configure.ac file requires the infrastructure from gettext-0.19.7 but this version is older. Please upgrade to gettext-0.19.7 or newer. autopoint: Stop. autoreconf: autopoint failed with exit status: 1 beta $ beta $ beta $ /usr/local/bin/gettext --version gettext (GNU gettext-runtime) 0.20 Copyright (C) 1995-2019 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later https://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. Written by Ulrich Drepper. beta $ beta $

that is odd

zmajeed commented 5 years ago

No need to try master - just make the 1-line change to src/scan.c in the 2.6.4 release tarball - then simple configure and make to see the cause of the fopen error

westes commented 5 years ago

On Sunday, 26 May 2019, 10:56 am -0700, Blastwave notifications@github.com wrote:

I did a pull of the current master and got no where with autogen

autopoint: *** The AM_GNU_GETTEXT_VERSION declaration in your configure.ac file requires the infrastructure from gettext-0.19.7 but this version is older. Please upgrade to gettext-0.19.7 or newer.

This is saying that you've got an old gettext. There's a patch in one of the pr's to lower the requirements, which you might try applying (or just lower it to whatever you actually have installed). When I get to working on flex, that will go in, although I will be testing gettext 0.20.1, because it might have a feature that we'd all find helpful. But for now, you'd be fine just lowering the required version in your personal tree.

-- Will Estes westes575@gmail.com

blastwave commented 5 years ago

Sir Will Estes, very good to see your name! Well actually I have gettext 0.20 installed but am doing a build and test of 0.20.1 right now. Then I will circle back and snag the release tarbal, do the one line change and give it all a go. Will follow up shortly.

-- Dennis Clarke RISC-V/SPARC/PPC/ARM/CISC UNIX and Linux spoken GreyBeard and suspenders optional

blastwave commented 5 years ago

Well this went sideways fast. Firstly the one line change is not on line 1045 but actually 1038

beta $ diff -c ./src/scan.l.orig ./src/scan.l *** ./src/scan.l.orig Wed May 3 20:16:37 2017 --- ./src/scan.l Sun May 26 21:59:14 2019


* 1035,1041 ** yyin = fopen( infilename, "r" );

            if ( yyin == NULL )

! lerr( _( "can't open %s" ), file ); }

    else

--- 1035,1042 ---- yyin = fopen( infilename, "r" );

            if ( yyin == NULL )

! / lerr( _( "can't open %s" ), file ); / ! lerr( _( "can't open %s: %s" ), file, strerror(errno)); }

    else

beta $

anyways ... kaboom as per usual ..

/usr/local/bin/bash ../libtool --tag=CC --mode=link /opt/developerstudio12.6/bin/c99 -m64 -xarch=sparc -g -Xc -errfmt=error -erroff=%none -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 -L/usr/local/lib -o stage1flex stage1flex-scan.o stage1flex-buf.o stage1flex-ccl.o stage1flex-dfa.o stage1flex-ecs.o stage1flex-filter.o stage1flex-gen.o stage1flex-main.o stage1flex-misc.o stage1flex-nfa.o stage1flex-options.o stage1flex-parse.o stage1flex-regex.o stage1flex-scanflags.o stage1flex-scanopt.o stage1flex-skel.o stage1flex-sym.o stage1flex-tables.o stage1flex-tables_shared.o stage1flex-tblcmp.o stage1flex-yylex.o /usr/local/lib/libintl.so -L/usr/local/lib/sparcv9 /usr/local/lib/libiconv.so -R/usr/local/lib -R/usr/local/lib/sparcv9 -lm libtool: link: /opt/developerstudio12.6/bin/c99 -m64 -xarch=sparc -g -Xc -errfmt=error -erroff=%none -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 -o stage1flex stage1flex-scan.o stage1flex-buf.o stage1flex-ccl.o stage1flex-dfa.o stage1flex-ecs.o stage1flex-filter.o stage1flex-gen.o stage1flex-main.o stage1flex-misc.o stage1flex-nfa.o stage1flex-options.o stage1flex-parse.o stage1flex-regex.o stage1flex-scanflags.o stage1flex-scanopt.o stage1flex-skel.o stage1flex-sym.o stage1flex-tables.o stage1flex-tables_shared.o stage1flex-tblcmp.o stage1flex-yylex.o /usr/local/lib/libintl.so /usr/local/lib/libiconv.so -L/usr/local/lib -L/usr/local/lib/sparcv9 -lm -R/usr/local/lib -R/usr/local/lib/sparcv9 ./stage1flex -o stage1scan.c ./scan.l stage1flex: can't open ./scan.l: Bad address gmake[2]: [Makefile:1696: stage1scan.c] Error 1 gmake[2]: Leaving directory '/usr/local/build/flex-2.6.4_SunOS5.10_sparc64vii+.001/src' gmake[1]: [Makefile:546: all] Error 2 gmake[1]: Leaving directory '/usr/local/build/flex-2.6.4_SunOS5.10_sparc64vii+.001/src' gmake: *** [Makefile:533: all-recursive] Error 1 beta $

zmajeed commented 5 years ago

Yes - that's expected - now we know why fopen fails - it's due to errno being EFAULT shown as "Bad address"

The relevant lines from scan.c are 5219-5223:

infilename = xstrdup(file);
yyin = fopen( infilename, "r" );

if ( yyin == NULL )
  lerr( _( "can't open %s: %s" ), file, strerror(errno));
}

The error is not with fopen but with xstrdup which is returning a bad pointer - xstrdup from src/misc.c is a thin wrapper for strdup - this could happen if the pointer returned by strdup somehow got mangled along the way e.g. if it were interpreted as int due to missing prototypes - I don't see that happening - or it could be due to a binary incompatibility between objects compiled with different options or different versions of the compiler

It could be a compiler bug - is your compiler up to date in patches?

Probably time to fire up a debugger at this point and look at the pointer

zmajeed commented 5 years ago

I notice couple things about your compile line - have you tried using cc instead of c99 to invoke the compiler?

Also the -xcode=pic32 option seems misplaced given this doc https://docs.oracle.com/cd/E19205-01/819-5265/bjatt/index.html that says to not use it to build executables like stage1flex

blastwave commented 5 years ago

I will give this a try with ordinary cc and the -xcode=pic32 is correct for shared libs.

blastwave commented 5 years ago

For the sake of being pedantic. Which I don't like doing. When building shared dynamic libraries, the default -xcode values of abs44 and abs32 will not work with 64–bit architectures. Specify -xcode=pic13 or -xcode=pic32 instead. There are two nominal performance costs with– xcode=pic13 and– xcode=pic32 on SPARC.

A routine compiled with either– xcode=pic13 or– xcode=pic32 executes a few extra
instructions upon entry to set a register to point at a table (_GLOBAL_OFFSET_TABLE_) used
for accessing a shared library’s global or static variables.

So I have no idea how to do special secret format stuff with github's trash system so I will just copy and paste this here :

Each access to a global or static variable involves an extra indirect memory reference through
 _GLOBAL_OFFSET_TABLE_. If the compilation include -xcode=pic32, there are two additional
instructions per global and static memory reference.

When considering the above costs, remember that the use of -xcode=pic13 and -xcode=pic32 
can significantly reduce system memory requirements, due to the effect of library code sharing.
 Every page of code in a shared library compiled -xcode=pic13 or– xcode=pic32 can be shared by
 every process that uses the library. If a page of code in a shared library contains even a single 
non-pic (that is, absolute) memory reference, the page becomes nonsharable, and a copy of the
 page must be created each time a program using the library is executed.

Regardless, the use of -xcode=pic32 would be correct for shared lib code.

zmajeed commented 5 years ago

stage1flex is an executable - not a shared library

blastwave commented 5 years ago

Lovely. I am still leaving -xcode=pic32 in place.

blastwave commented 5 years ago

Well compile went fine with -std=iso9899:2011 wherein the only thing of interest was a few utterances of :

/opt/developerstudio12.6/bin/cc -DHAVE_CONFIG_H -I.  
-DLOCALEDIR=\"/usr/local/share/locale\" -I/usr/local/include -D_TS_ERRNO 
-D_POSIX_PTHREAD_SEMANTICS -D_LARGEFILE64_SOURCE   -std=iso9899:2011 -m64
 -xarch=sparc -g -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 -errfmt=error -c -o flex-misc.o `test -f 'misc.c' || echo './'`misc.c

"misc.c", line 515: warning: argument #1 is incompatible with prototype:
    prototype: restrict pointer to const char : "/usr/include/iso/stdlib_iso.h", line 145
    argument : pointer to unsigned char (E_ARG_INCOMPATIBLE_WITH_ARG_L)
"misc.c", line 537: warning: argument #1 is incompatible with prototype:
    prototype: restrict pointer to const char : "/usr/include/iso/stdlib_iso.h", line 145
    argument : pointer to unsigned char (E_ARG_INCOMPATIBLE_WITH_ARG_L)

Then gmake check fails due to a problem with CXXFLAGS which are not set at all. I didn't see any C++ in there but I guess there is.

blastwave commented 5 years ago

OKay, good stuff :

============================================================================
Testsuite summary for the fast lexical analyser generator 2.6.4
============================================================================
# TOTAL: 114
# PASS:  111
# SKIP:  3
# XFAIL: 0
# FAIL:  0
# XPASS: 0
# ERROR: 0
============================================================================

Two minor edits where we know one of them and the other is just me being pedantic :

beta $ 
beta $ diff -c ./src/scan.c.orig ./src/scan.c
*** ./src/scan.c.orig   Sat May  6 20:38:20 2017
--- ./src/scan.c        Sun Jun  2 13:38:09 2019
***************
*** 5221,5227 ****
                yyin = fopen( infilename, "r" );

                if ( yyin == NULL )
!                       lerr( _( "can't open %s" ), file );
                }

        else
--- 5221,5228 ----
                yyin = fopen( infilename, "r" );

                if ( yyin == NULL )
!                       /* lerr( _( "can't open %s" ), file ); github issue 417 */
!                       lerr( _( "can't open %s: %s" ), file, strerror(errno));
                }

        else
beta $ 
beta $ diff -c ./src/misc.c.orig ./src/misc.c
*** ./src/misc.c.orig   Wed May  3 20:16:37 2017
--- ./src/misc.c        Sun Jun  2 13:38:09 2019
***************
*** 512,518 ****
                        c = array[sptr];
                        array[sptr] = '\0';

!                       esc_char = (unsigned char) strtoul (array + 1, NULL, 8);

                        array[sptr] = c;

--- 512,518 ----
                        c = array[sptr];
                        array[sptr] = '\0';

!                       esc_char = (unsigned char) strtoul ((const char*)array + 1, NULL, 8);

                        array[sptr] = c;

***************
*** 534,540 ****
                        c = array[sptr];
                        array[sptr] = '\0';

!                       esc_char = (unsigned char) strtoul (array + 2, NULL, 16);

                        array[sptr] = c;

--- 534,540 ----
                        c = array[sptr];
                        array[sptr] = '\0';

!                       esc_char = (unsigned char) strtoul ((const char*)array + 2, NULL, 16);

                        array[sptr] = c;

beta $ 
zmajeed commented 5 years ago

I think the real issue is with trying a 64-bit build on Solaris. I'm pretty sure the default 32-bit build will work with c99 or cc without modification. Whatever you did to configure a 64-bit build with c99 leads to a binary inconsistency between compiled code and runtime libraries. Most likely the EFAULT is due to a 32-bit pointer being used as a 64-bit pointer.

blastwave commented 5 years ago
 --> Most likely the EFAULT is due to a 32-bit...

Nope. That isn't the problem.

zmajeed commented 5 years ago

Tried out a 64-bit build on Sun

$c99 -V
c99: Sun C 5.12 SunOS_sparc Patch 148917-07 2013/10/18
$uname -a
SunOS aaa 5.11 11.3 sun4v sparc sun4v Solaris

Got the error:

./stage1flex   -o stage1scan.c flex-2.6.4/src/scan.l
stage1flex: can't open flex-2.6.4/src/scan.l
make[2]: *** [stage1scan.c] Error 1

The problem is apparent right away - a missing prototype for strdup

source='misc.c' object='flex-misc.o' libtool=no DEPDIR=.deps depmode=none /bin/sh flex-2.6.4/build-aux/depcomp c99 -m64 -c -o flex-misc.o `test -f 'misc.c' || echo 'flex-2.6.4/src/'`misc.c
"flex-2.6.4/src/misc.c", line 228: warning: implicit function declaration: strdup

strdup returns a 32-bit int instead of a 64-bit char * causing the EFAULT

This happens because c99 defines _STRICT_STDC causing the correct prototype to be skipped from /usr/include/string.h

#if defined(__EXTENSIONS__) || \
        (!defined(_STRICT_STDC) && !defined(__XOPEN_OR_POSIX)) || \
        defined(_XPG4_2)
extern char *strdup(const char *);
#endif

Tried master - got even more issues - some mentioned above

First of all automake 1.15 is needed - so built that

$./autogen.sh
configure.ac:33: error: require Automake 1.15, but have 1.14.1
autoreconf: automake failed with exit status: 1

Then there is a bad src/mkskel.sh in master that generates this mangled line in skel.c

const char *skel[] = {
  "/* A lexical scanne",r generated by flex */

Fixed mkskel.sh with https://github.com/westes/flex/pull/353/files - this really ought to be in master by now

That resulted in a good build - the missing strdup prototype was fixed in master with https://github.com/westes/flex/commit/24fd0551333e7eded87b64dd36062da3df2f6380 since AC_USE_SYSTEM_EXTENSIONS defines __EXTENSIONS__ on Solaris