[Shipwright] Shipwright 2.4.31 and @INC
David Good
dgood at willingminds.com
Wed May 9 13:14:52 EDT 2012
No, that's the problem -- 1.4404 is installed in lib/perl5/ but it's
still using the version that comes with perl 5.14.2 in lib/perl5/5.14.2/:
[dgood at gouda-vm5 ~]$ grep VERSION `find vessel -name Meta.pm | grep Parse`
vessel/lib/perl5/5.14.2/Parse/CPAN/Meta.pm:
$Parse::CPAN::Meta::VERSION = '1.4401';
vessel/lib/perl5/5.14.2/Parse/CPAN/Meta.pm: eval {
$module->VERSION($version); 1 }
vessel/lib/perl5/Parse/CPAN/Meta.pm: $Parse::CPAN::Meta::VERSION =
'1.4404';
vessel/lib/perl5/Parse/CPAN/Meta.pm: eval {
$module->VERSION($version); 1 }
Or do I need my system perl to have the 1.4404 version too?
On 5/9/2012 9:07 AM, sunnavy wrote:
> Seems your shipyard is a bit out of date as it has Parse::CPAN::Meta 1.4401,
> but CPAN::Meta require 1.4403.
>
> Recently version of Parse::CPAN::Meta is 1.4404, maybe you used an outdated
> CPAN mirror?
>
> Regards
> sunnavy
>
> On 12-05-08 13:47, David Good wrote:
>> Whoops -- sorry for replying directly to you last time. I tried it
>> again exactly has you did below, but when it gets to CPAN::Meta it runs
>> into the same trouble I saw before:
>>
>> Parse::CPAN::Meta version 1.4403 required--this is only version 1.4401
>> at /home/dgood/shipyard/dists/cpan-CPAN-Meta/blib/lib/CPAN/Meta.pm line 13.
>> BEGIN failed--compilation aborted at
>> /home/dgood/shipyard/dists/cpan-CPAN-Meta/blib/lib/CPAN/Meta.pm line 13.
>>
>> Parse::CPAN::Meta is installed in the vessel.
>>
>> This is on a CentOS 6.2 machine. I'll try it on a CentOS 5 server next
>> and see if that could be the cause somehow.
>>
>>
>> On 5/8/2012 12:49 PM, sunnavy wrote:
>>> interesting that I can't reproduce this, here is how I tried:
>>>
>>> $ export SHIPWRIGHT_SHIPYARD=fs:/tmp/fs
>>> $ shipwright create
>>> $ shipwright import http://search.cpan.org/CPAN/authors/id/F/FL/FLORA/perl-5.14.2.tar.gz
>>>
>>> # manualy set build script for perl in /tmp/fs/scripts/perl/build:
>>>
>>> configure: sh Configure -de -Dprefix=%%INSTALL_BASE%%
>>> make: %%MAKE%%
>>> install: %%MAKE%% install
>>> clean: %%MAKE%% clean
>>>
>>> $ shipwright import DBIx::Class Config::General cpan:Directory::Queue DateTime Email::Stuff
>>> $ cd /tmp/fs
>>> $ ./bin/shipwright-builder --install-base /tmp/vessel
>>>
>>> it works for me.
>>>
>>> $ cd /tmp/vessel
>>> $ find . -name ParseXS.pm
>>> /as/Linux/lib/perl5/5.14.2/ExtUtils/ParseXS.pm
>>>
>>>
>>> Regards
>>> sunnavy
>>>
>>> On 12-05-08 09:47, David Good wrote:
>>>> OK. I created a shipyard and imported perl 5.14.2:
>>>>
>>>> shipwright import
>>>> http://search.cpan.org/CPAN/authors/id/F/FL/FLORA/perl-5.14.2.tar.gz
>>>>
>>>> I then imported a bunch of CPAN modules, including DBIx::Class,
>>>> Config::General, DIrectory::Queue, DateTime, Email::Stuff and
>>>> Scalar::Util. When I tried to build the vessel
>>>> (./bin/shipwright-builder --install-base /home/dgood/vessel) I kept
>>>> getting errors. I force-installed one to get it to work, but then got
>>>> stuck building cpan-Params-Util:
>>>>
>>>> /home/dgood/vessel/bin/perl
>>>> /home/dgood/vessel/lib/perl5/ExtUtils/xsubpp -typemap
>>>> /home/dgood/vessel/lib/perl5/5.14.2/ExtUtils/typemap Util.xs > Util.xsc
>>>> && mv Util.xsc Util.c
>>>> Failed to load or import from ExtUtils::ParseXS (version 2.2210). Please
>>>> check that ExtUtils::ParseXS is installed correctly and that the newest
>>>> version will be found in your @INC path: "report_error_count" is not
>>>> exported by the ExtUtils::ParseXS module
>>>> Can't continue after import errors at
>>>> /home/dgood/vessel/lib/perl5/ExtUtils/xsubpp line 6
>>>> make: *** [Util.c] Error 255
>>>>
>>>> Shipwright had already built and installed into the vessel the latest
>>>> version of ExtUtils::ParseXS (3.15) into lib/perl5/ExtUtils/ParseXS.pm,
>>>> but the vessel's perl is still using the original version that came with
>>>> 5.14.2, in lib/perl5/5.14.2/ExtUtils/ParseXS.pm (2.2210). The
>>>> report_error_count function was added to ExtUtils::ParseXS in version 3.04:
>>>>
>>>> [dgood at gouda-vm vessel]$ find . -name ParseXS.pm
>>>> ./lib/perl5/ExtUtils/ParseXS.pm
>>>> ./lib/perl5/5.14.2/ExtUtils/ParseXS.pm
>>>> [dgood at gouda-vm vessel]$ grep "VERSION = '"
>>>> ./lib/perl5/ExtUtils/ParseXS.pm ./lib/perl5/5.14.2/ExtUtils/ParseXS.pm
>>>> ./lib/perl5/ExtUtils/ParseXS.pm: $VERSION = '3.15';
>>>> ./lib/perl5/5.14.2/ExtUtils/ParseXS.pm:$VERSION = '2.2210';
>>>> [dgood at gouda-vm vessel]$ ./bin/perl -V
>>>> Summary of my perl5 (revision 5 version 14 subversion 2) configuration:
>>>>
>>>> Platform:
>>>> osname=linux, osvers=2.6.32-131.0.15.el6.x86_64, archname=x86_64-linux
>>>> uname='linux gouda-vm.willingminds.com 2.6.32-131.0.15.el6.x86_64 #1
>>>> smp sat nov 12 15:11:58 cst 2011 x86_64 x86_64 x86_64 gnulinux '
>>>> config_args='-des -Dprefix=/home/dgood/vessel'
>>>> hint=recommended, useposix=true, d_sigaction=define
>>>> useithreads=undef, usemultiplicity=undef
>>>> useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef
>>>> use64bitint=define, use64bitall=define, uselongdouble=undef
>>>> usemymalloc=n, bincompat5005=undef
>>>> Compiler:
>>>> cc='cc', ccflags ='-fno-strict-aliasing -pipe -fstack-protector
>>>> -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
>>>> optimize='-O2',
>>>> cppflags='-fno-strict-aliasing -pipe -fstack-protector
>>>> -I/usr/local/include'
>>>> ccversion='', gccversion='4.4.6 20110731 (Red Hat 4.4.6-3)',
>>>> gccosandvers=''
>>>> intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678
>>>> d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
>>>> ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t',
>>>> lseeksize=8
>>>> alignbytes=8, prototype=define
>>>> Linker and Libraries:
>>>> ld='cc', ldflags =' -fstack-protector -L/usr/local/lib'
>>>> libpth=/usr/local/lib /lib/../lib64 /usr/lib/../lib64 /lib /usr/lib
>>>> /lib64 /usr/lib64 /usr/local/lib64
>>>> libs=-lnsl -ldl -lm -lcrypt -lutil -lc
>>>> perllibs=-lnsl -ldl -lm -lcrypt -lutil -lc
>>>> libc=, so=so, useshrplib=false, libperl=libperl.a
>>>> gnulibc_version='2.12'
>>>> Dynamic Linking:
>>>> dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E'
>>>> cccdlflags='-fPIC', lddlflags='-shared -O2 -L/usr/local/lib
>>>> -fstack-protector'
>>>>
>>>>
>>>> Characteristics of this binary (from libperl):
>>>> Compile-time options: PERL_DONT_CREATE_GVSV PERL_MALLOC_WRAP
>>>> PERL_PRESERVE_IVUV USE_64_BIT_ALL USE_64_BIT_INT
>>>> USE_LARGE_FILES USE_PERLIO USE_PERL_ATOF
>>>> Built under linux
>>>> Compiled at May 7 2012 14:35:52
>>>> @INC:
>>>> /home/dgood/vessel/lib/perl5/site_perl/5.14.2/x86_64-linux
>>>> /home/dgood/vessel/lib/perl5/site_perl/5.14.2
>>>> /home/dgood/vessel/lib/perl5/5.14.2/x86_64-linux
>>>> /home/dgood/vessel/lib/perl5/5.14.2
>>>> .
>>>> [dgood at gouda-vm vessel]$
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> On 5/8/2012 8:55 AM, sunnavy wrote:
>>>>> I don't think it's the problem, Shipwright *does* add %%INSTALL_BASE%%/lib/perl5
>>>>> to PERL5LIB
>>>>>
>>>>> Could you tell the whole story?
>>>>>
>>>>> Regards
>>>>> sunnavy
>>>>>
>>>>> On 12-05-07 17:10, David Good wrote:
>>>>>> I've been attempting to build a vessel incorporating perl 5.14.2 and
>>>>>> have been having a lot of trouble getting CPAN modules I've also
>>>>>> included to build properly. I think I've finally tracked down the
>>>>>> problem. Shipwright is building and installing them under
>>>>>> %%INSTALL_BASE%%/lib/perl5 but apparently since perl 5.12.0 only the
>>>>>> version-specific directories are included in @INC (i.e.
>>>>>> %%INSTALL_BASE%%/lib/perl5/5.14.2 ).
>>>>>>
>>>>>> I'm not sure how to proceed -- should I build perl hardcoded to use the
>>>>>> non-versioned directories or do I need to tweak the build scripts for
>>>>>> all of the modules? I'm kinda leaning towards the former since I'm not
>>>>>> that interested in having multiple versions of perl in my vessel :-) Is
>>>>>> there a newer version of Shipwright that'll do the right thing?
>>>>>>
>>>>>> _______________________________________________
>>>>>> Shipwright mailing list
>>>>>> Shipwright at lists.bestpractical.com
>>>>>> http://lists.bestpractical.com/cgi-bin/mailman/listinfo/shipwright
>>>>> _______________________________________________
>>>>> Shipwright mailing list
>>>>> Shipwright at lists.bestpractical.com
>>>>> http://lists.bestpractical.com/cgi-bin/mailman/listinfo/shipwright
>>>>>
>>>>>
>>> _______________________________________________
>>> Shipwright mailing list
>>> Shipwright at lists.bestpractical.com
>>> http://lists.bestpractical.com/cgi-bin/mailman/listinfo/shipwright
>>>
>>>
>> _______________________________________________
>> Shipwright mailing list
>> Shipwright at lists.bestpractical.com
>> http://lists.bestpractical.com/cgi-bin/mailman/listinfo/shipwright
> _______________________________________________
> Shipwright mailing list
> Shipwright at lists.bestpractical.com
> http://lists.bestpractical.com/cgi-bin/mailman/listinfo/shipwright
>
>
More information about the Shipwright
mailing list