Beefy Boxes and Bandwidth Generously Provided by pair Networks
more useful options

Re: Turn a Website into a native application

by davido (Cardinal)
on Dec 20, 2011 at 17:52 UTC ( #944440=note: print w/replies, xml ) Need Help??

in reply to Turn a Website into a native application

First of all, If you are - like me - using any Ubuntu x64 derivate with ActivePerl 5.14, you're in for quite a ride. Mostly, because ExtUtils::MakeMaker wont find most libraries.

Thank you, thank you...! This may help explain why a module I'm maintaining keeps failing about 2 of 50 smoke tests with a report that one of the dependencies couldn't be found; a dependency that is listed as installed at the dependency summary at the end of the test.


  • Comment on Re: Turn a Website into a native application

Replies are listed 'Best First'.
Re^2: Turn a Website into a native application
by cavac (Priest) on Dec 20, 2011 at 18:55 UTC

    To be clear so we speak of the same thing: The MakeMaker patch here only affects searching system libraries, e.g. the LIBS array in Makefile.PL.

    Everything else (available Perl modules) is not affected.

    Due to some small problems, incompatibilities, broken binary packages (operating system, ActivePerl) it is actually possible that an XS module will be installed that can not find a system library at runtime.

    Another common problem i encounter are these optional dependencies of some modules. Take the unholy XML parsing mess for example: XML::Simple may be available... that doesn't mean it will actually work, because someone has uninstalled or broken-installed all the actual parser modules - or just removed libexpat from his/her system. Or somehow even managed to install XML::Simple without any available parser (shouldn't happen anymore).

    Or take DBI. This thing is very flexible. Let's say you want to use DBD::Oracle. The only way to make sure it really works is to actually use it, e.g. connect to the Oracle database you want to work with. Even if DBD::Oracle and the binary oracle client library is available and everything loads correctly (=the lib didn't change since you compiled your XS against it) it doesn't actually mean it will work. The Oracle server might have been upgraded and is now (partly) incompatible with whatever OCI version your client is using.

    So, a few failed tests on a small number of computers - especially for complex modules - shouldn't be alarming. Best way to figure things out is probably trying to contact the persons that submitted the FAIL reports and work with them to find the problem.

    If i remember correctly: The cpantesters reports basically submit all the output that is generated by the test run. So, if a test fails on certain dependencies, your tests could actually check if it can find the libraries/modules/packages/whatever on the system in question (calling "locate" on Linux/Unix comes to mind) and output the results as warnings. This warnings in turn won't break your tests but will give you more information to work with.

    BREW /very/strong/coffee HTTP/1.1
    418 I'm a teapot

Log In?

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://944440]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others perusing the Monastery: (4)
As of 2023-02-06 21:37 GMT
Find Nodes?
    Voting Booth?
    I prefer not to run the latest version of Perl because:

    Results (36 votes). Check out past polls.