1 (edited by jbertozzi 2017-03-08 13:17:36)

Topic: Question about sclo-php70-php-pecl-{redis,memcached}

Hi,

I was working on packaging some PECL extension for PHP 7 on RHEL7 and I came across sclo repository and this blog post. In the comment I found exactly what I needed (redis and memcached):


Remi wrote:

Pushed in stable: memcached, msgpack and redis
Pushed in testing: imap, smbclient

After a quick search in rhel-server-rhscl-7-rpms and centos-sclo-sclo, I can't find those packages.

By "pushed in stable" does it mean there will be in rhscl or in sclo?

Why I can't see them in any repository? Sorry if I missed something obvious.

Jeremy

Re: Question about sclo-php70-php-pecl-{redis,memcached}

I mean in centos-sclo-sclo (stable)

Probably you have to wait for signature process, or wait for mirror to be synced, else simply pull them from centos-sclo-sclo-testing.



P.S. indeed, not yet available, I've asked infra admin about the sync process.

Desktop: Fedora 25 x86_64 + rpmfusion + remi-test + remi-dev
Laptop:  Fedora 24 x86_64 + remi (SCL only)
Hosting Server: CentOS 6.8 x86_64 + EPEL + remi + remi-php70

Re: Question about sclo-php70-php-pecl-{redis,memcached}

Sync issue fixed, found in http://mirror.centos.org/centos-7/7/scl … clo-php70/

Desktop: Fedora 25 x86_64 + rpmfusion + remi-test + remi-dev
Laptop:  Fedora 24 x86_64 + remi (SCL only)
Hosting Server: CentOS 6.8 x86_64 + EPEL + remi + remi-php70

Re: Question about sclo-php70-php-pecl-{redis,memcached}

Thank you for your help!

For some reason the repomd.xml found in my cache is still pointing to the old primary.xml (I manually deleted it before to run my reposync):

cat /var/cache/yum/x86_64/7Server/sclo-sig/repomd.xml
<data type="primary">
  <checksum type="sha256">d0a1ad3537b1a9a9a7e59c13186044a68aa4650cb3d8563dca88daab0264c6d4</checksum>
  <open-checksum type="sha256">dadc8c43c3330c186c4430f65ddef4f494134295853ef0693e9ef100f77af358</open-checksum>
  <location href="repodata/d0a1ad3537b1a9a9a7e59c13186044a68aa4650cb3d8563dca88daab0264c6d4-primary.xml.gz"/>
  <timestamp>1488389376</timestamp>
  <size>81473</size>
  <open-size>731679</open-size>
</data>

Anyway I manually downloaded the files repomd.xml and primary.sqlite.bz2 in my cache directory and I was able to synchronize the repo.

Another question about those packages. One of the goals of the sclo SIG is to act as upstream for softwarecollection.org. Does it mean we will get all those packages in rhscl at some point? What are the conditions for a package to be in rshcl?

Re: Question about sclo-php70-php-pecl-{redis,memcached}

I also had this warning at installation:

Running transaction
  Installing : sclo-php70-php-pecl-memcached-3.0.3-2.el7.x86_64                                                                                                                                                                          1/1
PHP Warning:  PHP Startup: Unable to load dynamic library '/opt/rh/rh-php70/root/usr/lib64/php/modules/memcached.so' - /opt/rh/rh-php70/root/usr/lib64/php/modules/memcached.so: undefined symbol: php_json_decode_ex in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '/opt/rh/rh-php70/root/usr/lib64/php/modules/memcached.so' - /opt/rh/rh-php70/root/usr/lib64/php/modules/memcached.so: undefined symbol: php_json_decode_ex in Unknown on line 0
Uploading Package Profile
  Verifying  : sclo-php70-php-pecl-memcached-3.0.3-2.el7.x86_64                    

All libraries seem to be installed:

ldd /opt/rh/rh-php70/root/usr/lib64/php/modules/memcached.so
linux-vdso.so.1 =>  (0x00007ffd153f2000)
libmemcachedprotocol.so.0 => /lib64/libmemcachedprotocol.so.0 (0x00007f5212d49000)
libz.so.1 => /lib64/libz.so.1 (0x00007f5212b33000)
libmemcached.so.11 => /lib64/libmemcached.so.11 (0x00007f5212900000)
libmemcachedutil.so.2 => /lib64/libmemcachedutil.so.2 (0x00007f52126fb000)
libsasl2.so.3 => /lib64/libsasl2.so.3 (0x00007f52124de000)
libevent-2.0.so.5 => /lib64/libevent-2.0.so.5 (0x00007f5212295000)
libc.so.6 => /lib64/libc.so.6 (0x00007f5211ed3000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f5211cb7000)
libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007f52119ae000)
libm.so.6 => /lib64/libm.so.6 (0x00007f52116ac000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f5211496000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f5211291000)
libresolv.so.2 => /lib64/libresolv.so.2 (0x00007f5211077000)
libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00007f5210e40000)
/lib64/ld-linux-x86-64.so.2 (0x00007f521317e000)
libfreebl3.so => /lib64/libfreebl3.so (0x00007f5210c3c000)

Any idea?

Re: Question about sclo-php70-php-pecl-{redis,memcached}

Strangely I cannot reproduce
Can be only related to install order if memcached installed before json


What is the output of php -v; php -m ?

if memcached is listed there, everything is ok.


is rh-php70-php-json installed ?

Desktop: Fedora 25 x86_64 + rpmfusion + remi-test + remi-dev
Laptop:  Fedora 24 x86_64 + remi (SCL only)
Hosting Server: CentOS 6.8 x86_64 + EPEL + remi + remi-php70

Re: Question about sclo-php70-php-pecl-{redis,memcached}

From a fresh install

# yum install rh-php70 rh-php70-php-pecl-memcached rh-php70-php-pecl-redis
...
Running transaction
  Installation : rh-php70-runtime-2.3-1.el7.x86_64                                                                                                                             1/13 
  Installation : rh-php70-php-json-7.0.10-2.el7.x86_64                                                                                                                         2/13 
  Installation : rh-php70-php-zip-7.0.10-2.el7.x86_64                                                                                                                          3/13 
  Installation : rh-php70-php-common-7.0.10-2.el7.x86_64                                                                                                                       4/13 
  Installation : sclo-php70-php-pecl-igbinary-2.0.1-1.el7.x86_64                                                                                                               5/13 
  Installation : rh-php70-php-cli-7.0.10-2.el7.x86_64                                                                                                                          6/13 
  Installation : rh-php70-php-process-7.0.10-2.el7.x86_64                                                                                                                      7/13 
  Installation : rh-php70-php-xml-7.0.10-2.el7.x86_64                                                                                                                          8/13 
  Installation : 1:rh-php70-php-pear-1.10.1-3.el7.noarch                                                                                                                       9/13 
  Installation : sclo-php70-php-pecl-msgpack-2.0.2-1.el7.x86_64                                                                                                               10/13 
  Installation : sclo-php70-php-pecl-memcached-3.0.3-2.el7.x86_64                                                                                                             11/13 
  Installation : rh-php70-2.3-1.el7.x86_64                                                                                                                                    12/13 
  Installation : sclo-php70-php-pecl-redis-3.1.1-1.el7.x86_64                                                                                                                 13/13 
  Vérification : rh-php70-runtime-2.3-1.el7.x86_64                                                                                                                             1/13 
  Vérification : sclo-php70-php-pecl-igbinary-2.0.1-1.el7.x86_64                                                                                                               2/13 
  Vérification : sclo-php70-php-pecl-redis-3.1.1-1.el7.x86_64                                                                                                                  3/13 
  Vérification : 1:rh-php70-php-pear-1.10.1-3.el7.noarch                                                                                                                       4/13 
  Vérification : rh-php70-php-json-7.0.10-2.el7.x86_64                                                                                                                         5/13 
  Vérification : rh-php70-php-process-7.0.10-2.el7.x86_64                                                                                                                      6/13 
  Vérification : rh-php70-php-zip-7.0.10-2.el7.x86_64                                                                                                                          7/13 
  Vérification : rh-php70-php-xml-7.0.10-2.el7.x86_64                                                                                                                          8/13 
  Vérification : rh-php70-2.3-1.el7.x86_64                                                                                                                                     9/13 
  Vérification : sclo-php70-php-pecl-msgpack-2.0.2-1.el7.x86_64                                                                                                               10/13 
  Vérification : rh-php70-php-cli-7.0.10-2.el7.x86_64                                                                                                                         11/13 
  Vérification : rh-php70-php-common-7.0.10-2.el7.x86_64                                                                                                                      12/13 
  Vérification : sclo-php70-php-pecl-memcached-3.0.3-2.el7.x86_64                                                                                                             13/13 

Installé :
  rh-php70.x86_64 0:2.3-1.el7                  sclo-php70-php-pecl-memcached.x86_64 0:3.0.3-2.el7                  sclo-php70-php-pecl-redis.x86_64 0:3.1.1-1.el7                 

Dépendances installées :
  rh-php70-php-cli.x86_64 0:7.0.10-2.el7                       rh-php70-php-common.x86_64 0:7.0.10-2.el7              rh-php70-php-json.x86_64 0:7.0.10-2.el7                      
  rh-php70-php-pear.noarch 1:1.10.1-3.el7                      rh-php70-php-process.x86_64 0:7.0.10-2.el7             rh-php70-php-xml.x86_64 0:7.0.10-2.el7                       
  rh-php70-php-zip.x86_64 0:7.0.10-2.el7                       rh-php70-runtime.x86_64 0:2.3-1.el7                    sclo-php70-php-pecl-igbinary.x86_64 0:2.0.1-1.el7            
  sclo-php70-php-pecl-msgpack.x86_64 0:2.0.2-1.el7            

Terminé !

# scl enable rh-php70 'php -v'
PHP 7.0.10 (cli) (built: Nov  3 2016 08:06:03) ( NTS )
Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies

# scl enable rh-php70 'php -m'
[PHP Modules]
bz2
calendar
Core
ctype
curl
date
dom
exif
fileinfo
filter
ftp
gettext
hash
iconv
igbinary
json
libxml
memcached
msgpack
openssl
pcntl
pcre
Phar
posix
readline
redis
Reflection
session
shmop
SimpleXML
sockets
SPL
standard
sysvmsg
sysvsem
sysvshm
tokenizer
wddx
xml
xmlreader
xmlwriter
xsl
zip
zlib

[Zend Modules]

# scl enable rh-php70 'pecl list'
Installed packages, channel pecl.php.net:
=========================================
Package   Version State
igbinary  2.0.1   stable
memcached 3.0.3   stable
msgpack   2.0.2   stable
redis     3.1.1   stable
Desktop: Fedora 25 x86_64 + rpmfusion + remi-test + remi-dev
Laptop:  Fedora 24 x86_64 + remi (SCL only)
Hosting Server: CentOS 6.8 x86_64 + EPEL + remi + remi-php70

8 (edited by jbertozzi 2017-03-09 07:36:36)

Re: Question about sclo-php70-php-pecl-{redis,memcached}

#yum remove sclo-php70-php-pecl-memcached-3.0.3-2.el7.x86_64
Loaded plugins: local, package_upload, product-id, search-disabled-repos, subscription-manager
Resolving Dependencies
--> Running transaction check
---> Package sclo-php70-php-pecl-memcached.x86_64 0:3.0.3-2.el7 will be erased
--> Finished Dependency Resolution

Dependencies Resolved

=============================================================================================================================================================================================================================================
 Package                                                                  Arch                                              Version                                                 Repository                                          Size
=============================================================================================================================================================================================================================================
Removing:
 sclo-php70-php-pecl-memcached                                            x86_64                                            3.0.3-2.el7                                             @_local                                            179 k

Transaction Summary
=============================================================================================================================================================================================================================================
Remove  1 Package

Installed size: 179 k
Is this ok [y/N]: y
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Erasing    : sclo-php70-php-pecl-memcached-3.0.3-2.el7.x86_64                                                                                                                                                                          1/1
Uploading Package Profile
  Verifying  : sclo-php70-php-pecl-memcached-3.0.3-2.el7.x86_64                                                                                                                                                                          1/1

Removed:
  sclo-php70-php-pecl-memcached.x86_64 0:3.0.3-2.el7

Complete!

Same warning at installation:
                                                                                                                                                                     

#yum install sclo-php70-php-pecl-memcached-3.0.3-2.el7.x86_64 --nogpgcheck
Loaded plugins: local, package_upload, product-id, search-disabled-repos, subscription-manager
Resolving Dependencies
--> Running transaction check
---> Package sclo-php70-php-pecl-memcached.x86_64 0:3.0.3-2.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

=============================================================================================================================================================================================================================================
 Package                                                                  Arch                                              Version                                                  Repository                                         Size
=============================================================================================================================================================================================================================================
Installing:
 sclo-php70-php-pecl-memcached                                            x86_64                                            3.0.3-2.el7                                              _local                                             67 k

Transaction Summary
=============================================================================================================================================================================================================================================
Install  1 Package

Total download size: 67 k
Installed size: 179 k
Is this ok [y/d/N]: y
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : sclo-php70-php-pecl-memcached-3.0.3-2.el7.x86_64                                                                                                                                                                          1/1
PHP Warning:  PHP Startup: Unable to load dynamic library '/opt/rh/rh-php70/root/usr/lib64/php/modules/memcached.so' - /opt/rh/rh-php70/root/usr/lib64/php/modules/memcached.so: undefined symbol: php_json_decode_ex in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '/opt/rh/rh-php70/root/usr/lib64/php/modules/memcached.so' - /opt/rh/rh-php70/root/usr/lib64/php/modules/memcached.so: undefined symbol: php_json_decode_ex in Unknown on line 0
Uploading Package Profile
  Verifying  : sclo-php70-php-pecl-memcached-3.0.3-2.el7.x86_64                                                                                                                                                                          1/1

Installed:
  sclo-php70-php-pecl-memcached.x86_64 0:3.0.3-2.el7

Complete!

So, warning here:

#scl enable rh-php70 'php -m'
PHP Warning:  PHP Startup: Unable to load dynamic library '/opt/rh/rh-php70/root/usr/lib64/php/modules/memcached.so' - /opt/rh/rh-php70/root/usr/lib64/php/modules/memcached.so: undefined symbol: php_json_decode_ex in Unknown on line 0
[PHP Modules]
Core
date
filter
hash
igbinary
libxml
msgpack
openssl
pcntl
pcre
readline
redis
Reflection
session
SPL
standard
xdebug
zlib

[Zend Modules]
Xdebug

And php-jon already installed:

#yum install rh-php70-php-json
Loaded plugins: local, package_upload, product-id, search-disabled-repos, subscription-manager
Package rh-php70-php-json-7.0.10-2.el7.x86_64 already installed and latest version
Nothing to do
#rpm -qi rh-php70-php-json
Name        : rh-php70-php-json
Version     : 7.0.10
Release     : 2.el7
Architecture: x86_64
Install Date: Tue 21 Feb 2017 10:42:10 AM CET
Group       : System Environment/Libraries
Size        : 40746
License     : PHP
Signature   : RSA/SHA256, Thu 03 Nov 2016 12:34:19 PM CET, Key ID 199e2f91fd431d51
Source RPM  : rh-php70-php-7.0.10-2.el7.src.rpm
Build Date  : Wed 02 Nov 2016 07:08:33 PM CET
Build Host  : x86-019.build.eng.bos.redhat.com
Relocations : (not relocatable)
Packager    : Red Hat, Inc. <http://bugzilla.redhat.com/bugzilla>
Vendor      : Red Hat, Inc.
Summary     : JavaScript Object Notation extension for PHP
Description :
The rh-php70-php-json package provides an extension that will add
support for JavaScript Object Notation (JSON) to PHP.

Re: Question about sclo-php70-php-pecl-{redis,memcached}

It looks like json is disabled... (missing in php -m output)

rpm --verify rh-php70-php-json
cat /opt/rh/rh-php70/register.content/etc/opt/rh/rh-php70/php.d/20-json.ini
Desktop: Fedora 25 x86_64 + rpmfusion + remi-test + remi-dev
Laptop:  Fedora 24 x86_64 + remi (SCL only)
Hosting Server: CentOS 6.8 x86_64 + EPEL + remi + remi-php70

Re: Question about sclo-php70-php-pecl-{redis,memcached}

That was it...

#rpm --verify rh-php70-php-json
missing   c /etc/opt/rh/rh-php70/php.d/20-json.ini

Thank you!

My message get lost in the thread, if you have an answer it would be much appreciated :-)

Another question about those packages. One of the goals of the sclo SIG is to act as upstream for softwarecollection.org. Does it mean we will get all those packages in rhscl at some point? What are the conditions for a package to be included in rshcl?

Re: Question about sclo-php70-php-pecl-{redis,memcached}

Another question about those packages. One of the goals of the sclo SIG is to act as upstream for softwarecollection.org. Does it mean we will get all those packages in rhscl at some point? What are the conditions for a package to be included in rshcl?


Perhaps some will be accepted in RHSCL, can't say.
Some (such as mcrypt), will never be accepted (very probably).

At least need to have enough RH "customer" requests coming through the support.

Desktop: Fedora 25 x86_64 + rpmfusion + remi-test + remi-dev
Laptop:  Fedora 24 x86_64 + remi (SCL only)
Hosting Server: CentOS 6.8 x86_64 + EPEL + remi + remi-php70

Re: Question about sclo-php70-php-pecl-{redis,memcached}

Remi wrote:

Some (such as mcrypt), will never be accepted (very probably).

I understand for that one and similar case. This is why I rebuilt it.

Remi wrote:

At least need to have enough "customer" requests coming through the support.

I will open a ticket then, for it is worth...

Again, thank you for your time.

Re: Question about sclo-php70-php-pecl-{redis,memcached}

To be clear about how upstream is used

Base packages:

- initial work in "remi" repository
- remi used as upstream for Fedora for selected packages
- Fedora used as upstream for RHEL for selected packages
- RHEL used as upstream for CentOS.
- remi used as upstream for EPEL


SCL packages:

- initial work in "remi" repository
- remi used as upstream for SCLo SIG for selected packages
- remi used as upstream for RHSCL for selected packages

P.S. of course, I don't maintain all the PHP stack in Fedora/EPEL, but a large part of them
https://admin.fedoraproject.org/pkgdb/packager/remi/

Desktop: Fedora 25 x86_64 + rpmfusion + remi-test + remi-dev
Laptop:  Fedora 24 x86_64 + remi (SCL only)
Hosting Server: CentOS 6.8 x86_64 + EPEL + remi + remi-php70

Re: Question about sclo-php70-php-pecl-{redis,memcached}

> I understand for that one and similar case. This is why I rebuilt it.

It is now also in centos-sclo-sclo-testing wink

Desktop: Fedora 25 x86_64 + rpmfusion + remi-test + remi-dev
Laptop:  Fedora 24 x86_64 + remi (SCL only)
Hosting Server: CentOS 6.8 x86_64 + EPEL + remi + remi-php70