delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2005/08/04/08:32:43

Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com
Message-ID: <42F20ACF.8050309@etr-usa.com>
Date: Thu, 04 Aug 2005 06:32:15 -0600
From: Warren Young <warren AT etr-usa DOT com>
User-Agent: Mozilla Thunderbird 1.0.6 (Windows/20050716)
MIME-Version: 1.0
To: Cygwin-L <cygwin AT cygwin DOT com>
Subject: Re: Trouble making .so (undefined symbols)
References: <42F02793 DOT 8080109 AT etr-usa DOT com> <42F07A02 DOT 4040308 AT familiehaase DOT de>
In-Reply-To: <42F07A02.4040308@familiehaase.de>
X-IsSubscribed: yes

Gerrit P. Haase wrote:
> 
> add the flag -no-undefined to libmysqlpp_la_LDFLAGS?

Ah.  I added it to a different automake LD* variable previously.  Now 
I'm getting a cygmysqlpp-2.dll, which I wasn't before.  This is 
progress, though incomplete....

> And you also need to use a shared libmysqlclient library.

Really?  Why?

This is a fair inconvenience because Cygwin builds of MySQL aren't easy 
to come by, probably because the official Win32 build of MySQL works so 
well.

I would rather continue with my present scheme, which is using an import 
library for the native build's DLL.  This is, in effect, a "shared 
libmysqlclient library", but I have a feeling that you mean a 
Cygwin-built .so file instead.

Now that I have the MySQL++ DLL building, I have a new problem, which is 
that the examples segfault as soon as they try to use anything from the 
DLL.  Is this due to using an import library to link to a VC++-built DLL 
instead of a Cygwin-built .so file?

> Older versions of libtool as included with the tarball don't work.

I'll add that to the MySQL++ FAQ.

FWIW, I always use the installed autotools (not the ones in the 
tarball), as I always use the autotools in "maintainer mode".

>  /usr/bin/install -c -m 644 'coldata.h' '/usr/include/coldata.h'
>  /usr/bin/install -c -m 644 'compare.h' '/usr/include/compare.h'
>  /usr/bin/install -c -m 644 'connection.h' '/usr/include/connection.h'
> [...]
>  /usr/bin/install -c -m 644 'vallist.h' '/usr/include/vallist.h'
> 
> You should put the headers into a separate directory, e.g.
> /usr/include/mysql++.

The README.unix file recommends that people use the --includedir 
configure flag to effect this.

> Send you a patchfile with PM.

I got it...it seems to just be all the autotools-generated stuff.  Did I 
miss a subtlety, skipping over all that?

Thanks for your help so far, Gerrit.

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

- Raw text -


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