[Shipwright] Shipwright 2.4.31 and @INC
sunnavy
sunnavy at bestpractical.com
Tue May 8 15:49:49 EDT 2012
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
> >
> >
More information about the Shipwright
mailing list