Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , 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: <402C2069.7070403@users.sourceforge.net> Date: Thu, 12 Feb 2004 19:55:05 -0500 From: Yaakov Selkowitz User-Agent: Mozilla Thunderbird 0.5 (Windows/20040207) MIME-Version: 1.0 To: cygwin AT cygwin DOT com Subject: Building dll's and executables in same package X-Enigmail-Version: 0.83.2.0 X-Enigmail-Supports: pgp-inline, pgp-mime Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-Authentication-Info: Submitted using SMTP AUTH at out003.verizon.net from [68.161.51.220] at Thu, 12 Feb 2004 18:55:10 -0600 -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 OK, after a lot of time looking at the user guide, FAQ, and Google, I finally figured out (I think) how to get DLLs to build with the autotools. But now I'm having troubles with building the executables from the same package that depend on this library. My "test case" is fribidi. In short: 1) I added -no-undefined to libfribidi_la_LDFLAGS in Makefile.in (there's only one, no subdirs). 2) I added an empty main function to one of the src .c files: +int main () +{ return 0; } dlltool seems to build cygfribidi-0.dll properly, then make continues to build fribidi.exe, which depends on libfribidi, and the following happens: /bin/sh ./libtool --mode=link gcc -O2 -Wall -lm -o fribidi.exe fribidi_main.o getopt.o getopt1.o libfribidi.la -L. -lfribidi generating import library for `cygfribidi-0.dll' dlltool --as=as --dllname cygfribidi-0.dll --def .libs/cygfribidi-0.dll-def --output-lib .libs/libimp-cygfribidi-0.a gcc -O2 -Wall -o .libs/fribidi.exe fribidi_main.o getopt.o getopt1.o - -L/home/Yaakov/devel/testing/fribidi/fribidi-0.10.4/.build .libs/libimp-cygfribidi-0.a fu000001.o(.idata$3+0xc): undefined reference to '__libs_libimp_cygfribidi_0_a_iname' nmth000000.o(.idata$4+0x0): undefined reference to `__nm__fribidi_version_info' Info: resolving _fribidi_version_info by linking to __imp__fribidi_version_info (auto-import) collect2: ld returned 1 exit status make: *** [fribidi.exe] Error 1 So what am I missing now? Or is this a problem with the code? Yaakov -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.3 (MingW32) Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org iD8DBQFALCBnpiWmPGlmQSMRArgKAJ9nsa7uI5xA7B5lw8pa05ELudDwhwCglX8u TM0FBClujeDL2hpLjAZA854= =lNGc -----END PGP SIGNATURE----- -- 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/