in reply to Compress::Raw::Zlib will not upgrade

Paste perl -V

If you install modules into perl -V:installsitearch -V:installsitelib but perl  -V:installarchlib  -V:installprivlib appear before sitearch/sitelib in @INC, no amount of upgrading will load the newer module first :)

Fix your @INC, or fix your install target but don't ask me how

Replies are listed 'Best First'.
Re^2: Compress::Raw::Zlib will not upgrade
by boodong (Novice) on Aug 14, 2011 at 04:53 UTC
    bash-4.1$ perl -V
    Summary of my perl (revision 5 version 12 subversion 1) configuration:
    Platform:
    osname=solaris, osvers=2.10, archname=sun4-solaris
    uname='sunos mobilydnoss-dev02 5.10 generic_142900-03 sun4v sparc sunw,sparc-enterprise-t5120 ' config_args='-d -e -s -Dcf_by=OpenPKG-CURRENT -Dcf_email=http://www.openpkg.org/ -Dprefix=/opt/openpkg/current -Dvendorprefix=/opt/openpkg/current -Dinstallprefix=/opt/openpkg/current -Dinstallstyle=lib/perl5 -Dman1dir=/opt/openpkg/current/man/man1 -Dman3dir=/opt/openpkg/current/man/man3 -Dcc=/opt/openpkg/current/bin/gcc -Doptimize=-O2 -pipe -Dlocincpth=/opt/openpkg/current/include -Dloclibpth=/opt/openpkg/current/lib -Dldflags=-L/opt/openpkg/current/lib -Dlibpth=/opt/openpkg/current/lib /lib /usr/lib /usr/ccs/lib -Dglibpth=/opt/openpkg/current/lib /lib /usr/lib /usr/ccs/lib -Dscriptdir=/opt/openpkg/current/bin -Uinstallusrbinperl -Ui_malloc -Ui_iconv -Ui_db -Uusedevel' hint=recommended, useposix=true, d_sigaction=define useithreads=undef, usemultiplicity=undef useperlio=define, d_sfio=undef, uselargefiles=define,
    usesocks=undef use64bitint=undef, use64bitall=undef, uselongdouble=undef usemymalloc=n, bincompat5005=undef Compiler:
    cc='/opt/openpkg/current/bin/gcc', ccflags ='-fno-strict-aliasing -pipe -I/opt/openpkg/current/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DPERL_USE_SAFE_PUTENV', optimize='-O2 -pipe', cppflags='-fno-strict-aliasing -pipe -I/opt/openpkg/current/include' ccversion='', gccversion='4.5.1', gccosandvers='' intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=4321 d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16 ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8 alignbytes=8, prototype=define Linker and Libraries: ld='/opt/openpkg/current/bin/gcc', ldflags ='-L/opt/openpkg/current/lib ' libpth=/opt/openpkg/current/lib /lib /usr/lib /usr/ccs/lib libs=-lsocket -lnsl -ldl -lm -lc perllibs=-lsocket -lnsl -ldl -lm -lc libc=/lib/libc.so, so=so, useshrplib=false, libperl=libperl.a gnulibc_version='' Dynamic Linking: dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags=' -Wl,-E' cccdlflags='-fPIC', lddlflags=' -Wl,-E -G -L/opt/openpkg/current/lib'

    Characteristics of this binary (from libperl):
    Compile-time options: PERL_DONT_CREATE_GVSV PERL_MALLOC_WRAP PERL_USE_SAFE_PUTENV USE_LARGE_FILES USE_PERLIO USE_PERL_ATOF Built under solaris
    Compiled at Aug 14 2010 12:56:44
    @INC:
    /opt/openpkg/current/lib/perl/site_perl/5.12.1/sun4-solaris
    /opt/openpkg/current/lib/perl/site_perl/5.12.1
    /opt/openpkg/current/lib/perl/vendor_perl/5.12.1/sun4-solaris
    /opt/openpkg/current/lib/perl/vendor_perl/5.12.1
    /opt/openpkg/current/lib/perl/5.12.1/sun4-solaris
    /opt/openpkg/current/lib/perl/5.12.1
    .

      Resolved, if not elegantly. The module seems to be installed in 2 places as sugggested, but the original was in a directory that had presidence in the lookup path hierarchy. The way i got round this was by changing an environementat variable

       export PERL5LIB=/opt/openpkg/current/lib/perl/5.12.1/sun4-solaris/

      This seems to now work

      bash-4.1$ perl use Compress::Raw::Zlib 2.037; exit

      Is this the best way to do this, or sound I just manualy delete the modules from the other location ?

        Is this the best way to do this, or sound I just manualy delete the modules from the other location ?

        No, you should fix your Config, its messed up.

        Modules are supposed to get installed under

        perl -V:installsitearch -V:installsitelib ( /opt/openpkg/current/lib/perl/site_perl/5.12.1/sun4-solaris /opt/openpkg/current/lib/perl/site_perl/5.12.1 )

        and not

        perl -V:installarch -V:installlib (/opt/openpkg/current/lib/perl/5.12.1/sun4-solaris /opt/openpkg/current/lib/perl/5.12.1)