Skip to main content

Error installing PHP PECL

Comments

16 comments

  • cPanelMichael
    Hello, Verify the "libsodium-devel" package is installed on your system and then try installing the PECL module again:
    yum install libsodium-devel
    Thanks!
    0
  • JanE182098109
    Hello. Thank you for your reply. My apologies, I typed incorrectly on my opening post. I actually did do yum install libsodium-devel, which installs libsodium as dependency. Verified and have these installed: libsodium-devel-0.4.5-3.el6.x86_64 and libsodium-0.4.5-3.el6.x86_64 I wonder is there a way to try to install a different version of libsodium or pecl libsodium? PECL :: Package :: libsodium Maybe this is some incompatibility issue? One error (configure: error: wrong libsodium lib version or lib not found) refers to situation I found here: github.com/jedisct1/libsodium-php/blob/master/config.m4 (line 37) Just a guess, I have no idea what's wrong.
    0
  • JanE182098109
    Update: I tried this (found on: stackoverflow.com/questions/36705155/trouble-installing-libsodium-on-centos-6) yum --enablerepo=remi install php-pecl-libsodium Error getting repository data for remi, repository not found I don't know if enabling remi repo can mess up with cPanel/server updates, so I have not enabled it. @cPanelMichael, can I install remi safely so that I could try the command above? Or is there some other, perhaps more appropriate way of trying this?
    0
  • cPanelMichael
    Hello, You could try manually compiling the library before installing a custom YUM repo. The instructions on github.com/jedisct1/libsodium suggest running the following commands:
    cd /usr/src git clone https://github.com/jedisct1/libsodium cd libsodium ./autogen.sh
    Thank you.
    0
  • JanE182098109
    Hi. Thank you, I appreciate it. I already did that on another (non-production) server, but the extension does not load. This time the error was: Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/libsodium.so' - /usr/lib64/php/modules/libsodium.so: undefined symbol: crypto_pwhash_memlimit_sensitive in Unknown on line 0 I think I might try compiling both libsodium(libsodium.org/) and the php-extension (github.com/jedisct1/libsodium) from source(s) with latest versions and see what happens.
    0
  • yatesf
    I might try compiling both libsodium(libsodium.org/) and the php-extension (github.com/jedisct1/libsodium) from source(s)

    Did this work for you? If not, did you find another way to get it to work? I'm having the exact same errors you described.
    0
  • JanE182098109
    Did this work for you? If not, did you find another way to get it to work? I'm having the exact same errors you described.

    I did not go that far. I gave up on libsodium, because I found another solution that met my needs for encryption. We only have one cPanel server, and it's a production server with customers on so I could not test things further. Sorry. If you manage to get things working, please post your solution here.
    0
  • yatesf
    If you manage to get things working, please post your solution here.


    yum install libsodium-devel
    In my case, the above yum command did not install all of the correct ".h" crypto include files that were needed in order for the PECL extension to pass it's initial checks for proper installation. To be more specific, the assignment of LIBSYMBOL=crypto_pwhash_scryptsalsa208sha256 (on github.com/jedisct1/libsodium-php/blob/master/config.m4 line 30 of this config.m4 file) causes a false evaluation later in a dependency check because the file "crypto_pwhash_scryptsalsa208sha256.h" didn't exist in my /usr/include/sodium/ directory. So as my workaround, I installed the libsodium library manually from the latest available tarball instead (github.com/jedisct1/libsodium/releases v1.0.11). After that, all the latest ".h" crypto files were included in a /usr/local/include/sodium/ folder, thus causing the PECL extension installation check to pass. I was able to run the PECL extension installation successfully (I even ran my PECL extension installation from WHM via: Home " Software " Module Installers " PHP PECL Manage I rebooted Apache, and I was good to go. Hope this might help others who have the same install problem on a cPanel server.
    0
  • JanE182098109

    yum install libsodium-devel
    I rebooted Apache, and I was good to go. Hope this might help others who have the same install problem on a cPanel server.

    Ok, good to hear that you managed to get it working. Libsodium is a great library and I could use it in several other projects. We should have a development server with cPanel coming soon, so I am going to try this then. Thank you very much for sharing!
    0
  • yatesf
    Thank you very much for sharing!

    refers to situation I found here: github.com/jedisct1/libsodium-php/blob/master/config.m4 (line 37)

    You're very welcome. I really have to thank you though, because if it had not been for the identification of line 37 in that config.m4 file (above), I would have never taken the time to further trace the installation issue that I was experiencing, and I would have given up on libsodium and implemented a much weaker KDF into my hashing & encryption designs. That was just enough of a great starting point for me to find the motivation to pursue further.
    0
  • JanE182098109
    Glad to hear that I had even some (eventhough extremely small, but "significant") :) part solving this problem. Great work and thanks again!
    0
  • sneader
    I thought I'd chime in with the process I used to get libsodium installed, with php pecl. I also included how I offered this as an optional extension via PHP Selector in CloudLinux, in case this is useful... First we have to install the Remi Repo:
    wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm rpm -Uvh remi-release-6*.rpm
    Now we install libsodium using the Remi Repo:
    yum --enablerepo=remi install libsodium-devel
    Now we install libsodium PHP PECL via WHM: WHM > Module Installers > PHP Pecl > libsodium > install Disable the Remi Repo: (I didn't have to do this, as my config already showed it disabled, but best to double check!)
    nano /etc/yum.repos.d/remi.repo
    (then set enabled=0 if it is enabled) ADD TO CLOUDLINUX PHP SELECTOR: These instructions add it for PHP 7.0, but you could add it to 5.6 or 7.1, too, by just duplicating these steps: First, we have to copy the libsodium shared object that was installed into the respective alt-php folder (in this case /opt/alt/php70 for PHP 7.0)
    cp /usr/local/lib/php/extensions/no-debug-non-zts-20131226/libsodium.so /opt/alt/php70/usr/lib64/php/modules/libsodium.so
    Next, we have to create an ini file for libsodium:
    nano /opt/alt/php70/etc/php.d.all/libsodium.ini
    in this file put:
    ; Enable libsodium for PHP 7.0 - this is a comment, put anything here. extension=libsodium.so
    Do the same for any other non-native version of PHP Lastly, update cagefs...
    cagefsctl --force-update
    0
  • Luana Premoli
    Hi, I have the same problem.
    downloading libsodium-1.0.6.tgz ... Starting to download libsodium-1.0.6.tgz (169,817 bytes) .....................................done: 169,817 bytes 9 source files, building running: phpize Configuring for: PHP Api Version: 20131106 Zend Module Api No: 20131226 Zend Extension Api No: 220131226 building in /root/tmp/pear/pear-build-root1XlPUH/libsodium-1.0.6 running: /root/tmp/pear/libsodium/configure --with-php-config=/opt/cpanel/ea-php56/root/usr/bin/php-config checking for grep that handles long lines and -e... /bin/grep checking for egrep... /bin/grep -E checking for a sed that does not truncate output... /bin/sed checking for cc... cc checking for C compiler default output file name... a.out checking whether the C compiler works... yes checking whether we are cross compiling... no checking for suffix of executables... checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether cc accepts -g... yes checking for cc option to accept ISO C89... none needed checking how to run the C preprocessor... cc -E checking for icc... no checking for suncc... no checking whether cc understands -c and -o together... yes checking for system library directory... lib checking if compiler supports -R... no checking if compiler supports -Wl,-rpath,... yes checking build system type... x86_64-unknown-linux-gnu checking host system type... x86_64-unknown-linux-gnu checking target system type... x86_64-unknown-linux-gnu checking for PHP prefix... /opt/cpanel/ea-php56/root/usr checking for PHP includes... -I/opt/cpanel/ea-php56/root/usr/include/php -I/opt/cpanel/ea-php56/root/usr/include/php/main -I/opt/cpanel/ea-php56/root/usr/include/php/TSRM -I/opt/cpanel/ea-php56/root/usr/include/php/Zend -I/opt/cpanel/ea-php56/root/usr/include/php/ext -I/opt/cpanel/ea-php56/root/usr/include/php/ext/date/lib checking for PHP extension directory... /opt/cpanel/ea-php56/root/usr/lib64/php/modules checking for PHP installed headers prefix... /opt/cpanel/ea-php56/root/usr/include/php checking if debug is enabled... no checking if zts is enabled... no checking for re2c... re2c checking for re2c version... 0.13.5 (ok) checking for gawk... gawk checking for libsodium support... yes, shared checking for libsodium files in default path... found in /usr/local found in /usr checking for crypto_pwhash_scryptsalsa208sha256 in -lsodium... no configure: error: wrong libsodium lib version or lib not found ERROR: `/root/tmp/pear/libsodium/configure --with-php-config=/opt/cpanel/ea-php56/root/usr/bin/php-config' failed
    And:
    root@vpsmx [~]# yum install libsodium-devel Loaded plugins: fastestmirror, universal-hooks Setting up Install Process Loading mirror speeds from cached hostfile epel/metalink | 11 kB 00:00 * EA4: 209.85.80.214 * cpanel-addons-production-feed: 209.85.80.214 * base: mirror.datto.com * epel: pubmirror2.math.uh.edu * extras: repos.dfw.quadranet.com * remi-safe: repo1.dal.innoscale.net * updates: mirror.compevo.com * webtatic: us-east.repo.webtatic.com EA4 | 2.9 kB 00:00 ... cpanel-addons-production-feed | 2.9 kB 00:00 ... base | 3.7 kB 00:00 cpanel-plugins | 2.9 kB 00:00 ... epel | 4.3 kB 00:00 epel/primary_db | 5.9 MB 00:00 extras | 3.4 kB 00:00 hgdedi | 2.9 kB 00:00 remi-safe | 2.9 kB 00:00 updates | 3.4 kB 00:00 webtatic | 3.6 kB 00:00 Package libsodium-devel-0.4.5-3.el6.x86_64 already installed and latest version Nothing to do root@vpsmx [~]#
    And: Download a
    0
  • cPanelMichael
    Hello @Luana Premoli, Could you verify if you tried using the instructions referenced on this post? Thank you.
    0
  • Luana Premoli
    Hi. Which one does it refer to? I've tried a few ways.
    root@vpstest [~]# wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm --2017-06-14 14:11:07-- http://rpms.famillecollet.com/enterprise/remi-release-6.rpm Resolving rpms.famillecollet.com... 195.154.241.117, 2001:bc8:33a1:100::1 Connecting to rpms.famillecollet.com|195.154.241.117|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 8344 (8.1K) [application/x-rpm] Saving to: "remi-release-6.rpm" 100%[===========================================================================================================================================================>] 8,344 --.-K/s in 0s 2017-06-14 14:11:08 (472 MB/s) - "remi-release-6.rpm" saved [8344/8344] root@vpstest [~]# rpm -Uvh remi-release-6*.rpm warning: remi-release-6.rpm: Header V4 DSA/SHA1 Signature, key ID 00f97f56: NOKEY error: Failed dependencies: epel-release = 6 is needed by remi-release-6.8-2.el6.remi.noarch root@vpstest [~]#
    0
  • cPanelMichael
    Hello, Clicking on the following URL will take you to the specific post I'm referring to. Error installing PHP PECL Thanks.
    0

Please sign in to leave a comment.