Details

    • Bug
    • Status: Closed (View Workflow)
    • Critical
    • Resolution: Fixed
    • 5.5.29
    • 5.5.30
    • None
    • None
    • CentOS 6.3 64bit

    Description

      After automatic update with yum we noticed php reporting the below.

      "undefined reference to `client_errors'" with a white screen for all websites.

      cPanel EasyApache also reports the fallowing. http://pastebin.com/XZegidFy

      and new output

      http://pastebin.com/eUJzmmVL

      I would doubt this is a cPanel specific issue, this is worrying. Prior I have had mysql shared libs cause php needing rebuild, but now it wont rebuild.

      Not sure if I can update this again but I'm trying to find older rpm's to ensure it's due to this update, sort of weird. Not sure if cPanel will look at it.

      Regardless please add downgrade feature to your yum REPO

      Attachments

        Issue Links

          Activity

            I guess I can comment more!

            MariaDB fails to downgrade (I had OMD installed, and requires it, otherwise cPanel dont use yum for php obviously and nothing else seems to depend on) so to revert I had to remove it.

            root@laxcp [/usr/local/src/mariadb5528a]# rpm -Uvh --oldpackage MariaDB-5.5.28a-centos6-x86_64-server.rpm
            Preparing... ########################################### [100%]
            1:MariaDB-server ########################################### [100%]
            warning: %postun(MariaDB-server-5.5.29-1.x86_64) scriptlet failed, exit status 3

            I'll report back if 5.5.28a revert fixed the issue. We may switch back to LiteSpeed, in which I suppose before I reinstall OMD I can go back to 5.5.29 and see if it's PHP also buildfails, which would direct this as a MariaDB issue I suppose.

            cmanns cmanns (Inactive) added a comment - I guess I can comment more! MariaDB fails to downgrade (I had OMD installed, and requires it, otherwise cPanel dont use yum for php obviously and nothing else seems to depend on) so to revert I had to remove it. root@laxcp [/usr/local/src/mariadb5528a] # rpm -Uvh --oldpackage MariaDB-5.5.28a-centos6-x86_64-server.rpm Preparing... ########################################### [100%] 1:MariaDB-server ########################################### [100%] warning: %postun(MariaDB-server-5.5.29-1.x86_64) scriptlet failed, exit status 3 I'll report back if 5.5.28a revert fixed the issue. We may switch back to LiteSpeed, in which I suppose before I reinstall OMD I can go back to 5.5.29 and see if it's PHP also buildfails, which would direct this as a MariaDB issue I suppose.

            5.5.28a all is well

            cPanel EasyApache compiled fine PHP 5.4 (Both 5.3 and 5.4 have issues not related)

            There is no reason why cPanel EasyApache would fail with MariaDB 5.5.29 and not 5.5.28a due to cPanel. It just compiles PHP, removing MySQLi, it works.

            I may do a CentOS machine, yum install MariaDB, and recompile PHP. Not sure why nobody else has had issues.

            cmanns cmanns (Inactive) added a comment - 5.5.28a all is well cPanel EasyApache compiled fine PHP 5.4 (Both 5.3 and 5.4 have issues not related) There is no reason why cPanel EasyApache would fail with MariaDB 5.5.29 and not 5.5.28a due to cPanel. It just compiles PHP, removing MySQLi, it works. I may do a CentOS machine, yum install MariaDB, and recompile PHP. Not sure why nobody else has had issues.

            Okay. In 5.5.29 we've changed the list of exported symbols in libmysqlclient and added symbol versioning to match exactly what distribution packages do. On CentOS6 we should look exactly like RedHat provided libmysqlclient.so.18. And in that library there's no symbol client_errors, it's renamed to mysql_client_error for the sake of "namespace sanity" (quoting the distribution patch .

            Now, let's figure out why it didn't work for you. Where did you take your mysqli from? Was it built from the source? It came with cPanel from somewhere? From distribution repository? Some other repository? It is supposed to work with MySQL's libmysqlclient, right? Where should that libmysqlclient come from? In the remi repo client_errors is also renamed to have mysql_ prefix.

            serg Sergei Golubchik added a comment - Okay. In 5.5.29 we've changed the list of exported symbols in libmysqlclient and added symbol versioning to match exactly what distribution packages do. On CentOS6 we should look exactly like RedHat provided libmysqlclient.so.18. And in that library there's no symbol client_errors, it's renamed to mysql_client_error for the sake of "namespace sanity" (quoting the distribution patch . Now, let's figure out why it didn't work for you. Where did you take your mysqli from? Was it built from the source? It came with cPanel from somewhere? From distribution repository? Some other repository? It is supposed to work with MySQL's libmysqlclient, right? Where should that libmysqlclient come from? In the remi repo client_errors is also renamed to have mysql_ prefix.

            Odd, yes source. I prefer source, I had a muck getting it to downgrade even D:

            I'm not 100% sure but believe cPanel pulls from PHP mirrors. It also builds normal MySQL from source. I never have had PHP 5.4 installed, tried it for the sake of the new version to no avail. I know cPanel downloads PHP...so should be normal.

            cPanel has a apache/php building thing, we normally use LiteSpeed. I may be switching back, if I do too - suppose I can test it's building but this is a production machine

            ~~

            What can I do to test. Strange indeed, I'd imagine others would be utilizing EL 6 OS / Maria / cPanel

            cmanns cmanns (Inactive) added a comment - Odd, yes source. I prefer source, I had a muck getting it to downgrade even D: I'm not 100% sure but believe cPanel pulls from PHP mirrors. It also builds normal MySQL from source. I never have had PHP 5.4 installed, tried it for the sake of the new version to no avail. I know cPanel downloads PHP...so should be normal. cPanel has a apache/php building thing, we normally use LiteSpeed. I may be switching back, if I do too - suppose I can test it's building but this is a production machine ~~ What can I do to test. Strange indeed, I'd imagine others would be utilizing EL 6 OS / Maria / cPanel
            wlad Vladislav Vaintroub added a comment - - edited

            The culprit are likely our headers. While we do export mysql_client_errors (to be compatible to fedora-style libmysqlclient.so.18), we do not rename those symbols with #define in header files, like Fedora does.
            Therefore, mysqli that is recompiled with MariaDB headers, would need client_errors , not mysql_client_errors.

            We just need to additionally export client_errors, to fix it.

            wlad Vladislav Vaintroub added a comment - - edited The culprit are likely our headers. While we do export mysql_client_errors (to be compatible to fedora-style libmysqlclient.so.18), we do not rename those symbols with #define in header files, like Fedora does. Therefore, mysqli that is recompiled with MariaDB headers, would need client_errors , not mysql_client_errors. We just need to additionally export client_errors, to fix it.

            Thank you! We will be testing shortly.

            cmanns cmanns (Inactive) added a comment - Thank you! We will be testing shortly.
            fayad fayad added a comment -

            "We just need to additionally export client_errors, to fix it."

            How do you do this?

            fayad fayad added a comment - "We just need to additionally export client_errors, to fix it." How do you do this?

            By adding entry for "client_errors" to libmysql/libmysql_rpm_version.in file

            wlad Vladislav Vaintroub added a comment - By adding entry for "client_errors" to libmysql/libmysql_rpm_version.in file

            People

              wlad Vladislav Vaintroub
              cmanns cmanns (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Git Integration

                  Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.