gwadej / perl-device-usb

Perl module wrapping libusb
4 stars 7 forks source link

Installation - Failed to find module path - MakeFile.PL #2

Open andyv133 opened 10 years ago

andyv133 commented 10 years ago

I am trying to install the Device::USB module on Slackware 14.1 i686, and I keep running into the below error:

Failed to find module path for 'USB.pm' at Makefile.PL line 50.

I have also seen this referring to dump_usb.pl as well. I also tried it on a Debian 7 amd64, and had the same issue (which is where I copied the log below from). I pulled it directly from Git, as well as from CPAN, and had luck with neither. I figure I'm missing a dependency or something, but I have all of the ones listed in the readme.

root@vboxdebian:/home/andy# cpan -i Device::USB
Going to read '/root/.cpan/Metadata'
  Database was generated on Tue, 15 Jul 2014 03:53:02 GMT
Running install for module 'Device::USB'
Running make for G/GW/GWADEJ/Device-USB-0.36.tar.gz
Checksum for /root/.cpan/sources/authors/id/G/GW/GWADEJ/Device-USB-0.36.tar.gz ok

  CPAN.pm: Going to build G/GW/GWADEJ/Device-USB-0.36.tar.gz

Checking if your kit is complete...
Looks good
Writing Makefile for Device::USB
Writing MYMETA.yml
Failed to find module path for 'USB.pm' at Makefile.PL line 50.
Warning: No success on command[/usr/bin/perl Makefile.PL INSTALLDIRS=site]
  GWADEJ/Device-USB-0.36.tar.gz
  /usr/bin/perl Makefile.PL INSTALLDIRS=site -- NOT OK
Running make test
  Make had some problems, won't test
Running make install
  Make had some problems, won't install
root@vboxdebian:/home/andy# 
miked63017 commented 10 years ago

I am having this problem as well, I think it has something to do with MakeMaker. Any solutions? I am on OpenSuse 13.1, and tried with perlbrew 5.18.4 BTW

andyv133 commented 10 years ago

Well, if I remember correctly, I ended up grabbing a patch from the debian sources that addresses this issue. I spent the last hour looking for it again, and I can't remember where I built it. If I get some more time I'll look around a but more, but that is all the info I got at the moment.

On Mon, Oct 6, 2014 at 4:54 PM, Michael Donlon notifications@github.com wrote:

I am having this problem as well, I think it has something to do with MakeMaker. Any solutions?

— Reply to this email directly or view it on GitHub https://github.com/gwadej/perl-device-usb/issues/2#issuecomment-58106297 .

miked63017 commented 10 years ago

I downgraded Inline::MakeMaker and it installed. Now i am getting segmentation faults. Any idea how to troubleshoot that?

sparvu commented 10 years ago

What libusb is it required to get compile Device::USB ? libusb-1.0.19 or legacy libusb-0.x ? It seems the symbols changed from usb_xxx to libusb_xxx in the new library .

Does Device::USB uses libusb-1.0 ?

dastasha commented 9 years ago

miked63017 said "I downgraded Inline::MakeMaker and it installed" Did you resolve your issue with segmentation faults?

andyv133 said "I ended up grabbing a patch from the debian sources that addresses this issue" Can you remember any further details?

I'm having the exact same error trying to install the Device::USB module.

miked63017 commented 9 years ago

I did not resolve the segmentation faults, and I personally I like perl better but ended up using ruby for my needs in this case. On Jan 10, 2015 4:47 PM, "dastasha" notifications@github.com wrote:

miked63017 said "I downgraded Inline::MakeMaker and it installed" Did you resolve your issue with segmentation faults?

andyv133 said "I ended up grabbing a patch from the debian sources that addresses this issue" Can you remember any further details?

I'm having the exact same error trying to install the Device::USB module.

— Reply to this email directly or view it on GitHub https://github.com/gwadej/perl-device-usb/issues/2#issuecomment-69475377 .

devsaurus commented 9 years ago

With the hints here and further pointers I was able to compile Device::USB and have it running without segfaults on a stock OpenSuse 13.2.

All non-author tests pass:

> make test
PERL_DL_NONLAZY=1 "/usr/bin/perl" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t xt/*.t
t/00-load.t ....................... 1/1 # Testing Device::USB 0.36, Perl 5.020001, /usr/bin/perl
t/00-load.t ....................... ok   
t/01-create-usb.t ................. ok   
t/02-find_busses_devices.t ........ ok   
t/03-list_busses.t ................ ok   
t/04-find_device.t ................ ok   
t/05-find_device_if.t ............. ok     
t/06-list_devices.t ............... ok   
t/07-list_devices_if.t ............ ok     
t/08-get_busses.t ................. ok   
t/09-usb-bus.t .................... ok    
t/10-usb-device-accessors.t ....... ok       
t/11-usb-device-methods.t ......... ok   
t/12-constants.t .................. ok     
t/13-bus_find_device_if.t ......... ok   
t/14-bus_list_devices_if.t ........ ok     
t/15-usb_dev_configuration.t ...... ok     
t/16-usb_dev_interface.t .......... ok     
t/17-usb_dev_endpoint.t ........... ok     
t/18-usb_device-configurations.t .. ok     
xt/boilerplate.t .................. skipped: Author tests not required for installation
xt/critic.t ....................... skipped: Author tests not required for installation
xt/hasversion.t ................... skipped: Author tests not required for installation
xt/pod.t .......................... skipped: Author tests not required for installation
xt/podcoverage.t .................. skipped: Author tests not required for installation
All tests successful.
Files=24, Tests=432,  1 wallclock secs ( 0.14 usr  0.03 sys +  1.21 cusr  0.13 csys =  1.51 CPU)
Result: PASS

You'll find all patches in my fork at https://github.com/devsaurus/perl-device-usb.

gwadej commented 9 years ago

Device::USB was written back with libusb 0.14 was the standard. It has not been updated to the newer version of the library.

The Inline::MakeMaker library has apparently changed in the not to distant past, which has caused the compile to fail in the way described. I need to allocate some time to fix this, but since I haven't had a need for the module in several years, I haven't rounded up the tuits to make it happen. I apologize for that.