Php7.1 install event unsuccessful.

Issue #51 on hold
Former user created an issue

I try install event.so, but unsuccessful.
I failed with make test.
I changed file name here
Please, help me.
Thanks all.

With error

PHP Warning:  PHP Startup: Unable to load dynamic library '/home/ec2-user/libevent/osmanov-pecl-event-d379aaef9469/modules/event.so' - /home/ec2-user/libevent/osmanov-pecl-event-d379aaef9469/modules/event.so: undefined symbol: php_sockets_le_socket in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '/home/ec2-user/libevent/osmanov-pecl-event-d379aaef9469/modules/event.so' - /home/ec2-user/libevent/osmanov-pecl-event-d379aaef9469/modules/event.so: undefined symbol: php_sockets_le_socket in Unknown on line 0

=====================================================================
PHP         : /usr/bin/php 
Warning: PHP Startup: Unable to load dynamic library '/home/ec2-user/libevent/osmanov-pecl-event-d379aaef9469/modules/event.so' - /home/ec2-user/libevent/osmanov-pecl-event-d379aaef9469/modules/event.so: undefined symbol: php_sockets_le_socket in Unknown on line 0

PHP_SAPI    : cli
PHP_VERSION : 7.1.17
ZEND_VERSION: 3.1.0
PHP_OS      : Linux - Linux ip-172-31-32-225 4.14.47-56.37.amzn1.x86_64 #1 SMP Wed Jun 6 18:49:01 UTC 2018 x86_64
INI actual  : /home/ec2-user/libevent/osmanov-pecl-event-d379aaef9469/tmp-php.ini
More .INIs  :   
CWD         : /home/ec2-user/libevent/osmanov-pecl-event-d379aaef9469
Extra dirs  : 
VALGRIND    : Not used
=====================================================================
TIME START 2018-08-06 02:43:52
=====================================================================
SKIP Check for event presence [tests/01-load.phpt] 
FAIL Check for event configuration features [tests/02-features.phpt] 
FAIL Check for event_add and event_del [tests/03-event-del.phpt] 
SKIP Check for event_buffer sockets [tests/04-bevent-socket.phpt] reason: - event extension not available.
FAIL Check for manipulation with buffer position [tests/05-buffer-pos.phpt] 
FAIL Check for timer event basic behaviour [tests/06-timer.phpt] 
SKIP Check for EventListener error behaviour [tests/07-listener-error-win32.phpt] reason: Event extra functions are disabled
SKIP Check for EventListener error behaviour [tests/07-listener-error.phpt] reason: Event extra functions are disabled
FAIL Check for EventBuffer methods' behaviour [tests/08-buffer.phpt] 
FAIL Check for gc_collect_cycles appled after event free [tests/09-gc-cycles.phpt] 
FAIL Check for event destructor depending on the data property value [tests/10-event-data-dtor.phpt] 
FAIL Check for get_gc property handler [tests/11-gc-cycles.phpt] 
SKIP Check for SEGFAULT with serialization functions [tests/12-serialization.phpt] reason: Event extra functions are disabled
FAIL Check for EventBufferEvent::createPair() [tests/13-bevent-pair.phpt] 
SKIP Check for EventHttpConnection::__construct() error behavior [tests/14-php5-httpconn-error.phpt] reason: Event extra functions are disabled
SKIP Check for EventDnsBase::__construct() error behavior [tests/15-php5-dnsbase-error.phpt] reason: Event extra functions are disabled
SKIP Check for EventHttp::__construct() error behavior [tests/16-php5-http-error.phpt] reason: Event extra functions are disabled
SKIP Check for Event::set() error behavior in PHP 5 [tests/17-event-settimer-error.phpt] reason: target is PHP version < 7
SKIP Check for Event::timer() error behavior in PHP5 [tests/18-timer-error.phpt] reason: target is PHP version < 7
SKIP Check for Event::signal() error behavior in PHP5 [tests/19-event-signal-error.phpt] reason: target is PHP version < 7
SKIP Check for EventBufferEvent::__construct() error behavior in PHP5 [tests/20-bevent-error.phpt] reason: PHP version < 7
SKIP Check for EventBufferEvent::createSslFilter() behavior [tests/21-bevent-sslfilter.phpt] reason: Event extra functions are disabled
SKIP Check for EventBufferEvent::sslSocket() error behavior [tests/21-bevent-sslsocket.phpt] reason: Event extra functions are disabled
SKIP Check for EventBufferEvent::createPair() error behavior in PHP5 [tests/22-php5-bevent-pair-error.phpt] reason: target is PHP version < 7
SKIP Check for EventListener error behaviour in PHP5 [tests/23-php5-listener-error.phpt] reason: target is PHP version < 7
SKIP Check for EventBufferEvent::createSslFilter() error behavior [tests/24-php5-bevent-sslfilter-error.phpt] reason: Event extra functions are disabled
SKIP Check for EventBufferEvent::sslSocket() error behavior [tests/25-php5-bevent-sslsocket-error.phpt] reason: Event extra functions are disabled
SKIP Check for EventHttp* objects debug info [tests/26-http-debug-info.phpt] reason: Event extra functions are disabled
SKIP Check for EventUtil::createSocket [tests/27-event-util-create-socket.phpt] reason: sockets extension is not available
SKIP Check for EventBufferEvent SSL features [tests/28-bevent-ssl.phpt] reason: Event is built without EventBufferEvent support
SKIP Check for EventBufferEvent SSL features, OpenSSL version 1.1.0 and above [tests/28-bevent-ssl1.1.0.phpt] reason: Event is built without EventBufferEvent support
FAIL Check for EventBuffer::pullup method behavior [tests/29-buffer-pullup.phpt] 
SKIP Check for EventListener::free behavior [tests/30-listener-free.phpt] reason: Event extra functions are disabled
FAIL Check for issue #31 [tests/31-issue.phpt] 
FAIL Check for issue #49 [tests/49-issue.phpt] 
=====================================================================
TIME END 2018-08-06 02:43:52

=====================================================================
TEST RESULT SUMMARY
---------------------------------------------------------------------
Exts skipped    :    0
Exts tested     :   14
---------------------------------------------------------------------

Number of tests :   35                12
Tests skipped   :   23 ( 65.7%) --------
Tests warned    :    0 (  0.0%) (  0.0%)
Tests failed    :   12 ( 34.3%) (100.0%)
Expected fail   :    0 (  0.0%) (  0.0%)
Tests passed    :    0 (  0.0%) (  0.0%)
---------------------------------------------------------------------
Time taken      :    0 seconds
=====================================================================

=====================================================================
FAILED TEST SUMMARY
---------------------------------------------------------------------
Check for event configuration features [tests/02-features.phpt]
Check for event_add and event_del [tests/03-event-del.phpt]
Check for manipulation with buffer position [tests/05-buffer-pos.phpt]
Check for timer event basic behaviour [tests/06-timer.phpt]
Check for EventBuffer methods' behaviour [tests/08-buffer.phpt]
Check for gc_collect_cycles appled after event free [tests/09-gc-cycles.phpt]
Check for event destructor depending on the data property value [tests/10-event-data-dtor.phpt]
Check for get_gc property handler [tests/11-gc-cycles.phpt]
Check for EventBufferEvent::createPair() [tests/13-bevent-pair.phpt]
Check for EventBuffer::pullup method behavior [tests/29-buffer-pullup.phpt]
Check for issue #31 [tests/31-issue.phpt]
Check for issue #49 [tests/49-issue.phpt]
=====================================================================

Comments (11)

  1. Ruslan Osmanov repo owner

    Please attach the output of the whole build process including configure, make and make test commands. Just how exactly the extension is built?

    Also please attach the output of php -i command.

  2. Ruslan Osmanov repo owner

    For the sake of a test, try to comment out everything from /etc/php-7.1.d/z-20-sockets.ini, then replace contents of /etc/php-7.1.d/z-30-event.ini with the following:

    extension=sockets.so
    extension=event.so
    

    Try to run some PHP, e.g.: php script.php.

  3. Van Huynh

    Thanks you.
    I try edit z-20-sockets.ini and z-30-event.ini, and restart httpd.
    But when run ratchetphp, had php error.

    Error - Call to undefined method Event::register() in COREPATH/classes/fuel.php on line 192
    PHP Fatal error:  Uncaught Error: Call to undefined method Event::instance() in /var/www/html/fuel/core/bootstrap.php:62
    Stack trace:
    #0 [internal function]: {closure}()
    #1 {main}
      thrown in /var/www/html/fuel/core/bootstrap.php on line 62
    
    Fatal error: Uncaught Error: Call to undefined method Event::instance() in /var/www/html/fuel/core/bootstrap.php:62
    Stack trace:
    #0 [internal function]: {closure}()
    #1 {main}
      thrown in /var/www/html/fuel/core/bootstrap.php on line 62
    
  4. Ruslan Osmanov repo owner

    If you are trying to configure Ratchet/React PHP, then you need to configure the CLI SAPI -- there is no need in an "httpd" daemon (which is likely running Apache2 SAPI).

    Also, the Event extension is designed to work in CLI SAPI only.

    Have you tried to run php -m after the suggested modifications? Can you see the "event" item there?

  5. Van Huynh

    Thanks you. I can see "event".
    I think problem, php_sockets_le_socket no found. but sockets.so installed and sockets.so load before event.so. (i try build pecl-ev, but same error.)

    PHP Warning:  PHP Startup: Unable to load dynamic library '/home/ec2-user/libevent/osmanov-pecl-event-d379aaef9469/modules/event.so' - /home/ec2-user/libevent/osmanov-pecl-event-d379aaef9469/modules/event.so: undefined symbol: php_sockets_le_socket in Unknown on line 0
    
    [PHP Modules]
    bz2
    calendar
    Core
    ctype
    curl
    date
    dom
    event
    exif
    fileinfo
    filter
    ftp
    gettext
    hash
    iconv
    intl
    json
    libxml
    mbstring
    mysqli
    mysqlnd
    openssl
    pcntl
    pcre
    PDO
    pdo_mysql
    pdo_sqlite
    Phar
    posix
    readline
    Reflection
    session
    shmop
    SimpleXML
    sockets
    SPL
    sqlite3
    standard
    sysvmsg
    sysvsem
    sysvshm
    tokenizer
    wddx
    xml
    xmlreader
    xmlwriter
    xsl
    zip
    zlib
    
    [Zend Modules]
    
  6. Ruslan Osmanov repo owner

    I wonder why PHP tries to load event.so from '/home/ec2-user/libevent/osmanov-pecl-event-d379aaef9469/modules/event.so'. Have you installed the library there?

    Did you try to test a CLI script apart from running make test?

    How exactly did you install the event extension? (Note, pecl-ev you are referring to is a different extension.)

  7. Van Huynh

    I ./configure and make, I running make test, but had error.
    After i make install, Installing shared extensions: /usr/lib64/php/7.1/modules/.
    I tries run php (ratchetphp use event lib).

    /bin/sh /home/ec2-user/libevent/event-2.4.0/libtool --mode=install cp ./event.la /home/ec2-user/libevent/event-2.4.0/modules
    libtool: install: cp ./.libs/event.so /home/ec2-user/libevent/event-2.4.0/modules/event.so
    libtool: install: cp ./.libs/event.lai /home/ec2-user/libevent/event-2.4.0/modules/event.la
    libtool: finish: PATH="/sbin:/bin:/usr/sbin:/usr/bin:/sbin" ldconfig -n /home/ec2-user/libevent/event-2.4.0/modules
    ----------------------------------------------------------------------
    Libraries have been installed in:
       /home/ec2-user/libevent/event-2.4.0/modules
    
    If you ever happen to want to link against installed libraries
    in a given directory, LIBDIR, you must either use libtool, and
    specify the full pathname of the library, or use the `-LLIBDIR'
    flag during linking and do at least one of the following:
       - add LIBDIR to the `LD_LIBRARY_PATH' environment variable
         during execution
       - add LIBDIR to the `LD_RUN_PATH' environment variable
         during linking
       - use the `-Wl,-rpath -Wl,LIBDIR' linker flag
       - have your system administrator add LIBDIR to `/etc/ld.so.conf'
    
    See any operating system documentation about shared libraries for
    more information, such as the ld(1) and ld.so(8) manual pages.
    ----------------------------------------------------------------------
    Installing shared extensions:     /usr/lib64/php/7.1/modules/
    
  8. Ruslan Osmanov repo owner

    It would be better to have an SSH access to that machine, or a Docket container. Otherwise, I can only guess.

    Please locate the sockets.so file, go to the directory containing the file, and run:

    nm -D sockets.so
    

    I'd like to look at the output.

  9. Van Huynh

    sockets.so no found.
    I want send you SSH access.
    can you send your mail to me?
    Thank you.

    nm -D sockets.so
    
    nm: 'sockets.so': No such file
    

    But

    sudo find / -name sockets.so
    
    /usr/lib64/php-zts/7.1/modules/sockets.so
    /usr/lib64/php/7.1/modules/sockets.so
    
  10. Log in to comment