yeahdongcn / slowhttptest

Automatically exported from code.google.com/p/slowhttptest
Apache License 2.0
1 stars 0 forks source link

compilation fails since 1.5 #14

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
Compilation fails since 1.5 and later revisions (281 at this time) :

Checked out revision 281.
[sheepdestroyer@sheepora ~]$ cd slowhttptest-read-only/
[sheepdestroyer@sheepora slowhttptest-read-only]$ ./configure
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for g++... g++
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 g++ accepts -g... yes
checking for style of include used by make... GNU
checking dependency style of g++... gcc3
checking for gcc... gcc
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 dependency style of gcc... gcc3
checking for SSL_library_init in -lssl... yes
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/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 fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking limits.h usability... yes
checking limits.h presence... yes
checking for limits.h... yes
checking netdb.h usability... yes
checking netdb.h presence... yes
checking for netdb.h... yes
checking netinet/in.h usability... yes
checking netinet/in.h presence... yes
checking for netinet/in.h... yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking sys/socket.h usability... yes
checking sys/socket.h presence... yes
checking for sys/socket.h... yes
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking for unistd.h... (cached) 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 whether time.h and sys/time.h may both be included... yes
checking sys/select.h usability... yes
checking sys/select.h presence... yes
checking for sys/select.h... yes
checking for sys/socket.h... (cached) yes
checking types of arguments for select... int,fd_set *,struct timeval *
checking for vprintf... yes
checking for _doprnt... no
checking for atexit... yes
checking for gettimeofday... yes
checking for poll... yes
checking for select... yes
checking for socket... yes
checking for strerror... yes
checking for strstr... yes
checking for strtol... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/Makefile
config.status: creating man/Makefile
config.status: creating config.h
config.status: executing depfiles commands
[sheepdestroyer@sheepora slowhttptest-read-only]$ make
 cd . && /bin/sh /home/sheepdestroyer/slowhttptest-read-only/missing --run automake-1.11 --foreign
aclocal.m4:16: warning: this file was generated for autoconf 2.67.
You have another version of autoconf.  It may work, but is not guaranteed to.
If you have problems, you may need to regenerate the build system entirely.
To do so, use the procedure documented by the package, typically `autoreconf'.
configure.ac:6: version mismatch.  This is Automake 1.11.3,
configure.ac:6: but the definition used by this AM_INIT_AUTOMAKE
configure.ac:6: comes from Automake 1.11.1.  You should recreate
configure.ac:6: aclocal.m4 with aclocal and run automake again.
WARNING: `automake-1.11' is probably too old.  You should only need it if
         you modified `Makefile.am', `acinclude.m4' or `configure.ac'.
         You might want to install the `Automake' and `Perl' packages.
         Grab them from any GNU archive site.
CDPATH="${ZSH_VERSION+.}:" && cd . && /bin/sh 
/home/sheepdestroyer/slowhttptest-read-only/missing --run autoconf
/bin/sh ./config.status --recheck
running CONFIG_SHELL=/bin/sh /bin/sh ./configure --no-create --no-recursion
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for g++... g++
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 g++ accepts -g... yes
checking for style of include used by make... GNU
checking dependency style of g++... gcc3
checking for gcc... gcc
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 dependency style of gcc... gcc3
checking for SSL_library_init in -lssl... yes
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/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 fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking limits.h usability... yes
checking limits.h presence... yes
checking for limits.h... yes
checking netdb.h usability... yes
checking netdb.h presence... yes
checking for netdb.h... yes
checking netinet/in.h usability... yes
checking netinet/in.h presence... yes
checking for netinet/in.h... yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking sys/socket.h usability... yes
checking sys/socket.h presence... yes
checking for sys/socket.h... yes
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking for unistd.h... (cached) 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 whether time.h and sys/time.h may both be included... yes
checking sys/select.h usability... yes
checking sys/select.h presence... yes
checking for sys/select.h... yes
checking for sys/socket.h... (cached) yes
checking types of arguments for select... int,fd_set *,struct timeval *
checking for vprintf... yes
checking for _doprnt... no
checking for atexit... yes
checking for gettimeofday... yes
checking for poll... yes
checking for select... yes
checking for socket... yes
checking for strerror... yes
checking for strstr... yes
checking for strtol... yes
configure: creating ./config.status
 /bin/sh ./config.status
config.status: creating Makefile
config.status: creating src/Makefile
config.status: creating man/Makefile
config.status: creating config.h
config.status: config.h is unchanged
config.status: executing depfiles commands
(CDPATH="${ZSH_VERSION+.}:" && cd . && /bin/sh 
/home/sheepdestroyer/slowhttptest-read-only/missing --run autoheader)
rm -f stamp-h1
touch config.h.in
cd . && /bin/sh ./config.status config.h
config.status: creating config.h
config.status: config.h is unchanged
make  all-recursive
make[1]: Entering directory `/home/sheepdestroyer/slowhttptest-read-only'
Making all in src
make[2]: Entering directory `/home/sheepdestroyer/slowhttptest-read-only/src'
g++ -DHAVE_CONFIG_H -I. -I..     -g -O2 -MT slowhttptestmain.o -MD -MP -MF 
.deps/slowhttptestmain.Tpo -c -o slowhttptestmain.o slowhttptestmain.cc
mv -f .deps/slowhttptestmain.Tpo .deps/slowhttptestmain.Po
g++ -DHAVE_CONFIG_H -I. -I..     -g -O2 -MT slowhttptest.o -MD -MP -MF 
.deps/slowhttptest.Tpo -c -o slowhttptest.o slowhttptest.cc
slowhttptest.cc: In member function ‘bool 
slowhttptest::SlowHTTPTest::run_test()’:
slowhttptest.cc:953:30: error: ‘usleep’ was not declared in this scope
make[2]: *** [slowhttptest.o] Error 1
make[2]: Leaving directory `/home/sheepdestroyer/slowhttptest-read-only/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/sheepdestroyer/slowhttptest-read-only'
make: *** [all] Error 2

Original issue reported on code.google.com by sheepdes...@gmail.com on 8 Sep 2012 at 2:51

GoogleCodeExporter commented 9 years ago
Wow, sorry in fact the problem comes from me, i am not able to compile 1.4 
either anymore.
I'm investigating it.

Original comment by sheepdes...@gmail.com on 8 Sep 2012 at 9:35

GoogleCodeExporter commented 9 years ago
i am a bit confuse about what could have gone wrong on my build system...
this is what i get when trying to build 1.4:

[sheepdestroyer@sheepora ~]$ tar -xzf Downloads/slowhttptest-1.4.tar.gz 
[sheepdestroyer@sheepora ~]$ cd slowhttptest-1.4/
[sheepdestroyer@sheepora slowhttptest-1.4]$ ./configure --prefix=/usr/bin
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for g++... g++
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 g++ accepts -g... yes
checking for style of include used by make... GNU
checking dependency style of g++... gcc3
checking for gcc... gcc
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 dependency style of gcc... gcc3
checking for SSL_library_init in -lssl... yes
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/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 fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking limits.h usability... yes
checking limits.h presence... yes
checking for limits.h... yes
checking netdb.h usability... yes
checking netdb.h presence... yes
checking for netdb.h... yes
checking netinet/in.h usability... yes
checking netinet/in.h presence... yes
checking for netinet/in.h... yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking sys/socket.h usability... yes
checking sys/socket.h presence... yes
checking for sys/socket.h... yes
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking for unistd.h... (cached) 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 whether time.h and sys/time.h may both be included... yes
checking sys/select.h usability... yes
checking sys/select.h presence... yes
checking for sys/select.h... yes
checking for sys/socket.h... (cached) yes
checking types of arguments for select... int,fd_set *,struct timeval *
checking for vprintf... yes
checking for _doprnt... no
checking for atexit... yes
checking for gettimeofday... yes
checking for poll... yes
checking for select... yes
checking for socket... yes
checking for strerror... yes
checking for strstr... yes
checking for strtol... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/Makefile
config.status: creating man/Makefile
config.status: creating config.h
config.status: executing depfiles commands
[sheepdestroyer@sheepora slowhttptest-1.4]$ make install
Making install in src
make[1]: Entering directory `/home/sheepdestroyer/slowhttptest-1.4/src'
g++ -DHAVE_CONFIG_H -I. -I..     -g -O2 -MT slowhttptestmain.o -MD -MP -MF 
.deps/slowhttptestmain.Tpo -c -o slowhttptestmain.o slowhttptestmain.cc
slowhttptestmain.cc: In function ‘bool parse_int(int&, long int)’:
slowhttptestmain.cc:114:21: error: ‘optarg’ was not declared in this scope
slowhttptestmain.cc:116:50: error: ‘optopt’ was not declared in this scope
slowhttptestmain.cc:120:57: error: ‘optopt’ was not declared in this scope
slowhttptestmain.cc: In function ‘int main(int, char**)’:
slowhttptestmain.cc:170:78: error: ‘getopt’ was not declared in this scope
slowhttptestmain.cc:224:23: error: ‘optarg’ was not declared in this scope
slowhttptestmain.cc:271:40: error: ‘optopt’ was not declared in this scope
make[1]: *** [slowhttptestmain.o] Error 1
make[1]: Leaving directory `/home/sheepdestroyer/slowhttptest-1.4/src'
make: *** [install-recursive] Error 1
[sheepdestroyer@sheepora slowhttptest-1.4]$ 

Sorry to bother with that, as it seems to come from my specific system (worked 
before, not anymore)

Original comment by sheepdes...@gmail.com on 8 Sep 2012 at 9:46

GoogleCodeExporter commented 9 years ago
Hi, what is the system you are using? Try to include unistd.h in 
slowhttptestmain.cc somewhere after include "config.h". 

Original comment by shek...@gmail.com on 9 Sep 2012 at 6:45

GoogleCodeExporter commented 9 years ago
And let me know about results, please. This is weird indeed. 

Original comment by shek...@gmail.com on 9 Sep 2012 at 6:49

GoogleCodeExporter commented 9 years ago
Hi,
my system is a Fedora 17 64b
I included <unistd.h> in slowhttptest.cc, not in slowhttptestmain.cc where it 
was already included, and the build succedded (just two warnings):

make  all-recursive
make[1]: Entering directory `/home/sheepdestroyer/slowhttptest-1.5'
Making all in src
make[2]: Entering directory `/home/sheepdestroyer/slowhttptest-1.5/src'
g++ -DHAVE_CONFIG_H -I. -I..     -g -O2 -MT slowhttptestmain.o -MD -MP -MF 
.deps/slowhttptestmain.Tpo -c -o slowhttptestmain.o slowhttptestmain.cc
mv -f .deps/slowhttptestmain.Tpo .deps/slowhttptestmain.Po
g++ -DHAVE_CONFIG_H -I. -I..     -g -O2 -MT slowhttptest.o -MD -MP -MF 
.deps/slowhttptest.Tpo -c -o slowhttptest.o slowhttptest.cc
mv -f .deps/slowhttptest.Tpo .deps/slowhttptest.Po
g++ -DHAVE_CONFIG_H -I. -I..     -g -O2 -MT slowsocket.o -MD -MP -MF 
.deps/slowsocket.Tpo -c -o slowsocket.o slowsocket.cc
slowsocket.cc:30:20: warning: missing terminating " character [enabled by 
default]
slowsocket.cc:30:20: warning: extra tokens at end of #include directive 
[enabled by default]
mv -f .deps/slowsocket.Tpo .deps/slowsocket.Po
g++ -DHAVE_CONFIG_H -I. -I..     -g -O2 -MT slowstats.o -MD -MP -MF 
.deps/slowstats.Tpo -c -o slowstats.o slowstats.cc
mv -f .deps/slowstats.Tpo .deps/slowstats.Po
g++ -DHAVE_CONFIG_H -I. -I..     -g -O2 -MT slowurl.o -MD -MP -MF 
.deps/slowurl.Tpo -c -o slowurl.o slowurl.cc
mv -f .deps/slowurl.Tpo .deps/slowurl.Po
g++ -DHAVE_CONFIG_H -I. -I..     -g -O2 -MT slowlog.o -MD -MP -MF 
.deps/slowlog.Tpo -c -o slowlog.o slowlog.cc
mv -f .deps/slowlog.Tpo .deps/slowlog.Po
g++ -DHAVE_CONFIG_H -I. -I..     -g -O2 -MT text-generator.o -MD -MP -MF 
.deps/text-generator.Tpo -c -o text-generator.o text-generator.cc
mv -f .deps/text-generator.Tpo .deps/text-generator.Po
g++ -DHAVE_CONFIG_H -I. -I..     -g -O2 -MT range-generator.o -MD -MP -MF 
.deps/range-generator.Tpo -c -o range-generator.o range-generator.cc
mv -f .deps/range-generator.Tpo .deps/range-generator.Po
g++  -g -O2  -L/usr/local/lib -lssl -o slowhttptest slowhttptestmain.o 
slowhttptest.o slowsocket.o slowstats.o slowurl.o slowlog.o text-generator.o 
range-generator.o  -lssl 
make[2]: Leaving directory `/home/sheepdestroyer/slowhttptest-1.5/src'
Making all in man
make[2]: Entering directory `/home/sheepdestroyer/slowhttptest-1.5/man'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/home/sheepdestroyer/slowhttptest-1.5/man'
make[2]: Entering directory `/home/sheepdestroyer/slowhttptest-1.5'
make[2]: Leaving directory `/home/sheepdestroyer/slowhttptest-1.5'
make[1]: Leaving directory `/home/sheepdestroyer/slowhttptest-1.5'
[sheepdestroyer@sheepora slowhttptest-1.5]$ 

Original comment by sheepdes...@gmail.com on 9 Sep 2012 at 8:29

GoogleCodeExporter commented 9 years ago
regarding the last two warnings, i just removed the last " on line 30 of 
slowsocket.cc and they went away.

Original comment by sheepdes...@gmail.com on 9 Sep 2012 at 8:44

GoogleCodeExporter commented 9 years ago
Have no idea why it happened. For 1.5, I added that unistd.h to fix the build 
on Arch Linux, But I can't explain why 1.4 failed on your machine. Anyway, 
thanks for letting me know. Just uploaded new tar.gz with fixed build. SVN also 
has the fixed sources. 

Original comment by shek...@gmail.com on 9 Sep 2012 at 5:39