Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 596396

Summary: perl5 (revision 5 version 22 subversion 2) - Openwebmail Cannot start "Can't use 'defined(%hash)'"
Product: Gentoo Linux Reporter: DamianChan <dchan>
Component: Current packagesAssignee: Gentoo Perl team <perl>
Status: RESOLVED CANTFIX    
Severity: major CC: kentnl
Priority: High    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description DamianChan 2016-10-07 04:15:20 UTC
With Perl 5.22.2

./openwebmail.pl
Status: 500
Content-type: text/html

<h1>Software error:</h1>
<pre>Can't use 'defined(%hash)' (Maybe you should just omit the defined()?) at shares/ow-shared.pl line 201.
</pre>
<p>
For help, please send mail to this site's webmaster, giving this error message
and the time and date of the error.

</p>
<h1>Software error:</h1>
<pre>[Fri Oct  7 12:11:12 2016] openwebmail.pl: Can't use 'defined(%hash)' (Maybe you should just omit the defined()?) at shares/ow-shared.pl line 201.
Compilation failed in require at ./openwebmail.pl line 72.
</pre>
<p>
For help, please send mail to this site's webmaster, giving this error message
and the time and date of the error.

</p>
[Fri Oct  7 12:11:12 2016] openwebmail.pl: [Fri Oct  7 12:11:12 2016] openwebmail.pl: Can't use 'defined(%hash)' (Maybe you should just omit the defined()?) at shares/ow-shared.pl line 201.
[Fri Oct  7 12:11:12 2016] openwebmail.pl: Compilation failed in require at ./openwebmail.pl line 72.

The application report an error and cannot run at 5.22.2 The same code can run at 5.20.2.

Summary of my perl5 (revision 5 version 22 subversion 2) configuration:

  Platform:
    osname=linux, osvers=4.4.6-gentoo, archname=x86_64-linux
    uname='linux hkmail 4.4.6-gentoo #1 smp fri sep 9 15:38:39 hkt 2016 x86_64 amd fx(tm)-6300 six-core processor authenticamd gnulinux '
    config_args='-des -Duseshrplib -Darchname=x86_64-linux -Dcc=x86_64-pc-linux-gnu-gcc -Doptimize=-march=athlon64-sse3 -O3 -pipe -Dldflags=-Wl,-O1 -Wl,--as-needed -Dprefix=/usr -Dinstallprefix=/usr -Dsiteprefix=/usr/local -Dvendorprefix=/usr -Dscriptdir=/usr/bin -Dprivlib=/usr/lib64/perl5/5.22.2 -Darchlib=/usr/lib64/perl5/5.22.2/x86_64-linux -Dsitelib=/usr/local/lib64/perl5/5.22.2 -Dsitearch=/usr/local/lib64/perl5/5.22.2/x86_64-linux -Dvendorlib=/usr/lib64/perl5/vendor_perl/5.22.2 -Dvendorarch=/usr/lib64/perl5/vendor_perl/5.22.2/x86_64-linux -Dman1dir=/usr/share/man/man1 -Dman3dir=/usr/share/man/man3 -Dsiteman1dir=/usr/local/man/man1 -Dsiteman3dir=/usr/local/man/man3 -Dvendorman1dir=/usr/share/man/man1 -Dvendorman3dir=/usr/share/man/man3 -Dman1ext=1 -Dman3ext=3pm -Dlibperl=libperl.so.5.22.2 -Dlocincpth=/usr/include  -Dglibpth=/lib64 /usr/lib64  -Duselargefiles -Dd_semctl_semun -Dcf_by=Gentoo -Dmyhostname=localhost -Dperladmin=root@localhost -Dinstallusrbinperl=n -Ud_csh -Uusenm -Di_ndbm -Di_gdbm -Di_db -DDEBUGGING=none -Dinc_version_list=5.22.0/x86_64-linux 5.22.0 5.22.1/x86_64-linux 5.22.1  -Dlibpth=/usr/local/lib64 /lib64 /usr/lib64 -Dnoextensions=ODBM_File'
    hint=recommended, useposix=true, d_sigaction=define
    useithreads=undef, usemultiplicity=undef
    use64bitint=define, use64bitall=define, uselongdouble=undef
    usemymalloc=n, bincompat5005=undef
  Compiler:
    cc='x86_64-pc-linux-gnu-gcc', ccflags ='-fwrapv -fno-strict-aliasing -pipe -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
    optimize='-march=athlon64-sse3 -O3 -pipe',
    cppflags='-fwrapv -fno-strict-aliasing -pipe'
    ccversion='', gccversion='4.9.3', gccosandvers=''
    intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678, doublekind=3
    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16, longdblkind=3
    ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
    alignbytes=8, prototype=define
  Linker and Libraries:
    ld='x86_64-pc-linux-gnu-gcc', ldflags ='-Wl,-O1 -Wl,--as-needed'
    libpth=/usr/local/lib64 /lib64 /usr/lib64 /usr/local/lib /usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/include-fixed /usr/lib /lib/../lib64 /usr/lib/../lib64 /lib
    libs=-lpthread -lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lc -lgdbm_compat
    perllibs=-lpthread -lnsl -ldl -lm -lcrypt -lutil -lc
    libc=libc-2.22.so, so=so, useshrplib=true, libperl=libperl.so.5.22.2
    gnulibc_version='2.22'
  Dynamic Linking:
    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E'
    cccdlflags='-fPIC', lddlflags='-shared -march=athlon64-sse3 -O3 -pipe -Wl,-O1 -Wl,--as-needed'


Characteristics of this binary (from libperl):
  Compile-time options: HAS_TIMES PERLIO_LAYERS PERL_DONT_CREATE_GVSV
                        PERL_HASH_FUNC_ONE_AT_A_TIME_HARD PERL_MALLOC_WRAP
                        PERL_NEW_COPY_ON_WRITE PERL_PRESERVE_IVUV
                        USE_64_BIT_ALL USE_64_BIT_INT USE_LARGE_FILES
                        USE_LOCALE USE_LOCALE_COLLATE USE_LOCALE_CTYPE
                        USE_LOCALE_NUMERIC USE_LOCALE_TIME USE_PERLIO
                        USE_PERL_ATOF
  Locally applied patches:
        gentoo/hints_hpux - Fix hpux hints
        gentoo/aix_soname - aix gcc detection and shared library soname support
        gentoo/EUMM-RUNPATH - https://bugs.gentoo.org/105054 cpan/ExtUtils-MakeMaker: drop $PORTAGE_TMPDIR from LD_RUN_PATH
        gentoo/config_over - Remove -rpath and append LDFLAGS to lddlflags
        gentoo/opensolaris_headers - [PATCH] Add headers for opensolaris
        gentoo/patchlevel - List packaged patches for perl-5.22.2(#1) in patchlevel.h
        gentoo/cpanplus_definstalldirs - Configure CPANPLUS to use the site directories by default.
        gentoo/cleanup-paths - [PATCH] Cleanup PATH and shrpenv
        gentoo/enc2xs - Tweak enc2xs to follow symlinks and ignore missing @INC directories.
        gentoo/darwin-cc-ld - https://bugs.gentoo.org/297751 [PATCH] darwin: Use $CC to link
        gentoo/cpan_definstalldirs - Provide a sensible INSTALLDIRS default for modules installed from CPAN.
        gentoo/interix - [PATCH] Fix interix hints
        gentoo/create_libperl_soname - https://bugs.gentoo.org/286840 [PATCH] Set libperl soname
        gentoo/mod_paths - Add /etc/perl to @INC
        gentoo/EUMM_perllocalpod -
        gentoo/drop_fstack_protector - https://bugs.gentoo.org/348557 [PATCH] Don't force -fstack-protector on everyone
        gentoo/usr_local - [PATCH] Remove /usr/local paths
        gentoo/D-SHA-CFLAGS - https://bugs.gentoo.org/506818 [PATCH] [PATCH] Do not set custom CFLAGS in cpan/Digest-SHA
        gentoo/io_socket_ip_tests -
        gentoo/tests.patch -
        debian/cpan-missing-site-dirs - Fix CPAN::FirstTime defaults with nonexisting site dirs if a parent is writable
        debian/makemaker-pasthru - Pass LD settings through to subdirectories
        debian/locale-robustness - [perl #124310] Make t/run/locale.t survive missing locales masked by LC_ALL
        fixes/memoize_storable_nstore - [rt.cpan.org #77790] Memoize::Storable: respect 'nstore' option not respected
        fixes/podman-pipe - Better errors for man pages from standard input
        fixes/respect_umask - Respect umask during installation
        fixes/podman-utc - Make the embedded date from Pod::Man reproducible
        fixes/podman-utc-docs - Documentation and test suite updates for UTC fix
        fixes/net_smtp_docs - [rt.cpan.org #36038] Document the Net::SMTP 'Port' option
        fixes/document_makemaker_ccflags - [rt.cpan.org #68613] Document that CCFLAGS should include $Config{ccflags}
  Built under linux
  Compiled at Oct  7 2016 12:01:13
  @INC:
    /etc/perl
    /usr/local/lib64/perl5/5.22.2/x86_64-linux
    /usr/local/lib64/perl5/5.22.2
    /usr/lib64/perl5/vendor_perl/5.22.2/x86_64-linux
    /usr/lib64/perl5/vendor_perl/5.22.2
    /usr/local/lib64/perl5
    /usr/lib64/perl5/vendor_perl
    /usr/lib64/perl5/5.22.2/x86_64-linux
    /usr/lib64/perl5/5.22.2

With 5.20.2

[Fri Oct  7 12:14:33 2016] .openwebmail.pl: defined(%hash) is deprecated at /usr/local/apache2/cgi-bin/openwebmail/shares/ow-shared.pl line 187.
[Fri Oct  7 12:14:33 2016] .openwebmail.pl:     (Maybe you should just omit the defined()?)
[Fri Oct  7 12:14:33 2016] .openwebmail.pl: defined(%hash) is deprecated at /usr/local/apache2/cgi-bin/openwebmail/shares/ow-shared.pl line 193.
[Fri Oct  7 12:14:33 2016] .openwebmail.pl:     (Maybe you should just omit the defined()?)
[Fri Oct  7 12:14:33 2016] .openwebmail.pl: defined(%hash) is deprecated at /usr/local/apache2/cgi-bin/openwebmail/shares/ow-shared.pl line 194.
[Fri Oct  7 12:14:33 2016] .openwebmail.pl:     (Maybe you should just omit the defined()?)
[Fri Oct  7 12:14:33 2016] .openwebmail.pl: defined(%hash) is deprecated at /usr/local/apache2/cgi-bin/openwebmail/shares/ow-shared.pl line 195.
[Fri Oct  7 12:14:33 2016] .openwebmail.pl:     (Maybe you should just omit the defined()?)
[Fri Oct  7 12:14:33 2016] .openwebmail.pl: defined(%hash) is deprecated at /usr/local/apache2/cgi-bin/openwebmail/shares/ow-shared.pl line 197.
[Fri Oct  7 12:14:33 2016] .openwebmail.pl:     (Maybe you should just omit the defined()?)
[Fri Oct  7 12:14:33 2016] .openwebmail.pl: defined(%hash) is deprecated at /usr/local/apache2/cgi-bin/openwebmail/shares/ow-shared.pl line 210.
[Fri Oct  7 12:14:33 2016] .openwebmail.pl:     (Maybe you should just omit the defined()?)
[Fri Oct  7 12:14:33 2016] .openwebmail.pl: defined(@array) is deprecated at /usr/local/apache2/cgi-bin/openwebmail/shares/ow-shared.pl line 1071.
[Fri Oct  7 12:14:33 2016] .openwebmail.pl:     (Maybe you should just omit the defined()?)
[Fri Oct  7 12:14:33 2016] .openwebmail.pl: defined(@array) is deprecated at /usr/local/apache2/cgi-bin/openwebmail/shares/ow-shared.pl line 1701.
[Fri Oct  7 12:14:33 2016] .openwebmail.pl:     (Maybe you should just omit the defined()?)
Content-type: text/html

<html><head><meta http-equiv="refresh" content="5;URL=https:///cgi-bin/openwebmail/openwebmail.pl"></head><body>
Service is available over SSL only,<br>
you will be redirected to <a href="https:///cgi-bin/openwebmail/openwebmail.pl">SSL login</a> page in 5 seconds...

</body></html>

Summary of my perl5 (revision 5 version 20 subversion 2) configuration:

  Platform:
    osname=linux, osvers=4.4.6-gentoo, archname=x86_64-linux
    uname='linux officeweb 4.4.6-gentoo #1 smp tue sep 27 11:45:28 hkt 2016 x86_64 amd a8-7650k radeon r7, 10 compute cores 4c+6g authenticamd gnulinux '
    config_args='-des -Duseshrplib -Darchname=x86_64-linux -Dcc=x86_64-pc-linux-gnu-gcc -Doptimize=-march=bdver3 -O3 -pipe -Dldflags=-Wl,-O1 -Wl,--as-needed -Dprefix=/usr -Dinstallprefix=/usr -Dsiteprefix=/usr/local -Dvendorprefix=/usr -Dscriptdir=/usr/bin -Dprivlib=/usr/lib64/perl5/5.20.2 -Darchlib=/usr/lib64/perl5/5.20.2/x86_64-linux -Dsitelib=/usr/local/lib64/perl5/5.20.2 -Dsitearch=/usr/local/lib64/perl5/5.20.2/x86_64-linux -Dvendorlib=/usr/lib64/perl5/vendor_perl/5.20.2 -Dvendorarch=/usr/lib64/perl5/vendor_perl/5.20.2/x86_64-linux -Dman1dir=/usr/share/man/man1 -Dman3dir=/usr/share/man/man3 -Dsiteman1dir=/usr/local/man/man1 -Dsiteman3dir=/usr/local/man/man3 -Dvendorman1dir=/usr/share/man/man1 -Dvendorman3dir=/usr/share/man/man3 -Dman1ext=1 -Dman3ext=3pm -Dlibperl=libperl.so.5.20.2 -Dlocincpth=/usr/include  -Dglibpth=/lib64 /usr/lib64  -Duselargefiles -Dd_semctl_semun -Dcf_by=Gentoo -Dmyhostname=localhost -Dperladmin=root@localhost -Dinstallusrbinperl=n -Ud_csh -Uusenm -Di_ndbm -Di_gdbm -Di_db -DDEBUGGING=none -Dinc_version_list=5.20.0/x86_64-linux 5.20.0 5.20.1/x86_64-linux 5.20.1  -Dlibpth=/usr/local/lib64 /lib64 /usr/lib64 -Dnoextensions=ODBM_File'
    hint=recommended, useposix=true, d_sigaction=define
    useithreads=undef, usemultiplicity=undef
    use64bitint=define, use64bitall=define, uselongdouble=undef
    usemymalloc=n, bincompat5005=undef
  Compiler:
    cc='x86_64-pc-linux-gnu-gcc', ccflags ='-fwrapv -fno-strict-aliasing -pipe -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
    optimize='-march=bdver3 -O3 -pipe',
    cppflags='-fwrapv -fno-strict-aliasing -pipe'
    ccversion='', gccversion='4.9.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='x86_64-pc-linux-gnu-gcc', ldflags ='-Wl,-O1 -Wl,--as-needed'
    libpth=/usr/local/lib64 /lib64 /usr/lib64 /usr/local/lib /usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/include-fixed /usr/lib /lib/../lib64 /usr/lib/../lib64 /lib
    libs=-lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lc -lgdbm_compat
    perllibs=-lnsl -ldl -lm -lcrypt -lutil -lc
    libc=libc-2.22.so, so=so, useshrplib=true, libperl=libperl.so.5.20.2
    gnulibc_version='2.22'
  Dynamic Linking:
    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E'
    cccdlflags='-fPIC', lddlflags='-shared -march=bdver3 -O3 -pipe -Wl,-O1 -Wl,--as-needed'


Characteristics of this binary (from libperl):
  Compile-time options: HAS_TIMES PERLIO_LAYERS PERL_DONT_CREATE_GVSV
                        PERL_HASH_FUNC_ONE_AT_A_TIME_HARD PERL_MALLOC_WRAP
                        PERL_NEW_COPY_ON_WRITE PERL_PRESERVE_IVUV
                        USE_64_BIT_ALL USE_64_BIT_INT USE_LARGE_FILES
                        USE_LOCALE USE_LOCALE_COLLATE USE_LOCALE_CTYPE
                        USE_LOCALE_NUMERIC USE_PERLIO USE_PERL_ATOF
  Locally applied patches:
        gentoo/hints_hpux - Fix hpux hints
        gentoo/aix_soname - aix gcc detection and shared library soname support
        gentoo/EUMM-RUNPATH - https://bugs.gentoo.org/105054 cpan/ExtUtils-MakeMaker: drop $PORTAGE_TMPDIR from LD_RUN_PATH
        gentoo/config_over - Remove -rpath and append LDFLAGS to lddlflags
        gentoo/opensolaris_headers - [PATCH] Add headers for opensolaris
        gentoo/patchlevel - List packaged patches for perl-5.20.2(#1) in patchlevel.h
        gentoo/cpanplus_definstalldirs - Configure CPANPLUS to use the site directories by default.
        gentoo/cleanup-paths - [PATCH] Cleanup PATH and shrpenv
        gentoo/enc2xs - Tweak enc2xs to follow symlinks and ignore missing @INC directories.
        gentoo/enc2xs_checksums -
        gentoo/darwin-cc-ld - https://bugs.gentoo.org/297751 [PATCH] darwin: Use $CC to link
        gentoo/cpan_definstalldirs - Provide a sensible INSTALLDIRS default for modules installed from CPAN.
        gentoo/interix - [PATCH] Fix interix hints
        gentoo/create_libperl_soname - https://bugs.gentoo.org/286840 [PATCH] Set libperl soname
        gentoo/mod_paths - Add /etc/perl to @INC
        gentoo/EUMM_delete_packlist -
        gentoo/drop_fstack_protector - https://bugs.gentoo.org/348557 [PATCH] Don't force -fstack-protector on everyone
        gentoo/usr_local - [PATCH] Remove /usr/local paths
        gentoo/D-SHA-CFLAGS - https://bugs.gentoo.org/506818 [PATCH] Do not set custom CFLAGS in cpan/Digest-SHA
        gentoo/io_socket_ip_tests -
        debian/cpan-missing-site-dirs - Fix CPAN::FirstTime defaults with nonexisting site dirs if a parent is writable
        debian/regcomp-mips-optim - Downgrade the optimization of regcomp.c on mips and mipsel due to a gcc-4.9 bug
        debian/perldoc-less-R - Tell the 'less' pager to allow terminal escape sequences
        debian/makemaker-pasthru - Pass LD settings through to subdirectories
        fixes/net_smtp_docs - [rt.cpan.org #36038] Document the Net::SMTP 'Port' option
        fixes/memoize_storable_nstore - [rt.cpan.org #77790] Memoize::Storable: respect 'nstore' option not respected
        fixes/document_makemaker_ccflags - [rt.cpan.org #68613] Document that CCFLAGS should include $Config{ccflags}
  Built under linux
  Compiled at Oct  7 2016 11:52:00
  @INC:
    /etc/perl
    /usr/local/lib64/perl5/5.20.2/x86_64-linux
    /usr/local/lib64/perl5/5.20.2
    /usr/lib64/perl5/vendor_perl/5.20.2/x86_64-linux
    /usr/lib64/perl5/vendor_perl/5.20.2
    /usr/local/lib64/perl5
    /usr/lib64/perl5/vendor_perl
    /usr/lib64/perl5/5.20.2/x86_64-linux
    /usr/lib64/perl5/5.20.2
Comment 1 Kent Fredric (IRC: kent\n) (RETIRED) gentoo-dev 2016-10-07 05:01:31 UTC
Sorry, which package openwebmail is in?

And emerge --info could be helpful.
Comment 2 Kent Fredric (IRC: kent\n) (RETIRED) gentoo-dev 2016-10-07 12:11:09 UTC
Looking at the location your error comes from, this indicates your problem is with some 3rd party application that Gentoo don't ship, not in any overlay I can identify, and is installed manually in /usr/local/

The error you're seeing is an error in the code itself, using deprecated syntax in recent versions of Perl, and is thus outside the scope of things that are to be considered problems of either perl or mod_perl, etc.

You should report a bug with upstream.

But given upstream have been without response for 10 years, good luck!

https://openwebmail.org/openwebmail/doc/changes.txt 

If anything I've said is wrong and there is actually something within the purview of Gentoo to fix, please reopen this bug with appropriate details.