Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 18 Dec 2003 11:11:22 +0100
From:      Erik Trulsson <ertr1013@student.uu.se>
To:        Dmitry Pryanishnikov <dmitry@atlantis.dp.ua>
Cc:        stable@freebsd.org
Subject:   Re: ftime doesn't fetch from libcompat.a using -lcompat
Message-ID:  <20031218101121.GA22294@falcon.midgard.homeip.net>
In-Reply-To: <20031218114047.W32014@atlantis.atlantis.dp.ua>
References:  <20031218114047.W32014@atlantis.atlantis.dp.ua>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, Dec 18, 2003 at 11:54:29AM +0200, Dmitry Pryanishnikov wrote:
> 
> Hello!
> 
>  I've found a very unusual bug. I've tried to build a legacy program which
> uses ftime(), but I've got unresolved reference to `ftime'. I've created a
> very simple program that demonstrates a bug:
> 
> #include <sys/types.h>
> #include <sys/timeb.h>
> main()
> {
>  struct timeb tb;
>  return ftime(&tb);
> }
> 
> dmitry@test$ cc -lcompat a.c
> /tmp/cck3ZpNz.o: In function `main':
> /tmp/cck3ZpNz.o(.text+0xe): undefined reference to `ftime'
> dmitry@test$ cc -lcompat -static a.c
> /tmp/ccbGUAGZ.o: In function `main':
> /tmp/ccbGUAGZ.o(.text+0xe): undefined reference to `ftime'
> 
> The most interesting thing here is that I can extract module ftime.o from
> my /usr/lib/libcompat.a and link against it:
> 
> dmitry@test$ ar p /usr/lib/libcompat.a ftime.o >ftime.o
> dmitry@test$ cc a.c ftime.o
> dmitry@test$
> 
> It seems that symbol `ftime' gets somehow "undeclared" in library symbol
> table. Could this error be fixed? It's present in 4.8-RELEASE and 4.9-RELEASE.
> I haven't found anything in GNATS about this issue.

The error lies with you, not the system.
Try compiling it using 'cc a.c -lcompat' instead.
The order of objectfiles/archives does matter when using static libraries.



-- 
<Insert your favourite quote here.>
Erik Trulsson
ertr1013@student.uu.se



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20031218101121.GA22294>