First of all, let me thank you for your time and knowledge sharing, I'm kind of an ignorant in trems of perl modules
I have a 64bit ubuntu Server 12.04, with Perl version 14, subversion 2 (v5.14.2) built for x86_64-linux-gnu-thread-multi and CPAN exploration and modules installation (v2.10).
I'm trying to use a perl script accessing a Microsoft SQL Server and I'm having a really hard time upon the DBD::Sybase module
When I try to install DBD::Sybase CPAN tells me it's already installed:
cpan[1]> install DBD::Sybase
Reading '/root/.cpan/Metadata'
Database was generated on Wed, 29 Apr 2015 14:53:21 GMT
DBD::Sybase is up to date (1.15).
I also find multiple Sybase.pm files on my filesystem, some of them are under Perl path
root#server:# find /* -name Sybase.pm
/home/usriten/download/DBD-Sybase-1.15/Sybase.pm
/root/.cpan/build/DBD-Sybase-1.15-TtUI0T/Sybase.pm
/root/.cpan/build/DBD-Sybase-1.15-kNqdf7/Sybase.pm
/root/.cpan/build/DBD-Sybase-1.15-rZgcTa/Sybase.pm
/usr/local/lib/perl/5.14.2/Sybase.pm
/usr/local/lib/perl/5.14.2/DBD/Sybase.pm
/usr/local/lib/perl/5.14.2/DBI/Sybase.pm
But when I try to run my script it returns an error on a line that calls 'if ($self->{handle} = DBI->connect('
# ./check_mssql_health --hostname <MSSQL_Server_IP> --username <SQL_User> --password <Pass> --mode connection-time
mode connection-time
CRITICAL - cannot connect to <MSSQL_Server_IP>. install_driver(Sybase) failed: Can't locate loadable object for module DBD::Sybase in #INC (#INC contains: . /etc/perl /usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14 /usr/local/lib/site_perl) at (eval 10) line 3
Compilation failed in require at (eval 10) line 3.
Perhaps a module that DBD::Sybase requires hasn't been fully installed
at ./check_mssql_health line 3192
I've already spent a lot of time scavenging posts but I did not find a solution or at least one I could understand and Implement.
Best regards, Sebastião
When I try to install DBD::Sybase CPAN tells me it's already installed:
That simply means it found a DBD/Sybase.pm. No tests are performed; the module isn't even loaded.
In an act of desperation I've copied the Sybase.pm to the DBD/
That's the cause of the error you're asking about. Perl is finding the .pm you copied over, but not the other files created as part of the installation process.
Delete the files you created[1], then install the module properly (e.g. using your system's package manager if it has one, or cpan DBD::Sybase if it doesn't).
You appear to have created at least the following files:
/usr/local/lib/perl/5.14.2/Sybase.pm
/usr/local/lib/perl/5.14.2/DBD/Sybase.pm
/usr/local/lib/perl/5.14.2/DBI/Sybase.pm
I got it working with a different setup.
Don't use DBD::Sybase, but install freetds, unixodbc, and then DBD::ODBC. In the freetds.conf file set the appropriate parameters. Mine looks like this
[myMSSL]
host = 111.22.33.44
port = 1433
tds version = 7.2
client charset = UTF-8
and /etc/odbc.ini
[mySQSL_mydb]
APP = unixodbc
Description = Database mydb on myMSSQL
Driver = TDSdriver
Server = myhost
Database = mydb
Port = 1433
#Trace = No
I think these are the packages that you need.
libdbd-freetds - Freetds database server driver for libdbi
tdsodbc -ODBC driver for connecting to MS SQL and Sybase SQL servers
freetds-bin - FreeTDS command-line utiliti
ALternatively, see also this post:
Using Ubuntu, how do I install DBD::Sybase from CPAN?
(and some others, e.g this one: Access SQL Server from Solaris)
I would try and install it via apt
sudo apt-get install libdbd-sybase-perl -y
I've found CPAN to sometimes miss dependencies.
Related
I have one virtual server running on centos7. I configure it for the Nagios monitoring tool. I created the config file etc. I have 9 DB instances. When I migrated the DB config file with Nagios(adding to the Nagios )
I saw this error code on http://mysiteipaddr/nagios
CRITICAL - cannot connect to db.ipaddress.com. install_driver(DB2) failed: Can't locate DBD/DB2.pm in #INC (#INC contains: /usr/local/nagios/libexec /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at (eval 10) line 3.
After this error, I realize the DB2 is not installed on my machine. I've installed the DB2 drivers and when I execute this command I'm facing this output.
db2ls
-------------------------------------------------------------------------------------------------------------------
/opt/ibm/db2/V9.7 11.1.1.1 1 Fri Jan 31 11:33:28 2020 +03 0
[root#backup ~]#
But when I want to execute DB2 command like db2start, db2stop, db2status, it won't execute and I got this error code.
bash: db2stop: command not found
bash: db2start:command not found
Do you have an instance created? run /opt/ibm/db2/V9.7/instance/db2ilist
Please check the folder /home/tobe/sqllib/adm for db2start and db2stop commands. You can also define an alias if you want to call them directly.
Install below package in all of the instances:
yum -y install perl-CPAN
hope so this will be helpful for you....!!!!
I’ve been trying to install some Perl modules on CentOS 7 and facing issues with a bunch of them. I tried with yum, cpan and cpanm (from scratch whenever I tried a different method), and they seem to be built correctly as per installation logs, but when I run my script with “use Module_Name;” it returns issues with dependencies having outdated versions. One of the modules is Date::Locale. Another one is URI::Encode. Is there a correct way to install Perl modules on CentOS 7, without tweaks or manual intervention?
Output requested by ikegami on comments below:
/usr/bin/perl
/root/perl5/lib/perl5/5.16.3/x86_64-linux-thread-multi
/root/perl5/lib/perl5/5.16.3
/root/perl5/lib/perl5/x86_64-linux-thread-multi
/root/perl5/lib/perl5
/usr/local/lib64/perl5
/usr/local/share/perl5
/usr/lib64/perl5/vendor_perl
/usr/share/perl5/vendor_perl
/usr/lib64/perl5
/usr/share/perl5
PERL5LIB: /root/perl5/lib/perl5
PERL_LOCAL_LIB_ROOT: /root/perl5
PERL_MB_OPT: --install_base "/root/perl5"
PERL_MM_OPT: INSTALL_BASE=/root/perl5
cpan is /root/perl5/bin/cpan
#!/usr/bin/perl
make [/usr/bin/make]
make_arg []
make_install_arg []
make_install_make_command [/usr/bin/make]
makepl_arg []
mbuild_arg []
mbuild_install_arg []
mbuild_install_build_command [./Build]
mbuildpl_arg []
Loading internal logger. Log::Log4perl recommended for better logging
Reading '/root/.cpan/Metadata'
Database was generated on Fri, 12 Apr 2019 17:29:03 GMT
Fetching with LWP:
http://CPAN.mirror.rafal.ca/authors/01mailrc.txt.gz
Reading '/root/.cpan/sources/authors/01mailrc.txt.gz'
............................................................................DONE
Fetching with LWP:
http://CPAN.mirror.rafal.ca/modules/02packages.details.txt.gz
Reading '/root/.cpan/sources/modules/02packages.details.txt.gz'
Database was generated on Tue, 16 Apr 2019 03:17:02 GMT
............................................................................DONE
Fetching with LWP:
http://CPAN.mirror.rafal.ca/modules/03modlist.data.gz
Reading '/root/.cpan/sources/modules/03modlist.data.gz'
DONE
Writing /root/.cpan/Metadata
URI::Encode is up to date (1.1.1).
When installing modules through CPAN on Centos7, the modules' path is usually set to use lib '/root/perl5/lib/perl5' by CPAN's autoconfigure.
Look for one of the modules you've installed via CPAN (find / -name module_name) and look at its path. If it's outside of the default dir, you can add this path in your script.
I want to deploy a PSGI based web application by using an uWSGI gateway interface.
To accomplish this I installed Perlbrew locally on my Debian server where no root access is available.
perlbrew init
# close shell and reopen new shell
perlbrew self-install
# close shell and reopen new shell
perlbrew self-upgrade
# close shell and reopen new shell
perlbrew install-patchperl
perlbrew install-cpanm
# close shell and reopen new shell
perlbrew install -j 10 perl-5.26.1
perlbrew lib create perl-5.26.1#main
perlbrew switch perl-5.26.1#main
# close shell and reopen new shell
Then I checked using cpanm -V the Perl environment:
cpanm (App::cpanminus) version 1.7043 (/home/soeren/perl5/perlbrew/bin/cpanm)
perl version 5.026001 (/home/soeren/perl5/perlbrew/perls/perl-5.26.1/bin/perl)
%Config:
archname=x86_64-linux
installsitelib=/home/soeren/perl5/perlbrew/perls/perl-5.26.1/lib/site_perl/5.26.1
installsitebin=/home/soeren/perl5/perlbrew/perls/perl-5.26.1/bin
installman1dir=/home/soeren/perl5/perlbrew/perls/perl-5.26.1/man/man1
installman3dir=/home/soeren/perl5/perlbrew/perls/perl-5.26.1/man/man3
sitearchexp=/home/soeren/perl5/perlbrew/perls/perl-5.26.1/lib/site_perl/5.26.1/x86_64-linux
sitelibexp=/home/soeren/perl5/perlbrew/perls/perl-5.26.1/lib/site_perl/5.26.1
archlibexp=/home/soeren/perl5/perlbrew/perls/perl-5.26.1/lib/5.26.1/x86_64-linux
privlibexp=/home/soeren/perl5/perlbrew/perls/perl-5.26.1/lib/5.26.1
%ENV:
PERL5LIB=/home/soeren/.perlbrew/libs/perl-5.26.1#main/lib/perl5
PERLBREW_HOME=/home/soeren/.perlbrew
PERLBREW_LIB=main
PERLBREW_MANPATH=/home/soeren/.perlbrew/libs/perl-5.26.1#main/man:/home/soeren/perl5/perlbrew/perls/perl-5.26.1/man
PERLBREW_PATH=/home/soeren/.perlbrew/libs/perl-5.26.1#main/bin:/home/soeren/perl5/perlbrew/bin:/home/soeren/perl5/perlbrew/perls/perl-5.26.1/bin
PERLBREW_PERL=perl-5.26.1
PERLBREW_ROOT=/home/soeren/perl5/perlbrew
PERLBREW_SHELLRC_VERSION=0.82
PERLBREW_VERSION=0.82
PERL_LOCAL_LIB_ROOT=/home/soeren/.perlbrew/libs/perl-5.26.1#main
PERL_MB_OPT=--install_base /home/soeren/.perlbrew/libs/perl-5.26.1#main
PERL_MM_OPT=INSTALL_BASE=/home/soeren/.perlbrew/libs/perl-5.26.1#main
#INC:
FatPacked::93953009226544=HASH(0x557323bd9330)
/home/soeren/.perlbrew/libs/perl-5.26.1#main/lib/perl5/x86_64-linux
/home/soeren/.perlbrew/libs/perl-5.26.1#main/lib/perl5
/home/soeren/perl5/perlbrew/perls/perl-5.26.1/lib/site_perl/5.26.1/x86_64-linux
/home/soeren/perl5/perlbrew/perls/perl-5.26.1/lib/site_perl/5.26.1
/home/soeren/perl5/perlbrew/perls/perl-5.26.1/lib/5.26.1/x86_64-linux
/home/soeren/perl5/perlbrew/perls/perl-5.26.1/lib/5.26.1
Everything looks good so I installed Dancer2 as the web framework of choice and successfully launched a skeleton test application:
dancer2 gen --application DemoApp
cd ./DemoApp
plackup ./bin/app.psgi
The Plack-internal HTTP web server has started and was ready to serve the application.
Again, so far so good. But I wanted to go with uWSGI instead of having yet another fully fledged web server in the service chain.
So I installed uwsgi-plugin-psgi which automatically comes with uwsgi-core:
apt install uwsgi-plugin-psgi
Now I wanted to start the uWSGI gateway interface...:
uwsgi_psgi --uwsgi-socket 127.0.0.1:5999 --psgi /home/soeren/DemoApp/bin/app.psgi
...and the application has crashed:
[uwsgi] implicit plugin requested psgi
*** Starting uWSGI 2.0.14-debian (64bit) on [Fri Feb 9 10:41:20 2018] ***
compiled with version: 6.2.1 20161124 on 07 December 2016 16:14:59
os: Linux-4.9.0-5-amd64 #1 SMP Debian 4.9.65-3+deb9u2 (2018-01-04)
nodename: skde-deu-02.sklink.de
machine: x86_64
clock source: unix
pcre jit disabled
detected number of CPU cores: 8
current working directory: /home/soeren/DemoApp
detected binary path: /usr/bin/uwsgi-core
*** WARNING: you are running uWSGI without its master process manager ***
your processes number limit is 256817
your memory page size is 4096 bytes
detected max file descriptor number: 1024
lock engine: pthread robust mutexes
thunder lock: disabled (you can enable it with --thunder-lock)
uwsgi socket 0 bound to TCP address 127.0.0.1:5999 fd 3
initialized Perl 5.24.1 main interpreter at 0x557337c6fd40
your server socket listen backlog is limited to 100 connections
your mercy for graceful operations on workers is 60 seconds
mapped 72768 bytes (71 KB) for 1 cores
*** Operational MODE: single process ***
Error while loading /home/soeren/DemoApp/bin/app.psgi: Can't locate WWW/Form/UrlEncoded.pm in #INC (you may need to install the WWW::Form::UrlEncoded module) (#INC contains: /home/soeren/DemoApp/bin/../lib /home/soeren/.perlbrew/libs/perl-5.26.1#main/lib/perl5/5.24.1/x86_64-linux-gnu-thread-multi /home/soeren/.perlbrew/libs/perl-5.26.1#main/lib/perl5/5.24.1 /home/soeren/.perlbrew/libs/perl-5.26.1#main/lib/perl5/x86_64-linux-gnu-thread-multi /home/soeren/.perlbrew/libs/perl-5.26.1#main/lib/perl5 /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.24.1 /usr/local/share/perl/5.24.1 /usr/lib/x86_64-linux-gnu/perl5/5.24 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.24 /usr/share/perl/5.24 /usr/local/lib/site_perl) at /home/soeren/.perlbrew/libs/perl-5.26.1#main/lib/perl5/HTTP/Entity/Parser/UrlEncoded.pm line 5.
BEGIN failed--compilation aborted at /home/soeren/.perlbrew/libs/perl-5.26.1#main/lib/perl5/HTTP/Entity/Parser/UrlEncoded.pm line 5.
Compilation failed in require at /usr/share/perl/5.24/Module/Load.pm line 77.
Can't locate HTTP/Entity/Parser/UrlEncoded in #INC (#INC contains: /home/soeren/DemoApp/bin/../lib /home/soeren/.perlbrew/libs/perl-5.26.1#main/lib/perl5/5.24.1/x86_64-linux-gnu-thread-multi /home/soeren/.perlbrew/libs/perl-5.26.1#main/lib/perl5/5.24.1 /home/soeren/.perlbrew/libs/perl-5.26.1#main/lib/perl5/x86_64-linux-gnu-thread-multi /home/soeren/.perlbrew/libs/perl-5.26.1#main/lib/perl5 /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.24.1 /usr/local/share/perl/5.24.1 /usr/lib/x86_64-linux-gnu/perl5/5.24 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.24 /usr/share/perl/5.24 /usr/local/lib/site_perl) at /usr/share/perl/5.24/Module/Load.pm line 77.
Compilation failed in require at /home/soeren/.perlbrew/libs/perl-5.26.1#main/lib/perl5/Plack/Request.pm line 17.
BEGIN failed--compilation aborted at /home/soeren/.perlbrew/libs/perl-5.26.1#main/lib/perl5/Plack/Request.pm line 17.
Compilation failed in require at /usr/share/perl/5.24/parent.pm line 16.
BEGIN failed--compilation aborted at /home/soeren/.perlbrew/libs/perl-5.26.1#main/lib/perl5/Dancer2/Core/Request.pm line 6.
Compilation failed in require at /home/soeren/.perlbrew/libs/perl-5.26.1#main/lib/perl5/Dancer2/Core/App.pm line 29.
BEGIN failed--compilation aborted at /home/soeren/.perlbrew/libs/perl-5.26.1#main/lib/perl5/Dancer2/Core/App.pm line 29.
Compilation failed in require at /home/soeren/.perlbrew/libs/perl-5.26.1#main/lib/perl5/Dancer2.pm line 11.
BEGIN failed--compilation aborted at /home/soeren/.perlbrew/libs/perl-5.26.1#main/lib/perl5/Dancer2.pm line 11.
Compilation failed in require at /home/soeren/DemoApp/bin/../lib/DemoApp.pm line 2.
BEGIN failed--compilation aborted at /home/soeren/DemoApp/bin/../lib/DemoApp.pm line 2.
Compilation failed in require at /home/soeren/DemoApp/bin/app.psgi line 10.
BEGIN failed--compilation aborted at /home/soeren/DemoApp/bin/app.psgi line 10.
unable to find PSGI function entry point.
*** no app loaded. going in full dynamic mode ***
*** uWSGI is running in multiple interpreter mode ***
spawned uWSGI worker 1 (and the only) (pid: 9769, cores: 1)
The fist thing that I see was the architecture. While the other (cpnam and plackup) programs using "x86_64-linux" architecture, only uWSGI is using "x86_64-linux-gnu-thread-multi" instead.
Well Perl's architecture folder for "x86_64-linux-gnu-thread-multi" is available but does not contain any modules. Most modules are installed in the "root library path" and "x86_64-linux" architecture folder.
/home/soeren/.perlbrew/libs/perl-5.26.1#main/lib/perl5
/home/soeren/.perlbrew/libs/perl-5.26.1#main/lib/perl5/x86_64-linux
I tried to work around this by using the uwsgi_psgi command line switch --perl-local-lib but had no luck:
uwsgi_psgi --uwsgi-socket 127.0.0.1:5999 --psgi /home/soeren/DemoApp/bin/app.psgi --perl-local-lib /home/soeren/.perlbrew/libs/perl-5.26.1#main/lib/perl5
uwsgi_psgi --uwsgi-socket 127.0.0.1:5999 --psgi /home/soeren/DemoApp/bin/app.psgi --perl-local-lib /home/soeren/.perlbrew/libs/perl-5.26.1#main/lib/perl5/x86_64-linux
I also have messed around with different uWSGI operation modes (single process, prefork, threaded), but also no luck.
Why is uWSGI modifying the include path and how do I either start uWSGI so it works like with the other programs or install the modules for that architecture in addition?
I found a solution, thanks to #simbabque.
My issue was that I was using the system native uwsgi_psgi, which was compiled with the system Perl installation and was not compatible with my local Perlbrew installation.
This mailing list thread suggest to recompile uwsgi within the Perlbrew scope to be able to work (only) with the local Perlbrew installation.
So by doing the following compile I get managed to start the Perl application:
curl http://uwsgi.it/install | bash -s psgi /home/soeren/perl5/perlbrew/bin/uwsgi
However the above shown command is not the best way since it lacks all further important compile switches (e.g. pcre, jit).
I will improve this answer over time with the further compile switches.
PROBLEM: In the process of trying to install gitstat on a Windows7 machine I broke my xampp Apache installation. Now I can't get gitstat or apache to work.
APACHE ERROR:
[error] Can't load Perl file: C:/xampp/apache/conf/extra/startup.pl for server localhost:80, exiting...`
Other people have reported this issue being caused by the PERL5LIB environment variable, but that variable does not exist on my machine.
WHAT I DID / GITSTAT ERROR:
I needed the SOAP::Lite module installed so I followed the windows guide here: http://soaplite.com/install.html
As far as I could tell I installed the module successfully, console output below
cpan[1]> install SOAP::Lite
CPAN: Storable loaded ok (v2.21)
Going to read '\xampp\perl\bin\.cpan\Metadata'
Database was generated on Wed, 27 Jun 2012 02:47:03 GMT
SOAP::Lite is up to date (0.714).
I saw a SOAP directory in perl/site/lib which (to me) means that the module should be available. When I look in my perllocal.pod file SOAP:Lite is in there.
Part of the gitstat installation instructions say to copy the Lite.pm file from perl/site/lib/SOAP into gitstat\gstat_pl\lib
However, when I try to perform step nine of gitstat installation (perl gitstat.pl HEAD) I get the following:
C:\xampp\htdocs\gitstat\gstat_pl>perl gitstat.pl HEAD
Supported versions:
BEGIN failed--compilation aborted at C:/xampp/perl/site/lib/SOAP/Lite.pm line 34
86.
Compilation failed in require at C:/xampp/perl/site/lib/SOAP/Constants.pm line 1
3.
BEGIN failed--compilation aborted at C:/xampp/perl/site/lib/SOAP/Constants.pm li
ne 13.
Compilation failed in require at lib/Lite.pm line 3444.
BEGIN failed--compilation aborted at lib/Lite.pm line 3444.
Compilation failed in require at gitstat.pl line 30.
If I don't copy the file from perl/site/lib/SOAP then I get
C:\xampp\htdocs\gitstat\gstat_pl>perl gitstat.pl HEAD
Can't locate lib/Lite.pm in #INC (#INC contains: C:/xampp/perl/lib C:/xampp/perl
/site/lib .) at gitstat.pl line 30.
I don't understand why CPAN didn't install the Lite.pm module in the #INC path or why the compilation might fail when the module is available, or most importantly why my Apache install is broken. Also I'm very new to Perl and CPAN and my understanding of Apache is primitive so simpler explanations would be greatly appreciated.
I am getting following error while starting apache.
Can't locate /usr/sbin/webmux.pl in #INC (#INC contains: /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.8 /usr/lib/perl5/vendor_perl /usr/lib/perl5/5.8.8/i386-linux-thread-multi /usr/lib/perl5/5.8.8 . /etc/httpd) at (eval 2) line 1.\n
Can't load Perl file: /usr/sbin/webmux.pl for server 127.0.0.1:0, exiting...
Can anyone please suggest me what i am missing ?
mod_perl-2.0.4
So, it looks like webmux.pl needs the mysql daemon started first. I found the error message in /var/log/httpd/error_log. Start mysqld first and then the web server will start
Search your Apache config files for webmux.pl. Something must be trying to load it. Either remove the reference to it, or install it.
Found this in RT configs. After comment it, things are working now.
Error:
[root#localhost conf]# service httpd restart
Deteniendo httpd: [FALLÓ]
Iniciando httpd: [FALLÓ]
[root#localhost conf]#
Log:
[error] Can't load Perl file: /usr/sbin/webmux.pl for server localhost.localdomain:0, exiting...
DBI connect('dbname=rt3;host=localhost','rt_user',...) failed: Access denied for user 'rt_user'#'localhost' (using password: YES) at /usr/share/perl5/DBIx/SearchBuilder/Handle.pm line 106
Solution:
[root#localhost conf]# mkdir /root/backup/httpd/ -p
[root#localhost conf]# mv /etc/httpd/conf.d/rt3.conf /root/backup/httpd/
[root#localhost conf]# service httpd restart
Deteniendo httpd: [ OK ]
Iniciando httpd: [ OK ]
[root#localhost conf]#
here is what i found on http://wiki.bestpractical.com/view/Troubleshooting
Can't locate Apache/Response.pm in #INC ...
Can't load Perl file: bin/webmux.pl for server localhost:0, exiting...
Found this issue in Aurora SPARC Linux 2.0 (Fedora Core 3 for SPARC)
when trying to install...
turns out that after installing all the modules for rt,
I still had an ancient verion of CGI.pm,
which was not intended to correctly detect the mod_perl2 modules vs.
regular mod_perl. Upgrading CGI via CPAN quickly resolved this problem after an
embarrassing number of hours troubleshooting.
If Apache refuses to start after you add PerlRequire bin/webmux.pl to your
config and you're sure you've got a valid mod_perl2 installation,
try upgrading CGI to the latest version.
maybe you can try first to update your CGI.pm module.
Did you find your call to webmux.pl in your apache conf ?
old previous useless response :
well, can you post the code from the script that tries to launch webmux.pl ?
but i would suggest a simple solution, if you don't have administrative rights or don't want
to go further in your perl conf :
add at top of your code (but below use strict...never forget this one)
in your script the code :
use lib "/usr/sbin/"
so you script will be able to use libraries located in /usr/sbin/