• Show log

    Commit

  • Hash : 3f09e923
    Author : ygj6
    Date : 2019-08-08T21:48:21

    Change the minimum version of automake to 1.13 and autoconf to 2.67
    
    When I run make check via automake with a version of 1.12.6 or lower, I got this error:
    
        /bin/sh: line 9: ./test_runner_epoll: No such file or directory
        FAIL: test_runner_epoll
        /bin/sh: line 9: ./test_runner_select: No such file or directory
        FAIL: test_runner_select
        /bin/sh: line 9: ./test_runner_kqueue: No such file or directory
        FAIL: test_runner_kqueue
        /bin/sh: line 9: ./test_runner_evport: No such file or directory
        FAIL: test_runner_evport
        /bin/sh: line 9: ./test_runner_devpoll: No such file or directory
        FAIL: test_runner_devpoll
        /bin/sh: line 9: ./test_runner_poll: No such file or directory
        FAIL: test_runner_poll
        /bin/sh: line 9: ./test_runner_win32: No such file or directory
        FAIL: test_runner_win32
        /bin/sh: line 9: ./test_runner_timerfd: No such file or directory
        FAIL: test_runner_timerfd
        /bin/sh: line 9: ./test_runner_changelist: No such file or directory
        FAIL: test_runner_changelist
        /bin/sh: line 9: ./test_runner_timerfd_changelist: No such file or directory
        FAIL: test_runner_timerfd_changelist
    
    Open the Makefile generated by command ./autogen.sh && ./configure
    I can see the errors are caused by this line:
    
        if $(TESTS_ENVIRONMENT) $${dir}$$tst $(AM_TESTS_FD_REDIRECT); then
    
    $${dir}$$tst will expand to ./test_runner_epoll, but test_runner_epoll is only a target in test/include.am,
    not a file, so it print:
    
        /bin/sh: line 9: ./test_runner_epoll: No such file or directory.
    
    It seems like a bug in automake 1.12.6.
    The errors will disappear if I simply upgrade automake to 1.13, and upgrade autoconf to 2.65
    (2.65 is the lowest version dependent by automake-1.13).
    
    When I build with automake-1.13 and autoconf-2.66, I got another error:
    
        configure.ac:667: error: AC_CHECK_SIZEOF: requires literal arguments
    
    The code in configure.ac line 667 is :
    
        AC_CHECK_SIZEOF(void *)
    
    It is a bug in autoconf-2.66 :
    http://gnu-autoconf.7623.n7.nabble.com/AC-CHECK-SIZEOF-int-is-error-in-autoconf-2-66-td13537.html
    
    Finally, everything works fine when using automake-1.13 and autoconf-2.67.
    Refs: #858