Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 2 Mar 2005 14:55:30 -0600
From:      Dan Nelson <dnelson@allantgroup.com>
To:        Andreas Davour <ante@Update.UU.SE>
Cc:        freebsd-questions@freebsd.org
Subject:   Re: Where do the linker look for shared libraries?
Message-ID:  <20050302205530.GB77052@dan.emsphone.com>
In-Reply-To: <Pine.LNX.4.62.0503022058130.23271@Psilocybe.Update.UU.SE>
References:  <Pine.LNX.4.62.0503021922580.8625@Psilocybe.Update.UU.SE> <20050302191318.GA77052@dan.emsphone.com> <Pine.LNX.4.62.0503022058130.23271@Psilocybe.Update.UU.SE>

next in thread | previous in thread | raw e-mail | index | archive | help
In the last episode (Mar 02), Andreas Davour said:
> On Wed, 2 Mar 2005, Dan Nelson wrote:
> >In the last episode (Mar 02), Andreas Davour said:
> >>I've tried to compile and link a small game written with the
> >>Allegro API. For some odd reason the linker just don't understand
> >>how to resolve the symbols in the library. It just can't accept
> >>that the library is in a ".so" file and not an ".a" archive, and
> >>even when I point it out explicitly it still don't get it.
> >>
> >>This is my commandline:
> >>
> >>gcc main.o rotoAction.o rotoCog.o -o RotoCube.exe -lstdc++ -L/usr/local/lib/ -lalleg
> >>
> >>and the errors I get looks like this:
> >>
> >>/usr/local/lib//liballeg.so: undefined reference to `_poly_zbuf_atex_trans8'
> >>/usr/local/lib//liballeg.so: undefined reference to `_poly_scanline_atex_mask_lit32'
> >
> >This is the linker saying "there are symbols in liballeg.so that I
> >cannot find anywhere".  Maybe you need to specify another library
> >along with liballeg?  Are you using the allegro port?
> 
> I have grep'ed for those symbols and they come from liballeg.so, no 
> place else. That's one of the very confusing things with those errors.

A web search on "undefined reference _poly_zbuf_atex_trans8" comes up
with a couple hits, including a post that says you need to use the
allegro-config command to determine the correct flags and libraries to
link allegro.  What does "allegro-config --libs" print?  The demo
programs built by the allegro port must work, so you could always build
the port again and determine what flags it used.
 
> I'm using the allegro port. BTW, there is a linux-allegro port as well. 
> Why is this needed if Allegro is a platform independant API?

For linux programs that might need the library (same API, different
ABI).  I assume there's at least one in the ports tree somewhere.

-- 
	Dan Nelson
	dnelson@allantgroup.com



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