linux-can / socketcand

Server to access CAN sockets over ASCII protocol
165 stars 41 forks source link

build failed ubuntu 18 gcc version 7.4.0 #9

Closed estornino closed 4 years ago

estornino commented 4 years ago

build failed @ configure phase by checking config.log hit gcc: error: unrecognized command line option '-V' and

gcc: error: unrecognized command line option '-qversion'; did you mean '--version'?
gcc: fatal error: no input files

autoconf version 2.69 gcc version 7.4.0 (Ubuntu 7.4.0-10ubuntu2~18.04~ppa1)

logs:

  1. ./configure

$ ./configure --prefix=$HOME 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 for config_init in -lconfig... no configure: error: in /home/huide/src/socketcand': configure: error: config test failed (--without-config to disable) Seeconfig.log' for more details

  1. config.log

Thread model: posix gcc version 7.4.0 (Ubuntu 7.4.0-10ubuntu2~18.04~ppa1) configure:2547: $? = 0 configure:2536: gcc -V >&5 gcc: error: unrecognized command line option '-V' gcc: fatal error: no input files compilation terminated. configure:2547: $? = 1 configure:2536: gcc -qversion >&5 gcc: error: unrecognized command line option '-qversion'; did you mean '--version'? gcc: fatal error: no input files compilation terminated. configure:2547: $? = 1 configure:2567: checking whether the C compiler works

should I have to back to use the old version GCC?

yegorich commented 4 years ago

Looks like your main issue is the missing libconfig library. Just invoke configure like this

./configure --without-config

Can you also test this PR https://github.com/linux-can/socketcand/pull/10?

estornino commented 4 years ago
  1. configure --without-config
$ ./configure --without-config
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 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 for pthread_create in -lpthread... 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 arpa/inet.h usability... yes
checking arpa/inet.h presence... yes
checking for arpa/inet.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/ioctl.h usability... yes
checking sys/ioctl.h presence... yes
checking for sys/ioctl.h... 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 syslog.h usability... yes
checking syslog.h presence... yes
checking for syslog.h... yes
checking for unistd.h... (cached) yes
checking pthread.h usability... yes
checking pthread.h presence... yes
checking for pthread.h... yes
checking for inline... inline
checking for size_t... 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 gethostname... yes
checking for gettimeofday... yes
checking for inet_ntoa... yes
checking for memset... yes
checking for select... yes
checking for socket... yes
checking for strerror... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating debian_pack
config.status: creating init.d/socketcand
config.status: error: cannot find input file: `config.h.in'
  1. PR #10 , configure.ac changed and then test:
    • confugure
      
      $ ./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 for config_init in -lconfig... no
      configure: error: in `/home/huide/src/socketcand':
      configure: error: config test failed (--without-config to disable)
      See `config.log' for more details
   - configure --without-config

$ ./configure --without-config 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 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 for pthread_create in -lpthread... 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 arpa/inet.h usability... yes checking arpa/inet.h presence... yes checking for arpa/inet.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/ioctl.h usability... yes checking sys/ioctl.h presence... yes checking for sys/ioctl.h... 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 syslog.h usability... yes checking syslog.h presence... yes checking for syslog.h... yes checking for unistd.h... (cached) yes checking pthread.h usability... yes checking pthread.h presence... yes checking for pthread.h... yes checking for inline... inline checking for size_t... 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 gethostname... yes checking for gettimeofday... yes checking for inet_ntoa... yes checking for memset... yes checking for select... yes checking for socket... yes checking for strerror... yes configure: creating ./config.status config.status: creating Makefile config.status: creating debian_pack config.status: creating init.d/socketcand config.status: error: cannot find input file: `config.h.in'

yegorich commented 4 years ago

Have you invoked the ./autoge.sh after applying my PR? Try it before invoking ./configure.

estornino commented 4 years ago

ah, I forgot; here is what I did:

  1. ./configure and generate the first output
  2. change configure.ac by following PR#10 and run ./configure & ./configure --without-config (output 2 above)
  3. apt install libconfig++
  4. ./autogen.sh and then ./configure passed.

So I didn't get chance to verify PR#10 correctly on this machine. but I did it in another machine with similar software configuration which has same problem when run ./configure; by following PR#10 changes, re-run autogen.sh, configure passed with no errors.

Thank you Yegor.

yegorich commented 4 years ago

@estornino thanks for testing.