php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #74043 rrd_tool provided for PHP 7.1 is missing
Submitted: 2017-02-04 21:09 UTC Modified: 2017-02-07 21:12 UTC
From: evgeny_4 at mail dot ru Assigned: ab (profile)
Status: Closed Package: rrd (PECL)
PHP Version: 7.1.1 OS: Windows Server 2012 r2
Private report: No CVE-ID: None
 [2017-02-04 21:09 UTC] evgeny_4 at mail dot ru
Description:
------------
ZIP archive php_rrd provided for PHP 7.1 is missing. 

Test script:
---------------
My steps for were setup:
1) Copy the following .dll from ( php_rrd-2.0.1-7.1-ts-vc14-x64 ) files in to to c:\php7.1  cairo, expat, fontconfig, librrd-4.dll, pango-1, pangocairo-1, pangoft2-1, pangowin32-1, pixman-1

2) Copy php_rrd.dll in to c:\php7.1\ext\

3) pen c:\program files(x86)\php\v5.6\php.ini and add the file “extension=php_rrd.dll”


When trying to run the command in cmd -> c:\php7.1  php -v, system error message: 
Error - точка входа в процедуру g_type_class_adjust_provite_offset не найдено в библиотеке pango-1.dll.



Expected result:
----------------
Error - точка входа в процедуру g_type_class_adjust_provite_offset не найдено в библиотеке pango-1.dll.

Actual result:
--------------

rrd tool module => enabled
rrd tool module version => xxxx
rrdtool library version => xxxx

Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2017-02-06 16:22 UTC] ab@php.net
-Status: Open +Status: Feedback
 [2017-02-06 16:22 UTC] ab@php.net
Thanks for the report. From the description, why is a 5.6 ini involved? I was just checking the provided libs, but the missing symbol is not contained anywhere in the sources. Please be sure teh correct dep DLLs are loaded.

Thanks.
 [2017-02-06 20:21 UTC] evgeny_4 at mail dot ru
-Status: Feedback +Status: Open -Operating System: Windows Serwer 2012 r2 +Operating System: Windows Server 2012 r2
 [2017-02-06 20:21 UTC] evgeny_4 at mail dot ru
Thanks for you  answer. 
You right, the was misprint  - "c:\program files(x86)\php\v5.6\php.ini and add the file “extension=php_rrd.dll” "

I keep in mind the this :
"c:\php7.1\php.ini and add the file “extension=php_rrd.dll” "
 [2017-02-07 16:25 UTC] anrdaemon at freemail dot ru
The _actual_ result is "gobject-2.dll is missing".
Both 7.0 and 7.1 zips are missing this library.
 [2017-02-07 17:09 UTC] ab@php.net
-Status: Open +Status: Feedback
 [2017-02-07 17:09 UTC] ab@php.net
Oh, a missing dll could it be indeed. gobject-2.dll is in our deps, but is not included into the distribution as it's not required by anything in the core. And, it's not included into the pecl archives, because it's supposed to be in the core :) Could you please check by fetching a suitable gobject-2.dll, here for 64-bit 7.x? http://windows.php.net/downloads/php-sdk/deps/vc14/x64/glib-2.49.4-vc14-x64.zip 

I was also wondering about the symbol g_type_class_adjust_provite_offset, as it should be actually g_type_class_adjust_private_offset. Typo?

Thanks.
 [2017-02-07 17:31 UTC] evgeny_4 at mail dot ru
-Status: Feedback +Status: Open
 [2017-02-07 17:31 UTC] evgeny_4 at mail dot ru
The are list files of PHP directory :

Содержимое папки c:\php-7.1.1-Win32-VC14-x64

04.02.2017  23:27    <DIR>          .
04.02.2017  23:27    <DIR>          ..
11.01.2017  14:58         1 506 816 cairo.dll
18.01.2017  19:27           113 152 deplister.exe
04.02.2017  23:00    <DIR>          dev
04.02.2017  23:00    <DIR>          ext
04.02.2017  23:00    <DIR>          extras
18.01.2017  19:27         1 374 208 glib-2.dll
18.01.2017  19:27            18 944 gmodule-2.dll
09.03.2013  00:17           249 344 gobject-2.dll
18.01.2017  19:27        25 672 192 icudt57.dll
18.01.2017  19:27         2 068 992 icuin57.dll
18.01.2017  19:27            52 736 icuio57.dll
18.01.2017  19:27           273 920 icule57.dll
18.01.2017  19:27            54 272 iculx57.dll
18.01.2017  19:27         1 468 416 icuuc57.dll
18.01.2017  19:27            79 407 install.txt
04.02.2017  23:00    <DIR>          lib
18.01.2017  19:27         2 260 480 libeay32.dll
18.01.2017  19:27            47 616 libenchant.dll
04.11.2013  05:57           304 751 libharfbuzz-0.dll
18.01.2017  19:27           186 368 libpq.dll
11.01.2017  14:57         3 091 456 librrd-4.dll
18.01.2017  19:27           102 400 libsasl.dll
18.01.2017  19:27           219 136 libssh2.dll
18.01.2017  19:27             3 286 license.txt
07.02.2017  20:04             4 713 log_error.log
18.01.2017  19:27           127 139 news.txt
11.01.2017  14:58           287 744 pango-1.dll
11.01.2017  14:58           612 864 pangocairo-1.dll
18.01.2017  19:30                43 phar.phar.bat
18.01.2017  19:30            53 242 pharcommand.phar
04.02.2017  14:39        21 170 203 php-7_1_1-Win32-VC14-x64.rar
18.01.2017  19:27            69 632 php-cgi.exe
18.01.2017  19:27            37 888 php-win.exe
18.01.2017  19:27           123 904 php.exe
18.01.2017  19:27             2 523 php.gif
04.02.2017  00:37            73 006 php.ini
18.01.2017  19:27            72 945 php.ini-production
18.01.2017  19:27            36 864 php7apache2_4.dll
18.01.2017  19:27           879 248 php7embed.lib
18.01.2017  19:27           267 776 php7phpdbg.dll
18.01.2017  19:27         8 641 536 php7ts.dll
18.01.2017  19:27           327 168 phpdbg.exe
18.01.2017  19:27            20 183 readme-redist-bins.txt
04.02.2017  23:00    <DIR>          sasl2
18.01.2017  19:27            12 654 snapshot.txt
18.01.2017  19:27           354 816 ssleay32.dll
              41 файлов     72 323 983 байт
               7 папок  1 861 842 067 456 байт свободно




c:\php-7.1.1-Win32-VC14-x64\ext>dir
 Том в устройстве C имеет метку Win2012
 Серийный номер тома: 9A16-6770

 Содержимое папки c:\php-7.1.1-Win32-VC14-x64\ext

04.02.2017  23:00    <DIR>          .
04.02.2017  23:00    <DIR>          ..
18.01.2017  19:27            83 968 php_bz2.dll
18.01.2017  19:27            93 184 php_com_dotnet.dll
18.01.2017  19:27           472 064 php_curl.dll
18.01.2017  19:27            25 600 php_enchant.dll
18.01.2017  19:27            61 440 php_exif.dll
18.01.2017  19:27         3 148 288 php_fileinfo.dll
18.01.2017  19:27            50 688 php_ftp.dll
18.01.2017  19:27         1 574 912 php_gd2.dll
18.01.2017  19:27            58 368 php_gettext.dll
18.01.2017  19:27           338 432 php_gmp.dll
18.01.2017  19:27           912 384 php_imap.dll
18.01.2017  19:27            80 896 php_interbase.dll
18.01.2017  19:27           457 216 php_intl.dll
18.01.2017  19:27           226 304 php_ldap.dll
18.01.2017  19:27         1 378 304 php_mbstring.dll
18.01.2017  19:27           134 656 php_mysqli.dll
18.01.2017  19:27           155 648 php_oci8_12c.dll
18.01.2017  19:27            64 000 php_odbc.dll
18.01.2017  19:27           374 784 php_opcache.dll
18.01.2017  19:27           124 416 php_openssl.dll
18.01.2017  19:27            28 672 php_pdo_firebird.dll
18.01.2017  19:27            30 720 php_pdo_mysql.dll
18.01.2017  19:27            32 768 php_pdo_oci.dll
18.01.2017  19:27            28 160 php_pdo_odbc.dll
18.01.2017  19:27            43 520 php_pdo_pgsql.dll
18.01.2017  19:27         1 070 592 php_pdo_sqlite.dll
18.01.2017  19:27           123 392 php_pgsql.dll
18.01.2017  19:27            17 408 php_phpdbg_webhelper.dll
11.01.2017  14:57            34 816 php_rrd.dll
18.01.2017  19:27            16 896 php_shmop.dll
18.01.2017  19:27           417 792 php_snmp.dll
18.01.2017  19:27           286 720 php_soap.dll
18.01.2017  19:27            75 264 php_sockets.dll
18.01.2017  19:27         1 089 536 php_sqlite3.dll
18.01.2017  19:27            17 920 php_sysvshm.dll
18.01.2017  19:27           551 936 php_tidy.dll
18.01.2017  19:27            86 016 php_xmlrpc.dll
18.01.2017  19:27           290 304 php_xsl.dll
              38 файлов     14 057 984 байт
               2 папок  1 861 842 038 784 байт свободно



I have added lib gobject-2.dll. The lib i got from  pack php_rrd-1.1.3-5.6-ts-vc11-x64. 

What do I make not correctly ? Can you send to my of hand-book of description setup( step-by-step ) rrd lib at PHP.
 [2017-02-07 17:43 UTC] ab@php.net
Sigh, harfbuzz was missing as well. I'm running a rebuild now, so it should include at least all the non core deps. With your structure should be everything ok at first glance, as you've added the missing DLLs manually.

Thanks.
 [2017-02-07 18:41 UTC] ab@php.net
-Status: Open +Status: Closed -Assigned To: +Assigned To: ab
 [2017-02-07 18:41 UTC] ab@php.net
These packages should be fixed now, thanks for reporting.
 [2017-02-07 18:47 UTC] evgeny_4 at mail dot ru
-Status: Closed +Status: Open
 [2017-02-07 18:47 UTC] evgeny_4 at mail dot ru
After so I have added dll (gobject-2.dll ), I have error:

c:\php-7.1.1-Win32-VC14-x64>php -v

Warning: PHP Startup: Unable to load dynamic library 'c:/php-7.1.1-Win32-VC14-x64/ext/php_rrd.dll' 
  яЁюЎхфєЁр.
 in Unknown on line 0
PHP 7.1.1 (cli) (built: Jan 18 2017 18:38:49) ( ZTS MSVC14 (Visual C++ 2015) x64 )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies


Information from log file:
[07-Feb-2017 17:33:35 UTC] PHP Warning:  PHP Startup: Unable to load dynamic library 'c:/php-7.1.1-Win32-VC14-x64/ext/php_rrd.dll' - Не найдена указанная процедура.
 in Unknown on line 0
 [2017-02-07 19:07 UTC] ab@php.net
-Status: Open +Status: Feedback
 [2017-02-07 19:07 UTC] ab@php.net
Did you use the updated package?

Thanks.
 [2017-02-07 19:26 UTC] evgeny_4 at mail dot ru
-Status: Feedback +Status: Assigned
 [2017-02-07 19:26 UTC] evgeny_4 at mail dot ru
I used this one package:

- Windows Server 2012 r2 Microsoft Windows [Version 6.3.9600] + update
- php-7.1.1-Win32-VC14-x64.zip
- php_rrd-2.0.1-7.1-ts-vc14-x64.zip

Thanks.
 [2017-02-07 19:37 UTC] ab@php.net
-Status: Assigned +Status: Feedback
 [2017-02-07 19:37 UTC] ab@php.net
I mean, as mentioned earlier, there was a rebuild. So the packages were reuploaded. Also added the gobject manually for now, as it's a build system issue that needs another fix. The latter failure, was it with that updated package?

Thanks.
 [2017-02-07 20:41 UTC] evgeny_4 at mail dot ru
-Status: Feedback +Status: Assigned
 [2017-02-07 20:41 UTC] evgeny_4 at mail dot ru
Yes, I made re-uploaded the files again.
And I have positive result.  Thank you so much !

c:\php-7.1.1-Win32-VC14-x64>php --ri rrd

rrd

rrd tool module => enabled
rrd tool module version => 2.0.1
rrdtool library version => 1.6.0




But, appear another issue, with Apache server. In listing of phpinfo()   I could not find information about rrd tool.

Version apache server :
c:\Apache24\bin>httpd -v
Server version: Apache/2.4.25 (Win64)
Server built:   Dec 17 2016 11:15:57
 [2017-02-07 20:57 UTC] ab@php.net
-Status: Assigned +Status: Closed
 [2017-02-07 20:57 UTC] ab@php.net
Great!

With Apache, please be sure all the dependency DLLs are on the path, also that the exact path appears first on the list. Fe do on the same console

set path=c:\my\php7.1;%path%
httpd 

Many thanks for the checks.
 [2017-02-07 21:12 UTC] evgeny_4 at mail dot ru
Part conf of Apache Server:


 LoadModule php7_module "c:/php-7.1.1-Win32-VC14-x64/php7apache2_4.dll"
#php.ini
 PHPIniDir "C:/php-7.1.1-Win32-VC14-x64/"
 [2017-02-08 10:29 UTC] anrdaemon at freemail dot ru
Trying to load ext for 7.0 fails with "incorrect memory access"

PHP Warning:  PHP Startup: Unable to load dynamic library 'C:\usr\sbin\php-7.0.15\ext\php_rrd.dll' - Неверная попытка доступа к адресу памяти.
 in Unknown on line 0

7.1 ext is loaded just fine.

--- "C:\\usr\\sbin\\php-7.1.1\\php-cli.out" 2017-02-07 21:01:10.366638500 +0300
+++ -   2017-02-08 13:28:14.686171900 +0300
@@ -30,6 +30,7 @@
 C:\usr\sbin\php-7.1.1\conf.d\mysql.ini,
 C:\usr\sbin\php-7.1.1\conf.d\openssl.ini,
 C:\usr\sbin\php-7.1.1\conf.d\phar.ini,
+C:\usr\sbin\php-7.1.1\conf.d\rrd.ini,
 C:\usr\sbin\php-7.1.1\conf.d\session.ini,
 C:\usr\sbin\php-7.1.1\conf.d\sockets.ini,
 C:\usr\sbin\php-7.1.1\conf.d\sqlite.ini,
@@ -657,6 +658,12 @@
 Reflection => enabled
 Version => $Id: 102f46dfb2e7666226df074fde0688050c2c1dc2 $

+rrd
+
+rrd tool module => enabled
+rrd tool module version => 2.0.1
+rrdtool library version => 1.6.0
+
 session
 [2017-02-08 10:33 UTC] anrdaemon at freemail dot ru
Hint for Apache: You can explicitly load required DLL's with http://httpd.apache.org/docs/current/mod/mod_so.html#loadfile prior to loading a module.
No need to pollute %PATH% with unnecessary entries.
 
PHP Copyright © 2001-2019 The PHP Group
All rights reserved.
Last updated: Tue Jun 18 22:01:26 2019 UTC