emacs-bug-tracker
[Top][All Lists]
Advanced

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

[debbugs-tracker] bug#24631: closed (Mac OS X 10.5.8: build error, undef


From: GNU bug Tracking System
Subject: [debbugs-tracker] bug#24631: closed (Mac OS X 10.5.8: build error, undefined symbols)
Date: Wed, 01 Mar 2017 09:25:01 +0000

Your message dated Wed, 01 Mar 2017 10:24:25 +0100
with message-id <address@hidden>
and subject line Re: bug#24631: Mac OS X 10.5.8: build error, undefined symbols
has caused the debbugs.gnu.org bug report #24631,
regarding Mac OS X 10.5.8: build error, undefined symbols
to be marked as done.

(If you believe you have received this mail in error, please contact
address@hidden)


-- 
24631: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=24631
GNU Bug Tracking System
Contact address@hidden with problems
--- Begin Message --- Subject: Mac OS X 10.5.8: build error, undefined symbols Date: Thu, 6 Oct 2016 23:07:08 +0200
I'm trying to build autogen on Mac OS X 10.5.8.
Building all dependencies goes alright until I'm building guile.
I've built all libraries as static libraries and placed them in /opt, mostly 
because I don't want gmp to be shared.

Here's my build-recipe. "dlxb" means "download, extract and build", the 
arguments are passed to configure from package's own build directory:
--8<-----8<-----8<-----
dlxb gmp-5.1.3.tar.bz2 --disable-shared --prefix=/opt
dlxb libunistring-0.9.6.tar.gz --disable-shared --prefix=/opt
dlxb libffi-3.2.1.tar.gz --disable-shared --prefix=/opt

dlxb libatomic_ops-7.4.4.tar.gz --disable-shared --prefix=/opt
dlxb gc-7.6.0.tar.gz --disable-shared --prefix=/opt

dlxb guile-2.0.12.tar.gz --disable-shared --with-libgmp-prefix=/opt 
--with-libunistring-prefix=/opt --prefix=/opt
-->8----->8----->8-----

Here's the last lines of the output:
--8<-----8<-----8<-----
ranlib: file: .libs/libguile-2.0.a(unistd.o) has no symbols
ranlib: file: .libs/libguile-2.0.a(wctype-h.o) has no symbols
  CCLD     guile
Undefined symbols:
  "_CFRelease", referenced from:
      _libunistring_gl_locale_name_default in libunistring.a(localename.o)
  "_CFLocaleCopyCurrent", referenced from:
      _libunistring_gl_locale_name_default in libunistring.a(localename.o)
  "_CFLocaleGetIdentifier", referenced from:
      _libunistring_gl_locale_name_default in libunistring.a(localename.o)
  "_CFStringGetCString", referenced from:
      _libunistring_gl_locale_name_default in libunistring.a(localename.o)
ld: symbol(s) not found
collect2: ld returned 1 exit status
make[3]: *** [guile] Error 1
make[2]: *** [all] Error 2
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
Failed (guile) 
-->8----->8----->8-----

-As you see, it's a linker error, and it means that the CoreFoundation 
framework is not linked.
The error might be related to libunistring referencing the mentioned symbols.

I've searched the net and come across only very few similar problems.
This is probably the closest match:
<http://stackoverflow.com/questions/13683581/undefined-symbols-when-trying-to-compile-rtaudio>

When I look at the Makefile in the build directory, I see lines including the 
CoreFoundation framework:


Makefile:INTLLIBS = -lintl -Wl,-framework -Wl,CoreFoundation
Makefile:INTL_MACOSX_LIBS = -Wl,-framework -Wl,CoreFoundation
Makefile:LIBINTL = -lintl -Wl,-framework -Wl,CoreFoundation
Makefile:LTLIBINTL = -lintl -Wl,-framework -Wl,CoreFoundation

-And in other Makefiles as well, a whole bunch in total.

Here's some relevant output from uname:
uname -m: Power Macintosh
uname -p: powerpc
uname -r: 9.8.0
uname -s: Darwin

-Yes, I'm on a PowerMac, a PowerPC based one; not an Intel based Mac. ;)
The error might show up on Intel based Macs too, though.


Love
Jens



--- End Message ---
--- Begin Message --- Subject: Re: bug#24631: Mac OS X 10.5.8: build error, undefined symbols Date: Wed, 01 Mar 2017 10:24:25 +0100 User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1 (gnu/linux)
Hi,

On Thu 06 Oct 2016 23:07, Jens Bauer <address@hidden> writes:

> I'm trying to build autogen on Mac OS X 10.5.8.
> Building all dependencies goes alright until I'm building guile.
> I've built all libraries as static libraries and placed them in /opt, mostly 
> because I don't want gmp to be shared.
>
> Here's my build-recipe. "dlxb" means "download, extract and build", the 
> arguments are passed to configure from package's own build directory:
> --8<-----8<-----8<-----
> dlxb gmp-5.1.3.tar.bz2 --disable-shared --prefix=/opt
> dlxb libunistring-0.9.6.tar.gz --disable-shared --prefix=/opt
> dlxb libffi-3.2.1.tar.gz --disable-shared --prefix=/opt
>
> dlxb libatomic_ops-7.4.4.tar.gz --disable-shared --prefix=/opt
> dlxb gc-7.6.0.tar.gz --disable-shared --prefix=/opt
>
> dlxb guile-2.0.12.tar.gz --disable-shared --with-libgmp-prefix=/opt 
> --with-libunistring-prefix=/opt --prefix=/opt
> -->8----->8----->8-----
>
> Here's the last lines of the output:
> --8<-----8<-----8<-----
> ranlib: file: .libs/libguile-2.0.a(unistd.o) has no symbols
> ranlib: file: .libs/libguile-2.0.a(wctype-h.o) has no symbols
>   CCLD     guile
> Undefined symbols:
>   "_CFRelease", referenced from:
>       _libunistring_gl_locale_name_default in libunistring.a(localename.o)
>   "_CFLocaleCopyCurrent", referenced from:
>       _libunistring_gl_locale_name_default in libunistring.a(localename.o)
>   "_CFLocaleGetIdentifier", referenced from:
>       _libunistring_gl_locale_name_default in libunistring.a(localename.o)
>   "_CFStringGetCString", referenced from:
>       _libunistring_gl_locale_name_default in libunistring.a(localename.o)
> ld: symbol(s) not found
> collect2: ld returned 1 exit status

In general, when you build statically, AFAIU you may have to add
additional libs when linking final programs.  Guile itself doesn't use
CoreFoundation, but if unistring does and doesn't propagate that
dependency somehow -- something that is usually handled by libtool, but
I dunno I guess it's not working here -- then in that case you may have
to add additional LDFLAGS when building your final static binary.

I think this is not really a Guile bug so I am going to close it.
Please follow up if you feel like this bug should have some other
resolution.

Andy


--- End Message ---

reply via email to

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