delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2000/10/24/11:16:00

Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT sources DOT redhat DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin AT sources DOT redhat DOT com>
List-Help: <mailto:cygwin-help AT sources DOT redhat DOT com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-owner AT sources DOT redhat DOT com
Delivered-To: mailing list cygwin AT sources DOT redhat DOT com
From: "Jeff Lu" <jklcom AT mindspring DOT com>
To: "Charles S. Wilson" <cwilson AT ece DOT gatech DOT edu>
Cc: <cygwin AT sourceware DOT cygnus DOT com>
Subject: RE: Question
Date: Tue, 24 Oct 2000 11:04:15 -0400
Message-ID: <NDBBIHPECLIGKCCLMACAIEHJCHAA.jklcom@mindspring.com>
MIME-Version: 1.0
X-Priority: 3 (Normal)
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook IMO, Build 9.0.2416 (9.0.2910.0)
X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2615.200
In-reply-to: <39F4D7B9.EA33204A@ece.gatech.edu>
Importance: Normal

I compiled it with CFLAGS=-DGDBM_STATIC such as this
gcc -o /home/jeff/getdata.cgi getdata.c -lgdbm utils.c -DGDBM_STATIC

This takes care of the rename problem but am still getting dbm_open,
dbm_fetch etc. as undefined reference

I've even tried to explicitly link it to /usr/lib/libgdbm.a but that didn't
help

-----Original Message-----
From: Charles S. Wilson [mailto:cwilson AT ece DOT gatech DOT edu]
Sent: Monday, October 23, 2000 8:29 PM
To: Jeff Lu
Cc: cygwin AT sourceware DOT cygnus DOT com
Subject: Re: Question


Jeff Lu wrote:
>
> I've downloaded and installed cygwin & gdbm-1.8.0.

Please read /usr/doc/Cygwin/gdbm-1.8.0.README.

Basically, gdbm provides wrapper header files so that you can use gdbm
to provide dbm and ndbm functions -- but you must link to the gdbm
library to do so.  -lgdbm.

Also, since by default ld will link using the dll, the header files
reflect this.  That's why you get _imp__dbm_open.  If you want to link
statically, you have to (a) set CFLAGS=-DGDBM_STATIC when compiling, and
use "-static" when linking.  Then, functions don't get renamce (that's
part (a)) and you link to the statlib instead of the dll-importlib
(that's part (b)).

Please search the archives; there have been several links to informative
webpages posted recently concerning dll's and how they work.

--Chuck


>
> When tried to compile programs that uses dbm functions such as:
>
> gcc -o /home/jeff/getzip.cgi getzip.c utils.c -lndbm
>
> I got /usr/bin/ld: cannot find -lndbm
>
> gcc -o /home/jeff/getzip.cgi getzip.c utils.c -lgdbm
> I got errors on dbm_open, dbm_fetch etc as undefined reference
>
> Please see attached error file.
>
> This is weird.  Some dbm calls got renamed to "_imp__dbm_open" during
> compile.
>


--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe AT sourceware DOT cygnus DOT com

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019