in reply to Re: Error Message - PL_perl_destruct_level at /usr/lib64/perl5/DynaLoader.pm
in thread Error Message - PL_perl_destruct_level at /usr/lib64/perl5/DynaLoader.pm

Indeed the topic has been discussed elsewhere, but please note that there has been no resolution there either. I am seeking advice on how to correct the problem.

The code worked fine on server #1. Move the code to server#2 and it does not work. Server #2 was set up by tech support with Perl installed. Server #2 has Control Panel access, where various modules of Perl can be installed. I installed the DBD::mysql modules via the Control Panel. If this error is suggesting that there is some incompatibility between the installed version of Perl and the install DBD::mysql module, I would like to know. I can talk to tech support about this. Right now, their position is that my code is at fault.

If there is a way to install a compatible version of DBD::mysql, then I need some guidance on how to do this.

Pete
  • Comment on Re^2: Error Message - PL_perl_destruct_level at /usr/lib64/perl5/DynaLoader.pm

Replies are listed 'Best First'.
Re^3: Error Message - PL_perl_destruct_level at /usr/lib64/perl5/DynaLoader.pm
by Laurent_R (Canon) on Apr 28, 2016 at 16:50 UTC
    There is no problem with posting your request here after having posted somewhere else, especially if your issue was not solved there.

    It is still better to provide information about the fact that it has been discussed somewhere else and to provide links, because the two threads in question provide quite a bit of background and this may help avoiding the same questions again.

Re^3: Error Message - PL_perl_destruct_level at /usr/lib64/perl5/DynaLoader.pm
by RonW (Parson) on Apr 28, 2016 at 20:56 UTC
    If this error is suggesting that there is some incompatibility between the installed version of Perl and the install DBD::mysql module, I would like to know. I can talk to tech support about this.

    Yes, the error message is telling you that the installed DBD::mysql module is incompatible with the installed Perl.

    The shared library, DBD/mysql/mysql.so was not built with the same compile options as the Perl executable running your program.

    FYI, DBD/mysql/mysql.so is an extension to Perl that allows Perl that enables Perl to use the MySQL client library. Many applications use extensions or plug-ins. In all cases, the extension/plug-in must be compiled properly to be usable with the application. Perl is no different.

    I am thinking that your new hosting provider installed DBD::mysql using a different Perl (probably the "system Perl") than the one they allow to run user programs. Likely the control panel you used to "install" DBD::mysql actually just created a symbolic link to the already installed DBD::mysql, resulting in the compatibility issue.

Re^3: Error Message - PL_perl_destruct_level at /usr/lib64/perl5/DynaLoader.pm
by RonW (Parson) on Apr 28, 2016 at 21:16 UTC
    If there is a way to install a compatible version of DBD::mysql, then I need some guidance on how to do this.

    Maybe, but will be tricky. If the new hosting service can't or won't resolve the incompatibility, you should consider a different hosting service

    Since it sounds like you have no way to directly run the CPAN tool in your virtual host, you will need to duplicate the Perl installation on your own machine.

    Also, you will need to be able to upload not only your Perl programs, but compiled library files as well. And you will need to be able to create the required subdirectories so that Perl can find the files.

    Config can be used in a Perl program you run in the virtual host to tell you about the Perl installation.

    Using that information, duplicate as best as possible that Perl installation on your own machine. Then you can install DBD::mysql on that. Then you can upload the installed pm and so files to the virtual server.