delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2003/04/24/19:23:44

Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sources.redhat.com/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: <002601c30ab7$c0f54be0$9681869f@oemcomputer>
Reply-To: "Al" <nobrow AT eircom DOT net>
From: "Al" <nobrow AT eircom DOT net>
To: <cygwin AT cygwin DOT com>
Subject: automake, flex, libfl.a
Date: Fri, 25 Apr 2003 00:18:01 +0100
MIME-Version: 1.0
X-Priority: 3
X-MSMail-Priority: Normal
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2600.0000

Let me begin by saying that it was a tough decision whether to mail this
list, an automake one or a flex one.

Im trying to use automake, autoconf and libtool to build, in my case, a dll.
Heres the error/warning Im generating;

*** Warning: linker path does not have real file for library -lfl.
*** I have the capability to make that library automatically link in when
*** you link to this library.  But I can only do this if you have a
*** shared version of the library, which you do not appear to have
*** because I did check the linker path looking for a file starting
*** with libfl and none of the candidates passed a file format test
*** using a file magic. Last file checked: /usr/lib/libfl.a
*** The inter-library dependencies that have been dropped here will be
*** automatically added whenever a program is linked with this library
*** or is declared to -dlopen it.

*** Since this library must not contain undefined symbols,
*** because either the platform does not support them or
*** it was explicitly requested with -no-undefined,
*** libtool will only create a static version of it.

My understanding is that I should have @LEXLIB@ in myLibrary_LIBADD in my
Makefile.am if Im going to be using lex/flex. On my platform, @LEXLIB@ has
the value -lfl, i.e. it instructs /usr/lib/libfl.a to be used during the
linking of my program. But, as you can see from the message above, this
causes problems and prevents a proper shared library (dll) from being
generated (I get a static library instead). When I remove @LEXLIB@ it seems
to sort it out (admitedly there are other linker errors that I havent sorted
yet).

My problem is that I think I should be using @LEXLIB@ if my source is to be
buildable on other platforms. So the question is, is there something unusual
about Cygwins libfl.a that is causing my problem and hence I should know
about? I just dont understand that error, ``not have real file''???

Please assist.

A


--
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