Xfake build failure (was Re: Convert kdrive libraries to libtool convenience libraries.)

Paulo César Pereira de Andrade pcpa at mandriva.com.br
Fri Dec 11 13:11:30 PST 2009


Jeremy Huddleston wrote:
> Resending due to lack of response.  Xfake doesn't build in 1.7 or master
> due to "-Wl,-undefined=InitExtensions" in LDFLAGS

  Hi,

  This probably/hopefully is not required anymore.

  It was used to "force" linking of the object/library file that
defined the InitExtensions symbol. Otherwise, it could either
fail to link or generate a broken binary (I don't remember the
defails :-)

  This was an issue with the large amount of libraries used on
final linking, where the linker would drop symbols that were only
reachable from dynamic modules, or possibly just dependency checking
problems.

> ...
>
> Hi Paulo,
>
> Last year, you made the following commit.
>
> http://cgit.freedesktop.org/xorg/xserver/commit/?id=f7585d020593345e7a61b1fe1a517c38da8f6d79
>
>  Also correct a link failure due to unresolved symbols. This
> is arguably a libtool/ranlib/ld bug, that "may" be corrected
> by linking all convenience libraries in a single one. But in
> this case, it was preferred to just add a linker option  to
> Xfake_LDFLAGS, to force linkage of all libraries.
>
>  This corrects #19725.
>
> ---
>
> As part of that, you introduced "-Wl,-undefined=InitExtensions" to LDFLAGS
> for Xfake.
>
> This is not portable.  Based on your commit message, I'm guessing that
> it's telling ld that InitExtensions being undefined is ok. It links
> correctly for me without this option on darwin.  Is this option still
> necessary?  If so, perhaps it should be conditional for the operating
> systems that need it and recognize it.

Paulo



More information about the xorg-devel mailing list