Solved

Can't locate Dahdi.pm after installing dhadi

Posted on 2014-02-11
8
712 Views
Last Modified: 2014-02-22
Dear Experts:

I am in process of setting up asterisk ip-pbx on centos 6.5 managed to install the below listed packages successfully
rpm -ivh popt-1.13-7.el6.i686.rpm
rpm -ivh slang-2.2.1-1.el6.i686.rpm
rpm -ivh newt-0.52.11-3.el6.i686.rpm
rpm -ivh libstdc++-4.4.7-4.el6.i686.rpm
rpm -ivh libusb-0.1.12-23.el6.i686.rpm
rpm -Uvh dahdi-2.8.0.1-1.i686.rpm dahdi-devel-2.8.0.1-1.i686.rpm kmod-dahdi-2.8.0.1-1.i686.rpm

after the above installed when executed  lsdahdi, below message
# lsdahdi
can't locate Dahdi.pm in @INC (@INC contains: /usr/sbin /usr/sbin/perl_modules /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 /usr/sbin/lsdahdi line 14.
BEGIN failed--compilation aborted at /usr/sbin/lsdahdi line 14.

--------------------
executed the find command
 find -name Dahdi.pm
./lib/perl5/vendor_perl/5.8.8/Dahdi.pm

Please suggest to fix this

Thanks in advance
0
Comment
Question by:D_wathi
  • 3
  • 2
  • 2
  • +1
8 Comments
 
LVL 28

Expert Comment

by:FishMonger
Comment Utility
The easiest solution might be use a lib or local::lib pragma statement in each script pointing to where the module is installed.
lib preagma
local::lib pragma

The other option would be to use cpan or cpanm to reinstall the module so that it gets put within your @INC path.
0
 
LVL 37

Expert Comment

by:Gerwin Jansen
Comment Utility
Maybe you could try adding /lib/perl5/vendor_perl/5.8.8 to your PERL5LIB environment
0
 
LVL 34

Assisted Solution

by:Duncan Roe
Duncan Roe earned 167 total points
Comment Utility
@INC contains /usr/lib64/perl5/vendor_perl but you have found Dahdi.pm under ./lib/perl5/vendor_perl/5.8.8/. Since pm files are Perl source, you could try copying Dahdi.pm to one of the directories mentioned in @INC. Any non-text files in ./lib/perl5/vendor_perl/5.8.8/ will be 32-bit, probably unsuitable for you so I would caution against mentioning that directory in the path.
0
 

Author Comment

by:D_wathi
Comment Utility
Thanks for the reply, can you please help in steps on what to be done , copy of Dahdi.pm to be placed in which directory path  not getting  what is @INC
0
How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

 
LVL 37

Assisted Solution

by:Gerwin Jansen
Gerwin Jansen earned 167 total points
Comment Utility
From folder where you did the find command:

cp ./lib/perl5/vendor_perl/5.8.8/Dahdi.pm /usr/local/lib64/perl5/
0
 
LVL 34

Expert Comment

by:Duncan Roe
Comment Utility
@D_wathi re: @INC you posted @INC contains: /usr/sbin /usr/sbin/perl_modules /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl in your original Q. So any of these directories would be fine as a target into which to copy
0
 
LVL 37

Expert Comment

by:Gerwin Jansen
Comment Utility
@Duncan Roe - Asker may not realize that @INC is output from the lsdahdi command.

@D_wathi - Did you run the cp command I suggested?
0
 
LVL 28

Accepted Solution

by:
FishMonger earned 166 total points
Comment Utility
Keep in mind that if you decide to copy the Dahdi.pm module to another location, you'll also need to copy the Dahdi directory which has the rest of the supporting modules that Dahdi.pm needs.

When you need to upgrade down the road and use rpm, you'll need to remember to recopy those files otherwise you may not have the updated versions of the perl modules.

This path issue is one of the reasons I always built  asterisk and dahdi from source rather than using yum or rpm.

Based on your @INC paths, it appears that you may have multiple versions of perl installed or someone previously modified the PERL5LIB environment var to accommodate a similar install issue.
0

Featured Post

Get up to 2TB FREE CLOUD per backup license!

An exclusive Black Friday offer just for Expert Exchange audience! Buy any of our top-rated backup solutions & get up to 2TB free cloud per system! Perform local & cloud backup in the same step, and restore instantly—anytime, anywhere. Grab this deal now before it disappears!

Join & Write a Comment

Many time we need to work with multiple files all together. If its windows system then we can use some GUI based editor to accomplish our task. But what if you are on putty or have only CLI(Command Line Interface) as an option to  edit your files. I…
Email validation in proper way is  very important validation required in any web pages. This code is self explainable except that Regular Expression which I used for pattern matching. I originally published as a thread on my website : http://www…
Learn how to find files with the shell using the find and locate commands. Use locate to find a needle in a haystack.: With locate, check if the file still exists.: Use find to get the actual location of the file.:
This demo shows you how to set up the containerized NetScaler CPX with NetScaler Management and Analytics System in a non-routable Mesos/Marathon environment for use with Micro-Services applications.

728 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

9 Experts available now in Live!

Get 1:1 Help Now