Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

perl@17553: ODBM_File does not build in Tru64 #5854

Closed
p5pRT opened this issue Aug 22, 2002 · 6 comments
Closed

perl@17553: ODBM_File does not build in Tru64 #5854

p5pRT opened this issue Aug 22, 2002 · 6 comments

Comments

@p5pRT
Copy link

p5pRT commented Aug 22, 2002

Migrated from rt.perl.org#16708 (status was 'resolved')

Searchable as RT16708$

@p5pRT
Copy link
Author

p5pRT commented Aug 22, 2002

From @jhi

Created by jhi@lyta.hut.fi

While trying to setup a nightly Tru64 smoke build I ran into this​:
perll@​17753 does not build ODBM_File in Tru64. The failure message
appended below. Everything else builds okay if so forced with "make -k".

The reported configuration is from Tru64 4.0D, but 5.1A worked
(or, didn't work) the same.

(Tried also in Debian 2.2 x86 kernel 2.2.19, and ODBM_File and everything
else builds fine.)

[...]
  Making ODBM_File (dynamic)
make[1]​: Entering directory `/tmp/jhi/perl-current/ext/ODBM_File'
make[1]​: Leaving directory `/tmp/jhi/perl-current/ext/ODBM_File'
make[1]​: Entering directory `/tmp/jhi/perl-current/ext/ODBM_File'
cc -c -std -fprm d -ieee -DDEBUGGING -DLANGUAGE_C -g -DVERSION=\"1.03\" -DXS_VERSION=\"1.03\" "-I../.." ODBM_File.c
cc​: Error​: ODBM_File.c, line 184​: In this statement, "ENTER" is not declared.
  DBM_ckFilter(tmpSV, filter_store_key, "filter_store_key");
----------------^
cc​: Error​: ODBM_File.c, line 195​: In this statement, "ENTER" is not declared.
  DBM_ckFilter(ST(0), filter_fetch_value,"filter_fetch_value");
--------^
cc​: Error​: ODBM_File.c, line 221​: In this statement, "ENTER" is not declared.
  DBM_ckFilter(ST(1), filter_store_key, "filter_store_key");
--------^
cc​: Error​: ODBM_File.c, line 225​: In this statement, "ENTER" is not declared.
  DBM_ckFilter(ST(2), filter_store_value, "filter_store_value");
--------^
cc​: Error​: ODBM_File.c, line 274​: In this statement, "ENTER" is not declared.
  DBM_ckFilter(ST(1), filter_store_key, "filter_store_key");
--------^
cc​: Error​: ODBM_File.c, line 304​: In this statement, "ENTER" is not declared.
  DBM_ckFilter(ST(0), filter_fetch_key,"filter_fetch_key");
--------^
cc​: Error​: ODBM_File.c, line 327​: In this statement, "ENTER" is not declared.
  DBM_ckFilter(ST(1), filter_store_key, "filter_store_key");
--------^
cc​: Error​: ODBM_File.c, line 334​: In this statement, "ENTER" is not declared.
  DBM_ckFilter(ST(0), filter_fetch_key,"filter_fetch_key");
--------^
make[1]​: *** [ODBM_File.o] Error 1
make[1]​: Leaving directory `/tmp/jhi/perl-current/ext/ODBM_File'
make​: *** [lib/auto/ODBM_File/ODBM_File.so] Error 2

Perl Info

Flags:
    category=core
    severity=high

Site configuration information for perl v5.9.0:

Configured by jhi at Thu Aug 22 20:42:33 EET DST 2002.

Summary of my perl5 (revision 5.0 version 9 subversion 0 patch 17753) configuration:
  Platform:
    osname=dec_osf, osvers=4.0d, archname=alpha-dec_osf
    uname='osf1 lyta.hut.fi v4.0 878 alpha '
    config_args='-des -Dusedevel -Doptimize=-g'
    hint=recommended, useposix=true, d_sigaction=define
    usethreads=undef use5005threads=undef 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 ='-std -fprm d -ieee -DDEBUGGING -DLANGUAGE_C',
    optimize='-g',
    cppflags='-std -ieee -DDEBUGGING -DLANGUAGE_C'
    ccversion='V5.6-082', gccversion='', gccosandvers=''
    intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678
    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=8
    ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
    alignbytes=8, prototype=define
  Linker and Libraries:
    ld='ld', ldflags =''
    libpth=/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /var/shlib
    libs=-ldbm -ldb -lm -lutil
    perllibs=-lm -lutil
    libc=/usr/shlib/libc.so, so=so, useshrplib=true, libperl=libperl.so
    gnulibc_version=''
  Dynamic Linking:
    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='  -Wl,-rpath,/usr/local/lib/perl5/5.9.0/alpha-dec_osf/CORE'
    cccdlflags=' ', lddlflags='-shared -expect_unresolved "*" -msym -std'

Locally applied patches:
    DEVEL17702


@INC for perl v5.9.0:
    lib
    /usr/local/lib/perl5/5.9.0/alpha-dec_osf
    /usr/local/lib/perl5/5.9.0
    /usr/local/lib/perl5/site_perl/5.9.0/alpha-dec_osf
    /usr/local/lib/perl5/site_perl/5.9.0
    /usr/local/lib/perl5/site_perl
    .


Environment for perl v5.9.0:
    HOME=/u/vieraat/vieraat/jhi
    LANG=C
    LANGUAGE (unset)
    LC_ALL=fi_FI.ISO8859-1
    LC_CTYPE=fi_FI.ISO8859-1
    LD_LIBRARY_PATH=/tmp/jhi/perl-current
    LOGDIR (unset)
    PATH=/u/vieraat/vieraat/jhi/Perl/bin:/u/vieraat/vieraat/jhi/.s:/u/vieraat/vieraat/jhi/.b/OSF1:/c/bin:/p/bin:/p/adm/bin:/usr/bin:/usr/sbin:/sbin:/bin:/usr/ccs/bin:/usr/lib:/etc:/lib:/p/X6/bin:/p/X5/bin:/usr/bin/X11:/usr/lbin:/usr/sbin/acct:/usr/tcb/bin:/tcb/bin:/usr/field:/u/vieraat/vieraat/jhi
    PERL_BADLANG (unset)
    SHELL=/bin/zsh

@p5pRT
Copy link
Author

p5pRT commented Aug 22, 2002

From @jhi

I found the culprit and a workaround​: it's the #undef ENTER in
ODBM_File.xs​:19 that's breaking the compile in Tru64 (since we have
i_dbm, and I guess so far ENTER hasn't been needed in ODBM_File).
Now, how and why is that there​:

http​://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2001-01/msg01415.html

and search INSTALL for "DB3".

The #undef for NDBM_File.xs is seemingly no more, so maybe this one in
ODBM_File.xs should go, too? (And the comments adjusted accordingly
both in [NO]DBM_File.xs.)

Of course, this would require someone (in Linux?) having installed
the "DB3 dbm/emulation" installed that their stuff will still work
even when the #undef ENTER is gone from the NDBM_File.xs.

--
$jhi++; # http​://www.iki.fi/jhi/
  # There is this special biologist word we use for 'stable'.
  # It is 'dead'. -- Jack Cohen

@p5pRT
Copy link
Author

p5pRT commented Aug 22, 2002

From @jhi

Of course, I can't splee, it's perl@​17753, not perl@​17553.

--
$jhi++; # http​://www.iki.fi/jhi/
  # There is this special biologist word we use for 'stable'.
  # It is 'dead'. -- Jack Cohen

@p5pRT
Copy link
Author

p5pRT commented Aug 22, 2002

From @jhi

Here's a patch that seems to help in Tru64. Note that I have
no idea how this will affect the "DB3 ndbm/dbm emulation mode".
Maybe ask Stanislav?

Inline Patch
--- ext/NDBM_File/NDBM_File.xs.dist	2002-08-23 01:21:01.000000000 +0300
+++ ext/NDBM_File/NDBM_File.xs	2002-08-23 01:21:54.000000000 +0300
@@ -1,10 +1,6 @@
 #include "EXTERN.h"
 #include "perl.h"
 #include "XSUB.h"
-/* If using the DB3 emulation, ENTER is defined both
- * by DB3 and Perl.  We drop the Perl definition now.
- * See also INSTALL section on DB3.
- * -- Stanislav Brabec <utx@penguin.cz> */
 #include <ndbm.h>
 
 typedef struct {
--- ext/ODBM_File/ODBM_File.xs.dist	2002-08-23 01:21:16.000000000 +0300
+++ ext/ODBM_File/ODBM_File.xs	2002-08-23 01:21:44.000000000 +0300
@@ -3,11 +3,6 @@
 #include "XSUB.h"
 
 #ifdef I_DBM
-/* If using the DB3 emulation, ENTER is defined both
- * by DB3 and Perl.  We drop the Perl definition now.
- * See also INSTALL section on DB3.
- * -- Stanislav Brabec <utx@penguin.cz> */
-#  undef ENTER
 #  include <dbm.h>
 #else
 #  ifdef I_RPCSVC_DBM


-- 

$jhi++; # http​://www.iki.fi/jhi/
  # There is this special biologist word we use for 'stable'.
  # It is 'dead'. -- Jack Cohen

@p5pRT
Copy link
Author

p5pRT commented Dec 10, 2002

From @jhi

This one got patched, so marking as resolved.

@p5pRT
Copy link
Author

p5pRT commented Dec 10, 2002

@jhi - Status changed from 'new' to 'resolved'

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant