[Catalyst] building 'local' lib with dependencies for shipping

Fernan Aguero fernan.aguero at gmail.com
Wed Apr 27 14:59:50 GMT 2011

On Tue, Apr 26, 2011 at 8:29 PM, Nicholas Wehr
<catalyst at bionikchickens.com> wrote:
> Shipwright is not a silver bullet - it has issues of its own. For catalyst
> projects I created a dependency finder that issues shipwright import
> commands. on top of that, shipwright is not forgiving with regards to build
> errors, for example - a non-uniform Makefile.PL of a CPAN dependency might
> break it... there are ways to tweak a known dependency - but is a pain with
> fully automated build systems.

Thanks again Nick for chiming in.

I edited the Makefile.PL for my app and listed additional dependencies
that I extracted from my app's 'lib' directory.
Now, when I import into the shipyard, it fetches many more
dependencies. However this time, the import fails because of a deep
recursion condition:

Fetching with LWP:
Caught Deep Recursion Condition: /tmp/shipwright_source_dvI8Dl
contains /tmp/shipwright_source_dvI8Dl/cpan-PerlMagick at
/usr/local/share/perl/5.10.1/Shipwright/Source/Compressed.pm line 92
can't dump __require.yml: No such file or directory
cannot remove path when cwd is /tmp/shipwright_source_dvI8Dl for
/tmp/shipwright_source_dvI8Dl:  at /usr/share/perl/5.10/File/Temp.pm
line 902

Tried to google this but found no clue, and almost got no results for
["deep recursion" shipwright] ... any idea if I can manually fix or
work around this?

> for the error you listed - I see this when I try to add a module to an
> existing shipyard and then rebuild an existing vessel. when this error
> happens - I think it means that the shipwright_builder is failing because
> its required cache of in-memory-references-in-the-vessel has been lost from
> the previous vessel build-up. I don't have a good solution here except to
> delete the whole vessel and issue another build command (keep the shipyard
> though).

No, it was actually the first time I tried building the ship :)
I guess that probably, because my app was not configured correctly (no
Makefile, missing dependencies) maybe it just failed building.
I'll see if it gets fixed now  that I do have a Makefile (but before
getting there I need to finish the import with all of the deps.)

> anyone else using shipwright for catalyst? any other
> dep management solutions? how about a higher level solution like Apache Ivy?
> I'm a fan of CPAN - but its not exactly a configuration management dream, is
> it?
> -n



More information about the Catalyst mailing list