[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

23.0.60; How to make some libraries link statically via pkg-config files

From: Peter Dyballa
Subject: 23.0.60; How to make some libraries link statically via pkg-config files?
Date: Mon, 18 Feb 2008 19:52:51 +0100


GNU Emacs 23.0.60 with enabled font backend and then using the xft variant crashes it reliably. Problem can be that at run-time two versions of the shared library get used on Mac OS X, marked with *:

    0x1000 -   0x34bfff emacs   .../emacs/src/emacs
  0x53c000 -   0x54bfff libXmu.6.dylib          /usr/X11R6/lib/libXmu.6.dylib
  0x553000 -   0x594fff libXt.6.dylib           /usr/X11R6/lib/libXt.6.dylib
  0x5a9000 -   0x5aefff libSM.6.dylib           /usr/X11R6/lib/libSM.6.dylib
  0x5b2000 -   0x5c1fff libICE.6.dylib          /usr/X11R6/lib/libICE.6.dylib
  0x5c9000 -   0x5d5fff libXext.6.dylib         /usr/X11R6/lib/libXext.6.dylib
  0x5db000 -   0x5f8fff libjpeg.62.dylib        /sw/lib/libjpeg.62.dylib
  0x705000 -   0x751fff libtiff.3.dylib         /sw/lib/libtiff.3.dylib
  0x7e8000 -   0x7eefff libgif.4.dylib          /sw/lib/libgif.4.dylib
 0x1008000 -  0x1026fff libpng12.0.dylib        /sw/lib/libpng12.0.dylib
 0x1085000 -  0x1090fff libXpm.4.dylib          /usr/X11R6/lib/libXpm.4.dylib
 0x1095000 -  0x10a2fff libXft.2.dylib          /usr/X11R6/lib/libXft.2.dylib
0x10a8000 - 0x10bdfff libgdk_pixbuf-2.0.0.dylib /sw/lib/ libgdk_pixbuf-2.0.0.dylib 0x10c4000 - 0x10c5fff libgmodule-2.0.0.dylib /sw/lib/ libgmodule-2.0.0.dylib
 0x10c8000 -  0x10d0fff libintl.3.dylib         /sw/lib/libintl.3.dylib
0x10e6000 - 0x10ecfff libXrender.1.dylib /usr/X11R6/lib/ libXrender.1.dylib
 0x1205000 -  0x1238fff libXaw3d.7.dylib        /sw/lib/libXaw3d.7.dylib
 0x1371000 -  0x143afff libX11.6.dylib          /usr/X11R6/lib/libX11.6.dylib
* 0x1463000 - 0x14cbfff libfreetype.6.dylib /sw/lib/freetype219/lib/ libfreetype.6.dylib 0x1663000 - 0x1683fff libfontconfig.1.dylib /sw/lib/fontconfig2/ lib/libfontconfig.1.dylib
* 0x16eb000 -  0x1712fff librsvg-2.2.dylib      /sw/lib/librsvg-2.2.dylib
0x1799000 - 0x17cdfff libgobject-2.0.0.dylib /sw/lib/ libgobject-2.0.0.dylib 0x17de000 - 0x1869fff libglib-2.0.0.dylib /sw/lib/ libglib-2.0.0.dylib
 0x1885000 -  0x197efff libiconv.2.dylib        /sw/lib/libiconv.2.dylib
 0x19d0000 -  0x19fefff libdbus-1.3.dylib       /sw/lib/libdbus-1.3.dylib
0x1a82000 - 0x1ab0fff libncurses.5.dylib /sw/lib/ncurses/ libncurses.5.dylib
 0x1acc000 -  0x1adbfff libotf.0.dylib          /sw/lib/libotf.0.dylib
* 0x1b00000 - 0x1b1bfff libfontconfig.1.dylib /usr/X11R6/lib/ libfontconfig.1.dylib * 0x1b2a000 - 0x1b49fff libexpat.0.dylib /usr/X11R6/lib/libexpat. 0.dylib * 0x1b50000 - 0x1b92fff libfreetype.6.dylib /usr/X11R6/lib/ libfreetype.6.dylib
* 0x1ba5000 -  0x1bc3fff libexpat.1.dylib       /sw/lib/libexpat.1.dylib
0x1bf8000 - 0x1c25fff libcroco-0.6.3.dylib /sw/lib/ libcroco-0.6.3.dylib 0x1c9f000 - 0x1caffff libart_lgpl_2.2.dylib /sw/lib/ libart_lgpl_2.2.dylib 0x1cb5000 - 0x1cd2fff libpangoft2-1.0.0.dylib /sw/lib/ libpangoft2-1.0.0.dylib 0x1cdc000 - 0x1d0bfff libpango-1.0.0.dylib /sw/lib/ libpango-1.0.0.dylib
 0x2000000 -  0x2111fff libxml2.2.dylib         /sw/lib/libxml2.2.dylib
0x8fe00000 - 0x8fe52fff dyld 46.16              /usr/lib/dyld

When I patch the pkg-config files to contain for example

        -Wl,-Bstatic -lfreetype -Wl,-Bdynamic

this gets "converted" to nonsense:

        pkg-config --libs 'xft >= 0.13.0'
-Wl,-Bstatic -Wl,-Bdynamic -L/sw/lib/fontconfig2/lib -L/sw/lib/ freetype219/lib -L/usr/X11R6/lib -lfreetype -lXft -lfontconfig

The man page mentions some "proper tagging" without mentioning their names. How can I prepare the PC files that the linker switches are saved? Or should I better "patch" the Emacs Makefiles?



The future will be much better tomorrow.
                                – George W. Bush

reply via email to

[Prev in Thread] Current Thread [Next in Thread]