buglibffcall - foreign function call libraries - Bugs: bug #30124, --enable-shared build is broken


bug #30124: --enable-shared build is broken

Submitted by:  Christoph Egger <christoph_egger>
Submitted on:  Sun Jun 13 12:32:39 2010  
Category: NoneSeverity: 3 - Normal
Item Group: buildStatus: Fixed
Privacy: PublicAssigned to: Bruno Haible <haible>
Open/Closed: Closed

Add a New Comment (Rich MarkupRich Markup):

You are not logged in

Please log in, so followups can be emailed to you.


(Jump to the original submission Jump to the original submission)

Tue Jan 3 02:48:40 2017, comment #9:

A build with --enable-shared (of libavcall and libcallback) is now working, through




For libvacall and libtrampoline, there are no plans to support --enable-shared since these libraries rely on global variables, i.e. are more a "proof of concept" than something usable by real programs.

Bruno Haible <haible>
Project AdministratorIn charge of this item.
Wed Feb 15 17:16:53 2012, comment #8:


--- disable --enable-shared (i.e., configure should fail)
--- ignore --enable-shared by adding -static to LIBTOOL_LINK invocations as suggested in http://article.gmane.org/gmane.comp.sysutils.autoconf.general:14290

Sam Steingold <sds>
Project Administrator
Tue Apr 5 15:28:54 2011, comment #7:

Christoph, do you have a patch for "shared libraries working"?

Sam Steingold <sds>
Project Administrator
Sun Jun 27 18:50:15 2010, comment #6:

Seems I got a revision with shared libraries working. Thanks!

Christoph Egger <christoph_egger>
Mon Jun 14 16:34:29 2010, comment #5:

Well, wasn't me that started providing a shared library. Changing away to a statically linked version will at least need a rebuild of all the package -- something that'll take some time (but is of course doable)

Christoph Egger <christoph_egger>
Mon Jun 14 16:16:50 2010, comment #4:

see README in the cvs head for a detailed explanation of why --enable-shared is not a good idea.
to summarize, all distributions should be using "enable-static" only.
as for --enable-shared, http://www.cygwin.com/acronyms/#PTC

Sam Steingold <sds>
Project Administrator
Mon Jun 14 15:53:43 2010, comment #3:

I understand that you do not want to make an exception, but here it is absolutely necessary. it makes no sense to build libffcall with --enable-shared. you are doing a disservice to you users.

Sam Steingold <sds>
Project Administrator
Mon Jun 14 06:08:14 2010, comment #2:

Yep I'm building with --enable-shared -- that's the way the debian/ubuntu packages currently work and I'dlike to avoid switching to a static linked version

Christoph Egger <christoph_egger>
Mon Jun 14 02:47:53 2010, comment #1:

wfm. cvs head, configured on
Linux loiso 2.6.32-22-generic #36-Ubuntu SMP Thu Jun 3 22:02:19 UTC 2010 i686 GNU/Linux
$ ../configure -C

I think you are doing something awfully wrong since I see libcallback.so in your messages.
note that the libffcall libraries are small (most of the code is in the headers), it makes no sense to make them shared.
please do not.

Sam Steingold <sds>
Project Administrator
Sun Jun 13 12:32:39 2010, original submission:

See output below. Thats CVS head

/bin/sh ./libtool --mode=link i486-linux-gnu-gcc -g -O2 -x none minitests.o libcallback.la -o minitests
i486-linux-gnu-gcc -g -O2 -x none minitests.o -o .libs/minitests ./.libs/libcallback.so
minitests.o: In function `main':
/tmp/upstream/test/callback/./tests.c:855: undefined reference to `__vacall_r'
/tmp/upstream/test/callback/./tests.c:865: undefined reference to `__vacall_r'
/tmp/upstream/test/callback/./tests.c:874: undefined reference to `__vacall_r'
/tmp/upstream/test/callback/./tests.c:883: undefined reference to `__vacall_r'
/tmp/upstream/test/callback/./tests.c:892: undefined reference to `__vacall_r'
minitests.o:/tmp/upstream/test/callback/./tests.c:901: more undefined references to `__vacall_r' follow
collect2: ld returned 1 exit status
make[1]: *** [minitests] Error 1
make[1]: Leaving directory `/tmp/upstream/test/callback'
make: *** [check] Error 2

Christoph Egger <christoph_egger>


(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach File(s):

No files currently attached


Depends on the following items: None found

Items that depend on this one: None found


Carbon-Copy List
  • -unavailable- added by haible (Posted a comment)
  • -unavailable- added by sds (Posted a comment)
  • -unavailable- added by christoph_egger (Submitted the item)

    Do you think this task is very important?
    If so, you can click here to add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.


    Please enter the title of George Orwell's famous dystopian book (it's a date):



    Follow 9 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Tue Jan 3 02:48:40 2017haibleStatusNone=>Fixed
    Mon Jun 14 16:16:50 2010sdsStatusWorks For Me=>None
      Assigned tosds=>haible
      Summarymake ceck fails on i386 due to missing symbols=>--enable-shared build is broken
    Mon Jun 14 02:47:53 2010sdsStatusNone=>Works For Me
      Assigned toNone=>sds

    Back to the top

    Powered by Savane 3.1-cleanup1