I’m installing RT 4.0.1 onto a new RHEL-6 server. I’ve done the
./configure step and am now resolving dependencies. I was able to fix
them all with CPAN except for Plack::Handler::Starlet. The error is
coming from a Starlet dependency, Server::Starter. Searching hasn’t
turned up anything relevant.
I’d really appreciate any insights into this that anyone might have.
This is 64-bit REHL and I have SELinux enforcing, but I don’t think it’s
the problem because nothing else has burped except for this.
Thanks in advance,
Gene
Here’s what I get from testdeps:
PSGI dependencies:
CGI::Emulate::PSGI …found
CGI >= 3.38 …found
CGI::PSGI >= 0.12 …found
HTML::Mason::PSGIHandler >= 0.52 …found
Plack >= 0.9971 …found
Plack::Handler::Starlet …MISSING
Can’t locate Plack/Handler/Starlet.pm in @INC (@INC
contains: /usr/local/lib64/perl5 /usr/local/share/perl5
/usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl
/usr/lib64/perl5 /usr/share/perl5 /root/rt/rt-4.0.1)
Here’s an excerpt of what CPAN says when I do “install
Plack::Handler::Starlet”
Checking if your kit is complete…
Looks good
Warning: prerequisite Server::Starter 0.06 not found.
Writing Makefile for Starlet
Could not read metadata file. Falling back to other methods to determine
prerequisites
---- Unsatisfied dependencies detected during ----
---- KAZUHO/Starlet-0.13.tar.gz ----
Server::Starter [requires]
Shall I follow them and prepend them to the queue of modules we are
processing right now? [yes]
CPAN.pm: Going to build K/KA/KAZUHO/Server-Starter-0.11.tar.gz
*** Module::AutoInstall version 1.03
*** Checking for Perl dependencies…
*** Since we’re running under CPAN, I’ll just let it take care of the
dependency’s installation later.
[Core Features]
Test::TCP …missing. (would need 0.11)
Getopt::Long …loaded. (2.38)
List::MoreUtils …loaded. (0.32)
Proc::Wait3 …loaded. (0.04)
Scope::Guard …loaded. (0.20)
*** Module::AutoInstall configuration finished.
Checking if your kit is complete…
Looks good
Writing Makefile for Server::Starter
Use of uninitialized value in ref-to-glob cast at
/usr/local/share/perl5/Test/SharedFork/Store.pm line 104.
Use of uninitialized value in ref-to-glob cast at
/usr/local/share/perl5/Test/SharedFork/Store.pm line 104.
flock() on unopened filehandle at
/usr/local/share/perl5/Test/SharedFork/Store.pm line 104.
Bad file descriptor at /usr/local/share/perl5/Test/SharedFork/Store.pm
line 104.
END failed–call queue aborted.
Warning: No success on command[/usr/bin/perl Makefile.PL INSTALLDIRS=site]
KAZUHO/Server-Starter-0.11.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
Running make for K/KA/KAZUHO/Starlet-0.13.tar.gz
Has already been unwrapped into directory
/root/.cpan/build/Starlet-0.13-eGHCED
CPAN.pm: Going to build K/KA/KAZUHO/Starlet-0.13.tar.gz
Warning: Prerequisite ‘Server::Starter => 0.06’ for
‘KAZUHO/Starlet-0.13.tar.gz’ failed when processing
‘KAZUHO/Server-Starter-0.11.tar.gz’ with ‘writemakefile => NO
‘/usr/bin/perl Makefile.PL INSTALLDIRS=site’ returned status 2304’.
Continuing, but chances to succeed are limited.
I’m installing RT 4.0.1 onto a new RHEL-6 server. I’ve done the
./configure step and am now resolving dependencies. I was able to
fix them all with CPAN except for Plack::Handler::Starlet. The
error is coming from a Starlet dependency, Server::Starter.
Searching hasn’t turned up anything relevant.
I’d really appreciate any insights into this that anyone might have.
This is 64-bit REHL and I have SELinux enforcing, but I don’t think
it’s the problem because nothing else has burped except for this.
Is your CPAN client configured to follow dependencies?
It appears that you’re missing Test::TCP but I see no attempts to
build that.
Thanks for responding, Kevin.On 7/14/2011 3:32 PM, Kevin Falcone wrote:
On Thu, Jul 14, 2011 at 03:04:03PM -0700, Gene LeDuc wrote:
Greetings,
I’m installing RT 4.0.1 onto a new RHEL-6 server. I’ve done the
./configure step and am now resolving dependencies. I was able to
fix them all with CPAN except for Plack::Handler::Starlet. The
error is coming from a Starlet dependency, Server::Starter.
Searching hasn’t turned up anything relevant.
I’d really appreciate any insights into this that anyone might have.
This is 64-bit REHL and I have SELinux enforcing, but I don’t think
it’s the problem because nothing else has burped except for this.
Is your CPAN client configured to follow dependencies?
It appears that you’re missing Test::TCP but I see no attempts to
build that.
have you tried
install Server::Starter
or
install Test::TCP
to get lower level on the dependency chain?
-kevin
The Test::TCP thing is a bit of a mystery to me. I saw it when I
installed all the dependencies a couple days ago so I tried to install
it. Here’s the result:
cpan[1]> install Test::TCP
CPAN: Storable loaded ok (v2.30)
Going to read ‘/root/.cpan/Metadata’
Database was generated on Thu, 14 Jul 2011 19:40:27 GMT
CPAN: Module::CoreList loaded ok (v2.18)
Test::TCP is up to date (1.13).
So it’s there, but testdeps isn’t seeing it.
I’ve also tried installing Server::Starter by itself and I get the same
error messages about uninitialized values and an unopened file handle.
Writing Makefile for Server::Starter
Use of uninitialized value in ref-to-glob cast at
/usr/local/share/perl5/Test/SharedFork/Store.pm line 104.
Use of uninitialized value in ref-to-glob cast at
/usr/local/share/perl5/Test/SharedFork/Store.pm line 104.
flock() on unopened filehandle at
/usr/local/share/perl5/Test/SharedFork/Store.pm line 104.
Bad file descriptor at /usr/local/share/perl5/Test/SharedFork/Store.pm
line 104.
END failed–call queue aborted.
The Test::TCP thing is a bit of a mystery to me. I saw it when I
installed all the dependencies a couple days ago so I tried to
install it. Here’s the result:
cpan[1]> install Test::TCP
CPAN: Storable loaded ok (v2.30)
Going to read ‘/root/.cpan/Metadata’
Database was generated on Thu, 14 Jul 2011 19:40:27 GMT
CPAN: Module::CoreList loaded ok (v2.18)
Test::TCP is up to date (1.13).
So it’s there, but testdeps isn’t seeing it.
This is usually permissions or 2 different perls
I’ve also tried installing Server::Starter by itself and I get the
same error messages about uninitialized values and an unopened file
handle.
Writing Makefile for Server::Starter
Use of uninitialized value in ref-to-glob cast at
/usr/local/share/perl5/Test/SharedFork/Store.pm line 104.
Use of uninitialized value in ref-to-glob cast at
/usr/local/share/perl5/Test/SharedFork/Store.pm line 104.
flock() on unopened filehandle at
/usr/local/share/perl5/Test/SharedFork/Store.pm line 104.
Bad file descriptor at
/usr/local/share/perl5/Test/SharedFork/Store.pm line 104.
END failed–call queue aborted.
It’s worth seeing if selinux is blocking flock for this perl program.
You may get more information by running perl Makefile.PL on
Server-Starter manually and seeing if it gives you anything
The Test::TCP thing is a bit of a mystery to me. I saw it when I
installed all the dependencies a couple days ago so I tried to
install it. Here’s the result:
cpan[1]> install Test::TCP
CPAN: Storable loaded ok (v2.30)
Going to read ‘/root/.cpan/Metadata’
Database was generated on Thu, 14 Jul 2011 19:40:27 GMT
CPAN: Module::CoreList loaded ok (v2.18)
Test::TCP is up to date (1.13).
So it’s there, but testdeps isn’t seeing it.
This is usually permissions or 2 different perls
I used cpanm to reinstall Test::TCP and now testdeps sees it. I’m
almost certain that there’s only 1 perl on this system; it’s a
nearly-new RHEL-6 install (I’m the one who built it). Other than apache
and RT, nothing else has been installed. How would I determine if there
are multiple perls installed?
I’ve also tried installing Server::Starter by itself and I get the
same error messages about uninitialized values and an unopened file
handle.
Writing Makefile for Server::Starter
Use of uninitialized value in ref-to-glob cast at
/usr/local/share/perl5/Test/SharedFork/Store.pm line 104.
Use of uninitialized value in ref-to-glob cast at
/usr/local/share/perl5/Test/SharedFork/Store.pm line 104.
flock() on unopened filehandle at
/usr/local/share/perl5/Test/SharedFork/Store.pm line 104.
Bad file descriptor at
/usr/local/share/perl5/Test/SharedFork/Store.pm line 104.
END failed–call queue aborted.
It’s worth seeing if selinux is blocking flock for this perl program.
I put selinux into permissive (it was set to enforcing), then removed
and reinstalled Server::Starter (using cpanm) with the same results. Is
this error being thrown by a Server::Starter issue or is it from
whatever process is trying to write the compiled module to disk?
You may get more information by running perl Makefile.PL on
Server-Starter manually and seeing if it gives you anything
I ran the following manually:
[root@bogus Server-Starter-0.11]# perl Makefile.PL
[root@bogus Server-Starter-0.11]# make
[root@bogus Server-Starter-0.11]# make install
[root@bogus Server-Starter-0.11]# make test
(stuff removed for brevity)
All tests successful.
Files=4, Tests=42, 28 wallclock secs ( 0.02 usr 0.00 sys + 0.39
cusr 0.08 csys = 0.49 CPU)
Result: PASS
So it looks like Server::Starter installed Ok.
So then I run cpan-t Server::Starter and get the same errors as before.,
including
Test::TCP …missing. (would need 0.11)
Running testdeps doesn’t flag Test::TCP
Running cpan -t Test::TCP results in:
Result: PASS
TOKUHIROM/Test-TCP-1.13.tar.gz
/usr/bin/make test – OK
So I’m baffled.
make testdeps says that all dependencies are found
cpan -t Server::Starter says that Test::TCP is missing and throws
flock() and bad file descriptor errors at line 104 of
share/perl5/Test/SharedFork/Store.pm
cpan -t Test::TCP says it’s installed and good
cpanm --reinstall Server::Starter says it’s installed and good
cpanm --reinstall Plack::Handler::Starlet says it’s installed and good
Should I believe testdeps and continue with RT installation? Os is this
something that might bite me in the caboose?
I used cpanm to reinstall Test::TCP and now testdeps sees it. I’m
almost certain that there’s only 1 perl on this system; it’s a
nearly-new RHEL-6 install (I’m the one who built it). Other than
apache and RT, nothing else has been installed. How would I
determine if there are multiple perls installed?
You can go looking for perl executables. Also, looking at where on
disk Test/TCP.pm is installed will tell you what perl is using it.
make testdeps says that all dependencies are found
cpan -t Server::Starter says that Test::TCP is missing and throws
flock() and bad file descriptor errors at line 104 of
share/perl5/Test/SharedFork/Store.pm
cpan -t Test::TCP says it’s installed and good
cpanm --reinstall Server::Starter says it’s installed and good
cpanm --reinstall Plack::Handler::Starlet says it’s installed and good
If make testdeps finds everything, then RT should be able to find
everything. You can test by running rt-server which uses Starlet.