🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: gnu.utils.bug
Article #1164

gdbm 1.5 bug on Next 3.0

#1164
From: Dirk Herr-Hoyman
Date: Mon, 28 Dec 1992 04:04
103 lines
2956 bytes
I have found a problem when building gdbm 1.5 on a Next running nextstep 3.0.   
Here is what I see:

wissago{hoymand}42: make all
cc -g  -c global.c
rm -f gdbm.a
ar q gdbm.a dbminit.o delete.o fetch.o store.o seq.o dbmopen.o dbmdelete.o  
dbmfetch.o dbmstore.o dbmseq.o  dbmclose.o dbmdirfno.o dbmpagfno.o gdbmopen.o  
gdbmdelete.o gdbmfetch.o  gdbmstore.o gdbmclose.o  gdbmreorg.o gdbmseq.o   
bucket.o falloc.o findkey.o global.o hash.o update.o version.o
ar: creating gdbm.a
if [ -f /usr/bin/ranlib -o -f /bin/ranlib ];  then ranlib gdbm.a; fi
cc -g   -o testgdbm testgdbm.o gdbm.a 

/bin/ld: Undefined symbols:
_gdbm_errno
*** Exit 1
Stop.

The problem disappears when I change the declaration of gdbm_errno in  
global.c to:

/*gdbm_error gdbm_errno;*/
gdbm_error gdbm_errno=GDBM_NO_ERROR;

Everything seemed to work correctly with this change in place.

My local Next support contacted Next and this was their response:

Begin forwarded message:

> Date: Mon, 28 Dec 92 09:35:39 -0600
> From: Don Thomson <thomson@zazen.macc.wisc.edu>
> To: hoymand@wissago.uwex.edu
> In-Reply-To: Dirk Herr-Hoyman's message of Wed, 23 Dec 92 08:38:45 -0600  
<9212231438.AA03175@wissago.uwex.edu>
> Subject: External reference problem
> 

> >> Thanks for following up on this one Don.  One more bit of evidence.  I  
used
> >> otool on the library (otool -tv) and found that the symbols weren't even  
in
> >> the library.
> 

> > From: John_Immordino@NeXT.COM (John Immordino)
> > Date: Wed, 23 Dec 92 11:48:55 -0800
> > To: <thomson@zazen.macc.wisc.edu>
> > Subject: [37539] External reference problem
> > 

> > Don -
> > 

> > Well the response came back almost immediately.  Apparently, ANSI C  

> > states that this
> > 

> > gdbm_error gdbm_errno;
> > 

> > is a tentative definition and that this
> > 

> > gdbm_error gdbm_errno = GDBM_NO_ERROR;
> > 

> > is a real definition.  You can either change the code or use 

> > 

> > 

> > ranlib -c 

> > 

> > 

> > on the library created with the old code.  I've tested both and they  

> > both work.
> > 

> > John Immordino
> > NeXT Developer Support
>  

> ----- Don Thomson ----- MACC, 1210 W. Dayton, Madison, WI  53706  
-------------
>     (608) 262-0138      thomson@zazen.macc.wisc.edu /  
thomson@wiscmacc.bitnet
> 

---
Dirk Herr-Hoyman
Internet Publishing Specialist
University of Wisconsin - Extension
hoymand@wisplan.uwex.edu
608-262-0518 (voice)
608-265-2530 (fax)
Technical Details
Message-ID: <9212281604.AA02570@wissago.uwex.edu>
Path: arc1-ca.pugleaf.net!sparky!uunet!zaphod.mps.ohio-state.edu!cis.ohio-state.edu!wissago.uwex.edu!hoymand

Show Full Headers
Complete Article Headers
Newsgroups: gnu.utils.bug
Path: arc1-ca.pugleaf.net!sparky!uunet!zaphod.mps.ohio-state.edu!cis.ohio-state.edu!wissago.uwex.edu!hoymand
From: hoymand@wissago.uwex.edu (Dirk Herr-Hoyman)
Subject: gdbm 1.5 bug on Next 3.0
Message-ID: <9212281604.AA02570@wissago.uwex.edu>
Sender: gnulists@ai.mit.edu
Organization: GNUs Not Usenet
Distribution: gnu
Date: Mon, 28 Dec 1992 04:04:27 GMT
Approved: bug-gnu-utils@prep.ai.mit.edu
Lines: 106