net-udap
net-udap copied to clipboard
Compiling on Ubuntu, seems the problems are not just package dependencies
Hi, I have resurrected an old squeezebox receiver and the controller for it is dead. So I was very glad to find your code to perhaps help me overcome this problem. However I am struggling to overcome compile issue. I have tried a few times as initially I was hitting problems with package dependencies. Having tried resolve these. I'm using Ubuntu 18.04LTS.
Specifically I ended up copying:
/usr/share/squeezeboxserver/CPAN/HTTP/Net/UDAP/Message.pm into ./lib/Net/UDAP/Message.pm
i.e. into the local git repo I cloned from this project. I overcame the first dependency problem, but now when I run make test I encounter this:
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
t/00.load.t ....... 1/5 # Testing Net::UDAP v1.0_01
t/00.load.t ....... ok
t/perlcritic.t .... 3/?
Failed test 'Test::Perl::Critic for "blib/lib/Net/UDAP.pm"'
at /usr/local/share/perl/5.26.1/Test/Perl/Critic.pm line 121.
"select" used to emulate "sleep" at line 230, column 9. See page 168 of PBP. (Severity: 5)
Variable declared in conditional statement at line 306, column 9. Declare variables outside of the condition. (Severity: 5)
Failed test 'Test::Perl::Critic for "blib/lib/Net/UDAP/Message.pm"'
at /usr/local/share/perl/5.26.1/Test/Perl/Critic.pm line 121.
Package declaration must match filename at line 1, column 1. Correct the filename or package statement. (Severity: 5)
Expression form of "eval" at line 14, column 1. See page 161 of PBP. (Severity: 5)
"return" statement with explicit "undef" at line 278, column 2. See page 199 of PBP. (Severity: 5)
Stricture disabled at line 370, column 5. See page 429 of PBP. (Severity: 5)
Expression form of "eval" at line 371, column 16. See page 161 of PBP. (Severity: 5)
t/perlcritic.t .... Dubious, test returned 1 (wstat 256, 0x100) Failed 2/9 subtests t/pod-coverage.t .. skipped: Test::Pod::Coverage 1.04 required for testing POD coverage t/pod.t ........... skipped: Test::Pod 1.14 required for testing POD
Test Summary Report
t/perlcritic.t (Wstat: 256 Tests: 9 Failed: 2) Failed tests: 4, 7 Non-zero exit status: 1 Files=4, Tests=14, 10 wallclock secs ( 0.13 usr 0.02 sys + 21.05 cusr 0.96 csys = 22.16 CPU) Result: FAIL Failed 1/4 test programs. 2/14 subtests failed. Makefile:854: recipe for target 'test_dynamic' failed make: *** [test_dynamic] Error 255
Now I have to say, this looks like it might too be related to a dependency on a particular file, but I am not useful in any way with perl. Googling this for a day or so has lead me down a perl hellhole.
Please could you suggest what might be the issue and is it not possible to simply include all the specific dependencies for this module into the project on git? Surely this would avoid me having to patch it all together with no knowledge of how or what CPAN is doing or how perl environments works.
Still I sure would like to bring my squeeze receiver back to this world. Thanks in advance. Aidan
Aidan,
Try these steps (verified on a Ubuntu Bionic vagrant box):
# probably not needed on a properly-configured machine
sudo locale-gen en_GB.UTF-8
sudo apt-get install build-essential
sudo cpan install Log::StdLog Term::Shell Class::Accessor IO::Interface::Simple
git clone https://github.com/robinbowes/net-udap.git
cd net-udap
./scripts/udap_shell.pl
@aidyw I'm going to close this issue as it's been > 5 years since any update. Please re-open, or create a new issue if you still need help.