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

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

[Octave-bug-tracker] [bug #57049] Mac build failure: CFLocaleCopyCurrent


From: Andrew Janke
Subject: [Octave-bug-tracker] [bug #57049] Mac build failure: CFLocaleCopyCurrent from CoreFoundation not found
Date: Sat, 12 Oct 2019 10:43:20 -0400 (EDT)
User-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:69.0) Gecko/20100101 Firefox/69.0

URL:
  <https://savannah.gnu.org/bugs/?57049>

                 Summary: Mac build failure: CFLocaleCopyCurrent from
CoreFoundation not found
                 Project: GNU Octave
            Submitted by: apjanke
            Submitted on: Sat 12 Oct 2019 10:43:18 AM EDT
                Category: Configuration and Build System
                Severity: 3 - Normal
                Priority: 5 - Normal
              Item Group: Build Failure
                  Status: None
             Assigned to: None
         Originator Name: 
        Originator Email: 
             Open/Closed: Open
         Discussion Lock: Any
                 Release: dev
        Operating System: Mac OS

    _______________________________________________________

Details:

I'm getting a build failure on default on macOS 10.14.6 with Xcode 10.2.1.

To reproduce with Homebrew:

brew tap octave-app/octave-app
brew install octave-default

The build fails at one of the late link steps that produces
liboctave.7.dylib.


libtool: link: clang++ -std=gnu++11 -dynamiclib  -o
liboctave/.libs/liboctave.7.dylib 
liboctave/.libs/liboctave_la-liboctave-build-info.o
liboctave/.libs/liboctave_la-version.o  
-Wl,-force_load,liboctave/array/.libs/libarray.a
-Wl,-force_load,liboctave/external/blas-xtra/.libs/libxerbla.a
-Wl,-force_load,liboctave/external/ranlib/.libs/libranlib.a
-Wl,-force_load,liboctave/external/.libs/libexternal.a
-Wl,-force_load,liboctave/numeric/.libs/libnumeric.a
-Wl,-force_load,liboctave/operators/.libs/liboperators.a
-Wl,-force_load,liboctave/system/.libs/libsystem.a
-Wl,-force_load,liboctave/util/.libs/libutil.a
-Wl,-force_load,liboctave/wrappers/.libs/libwrappers.a
-Wl,-force_load,libgnu/.libs/libgnu.a 
-L/usr/local/Cellar/arpack/3.7.0_3/libexec/lib
-L/usr/local/Cellar/fftw/3.3.8_1/lib -L/usr/local/Cellar/pcre/8.43/lib
-L/usr/local/opt/qscintilla2/lib -lcurl -lcholmod -lumfpack -lamd -lcamd
-lcolamd -lccolamd -lcxsparse -lsuitesparseconfig
/usr/local/Cellar/arpack/3.7.0_3/libexec/lib/libarpack.dylib
-L/usr/local/opt/openblas/lib -lopenblas -lqrupdate -lfftw3_threads -lfftw3
-lfftw3f_threads -lfftw3f -L/usr/local/opt/veclibfort/lib -lvecLibFort
-lreadline -lncurses -lpcre -ldl
-L/usr/local/Cellar/gcc/9.2.0_1/lib/gcc/9/gcc/x86_64-apple-darwin18/9.2.0
-L/usr/local/Cellar/gcc/9.2.0_1/lib/gcc/9/gcc/x86_64-apple-darwin18/9.2.0/../../..
-lgfortran -lquadmath -liconv -lm  -pthread -F/usr/local/opt/qt/lib   -pthread
-install_name 
/usr/local/Cellar/octave-default/default/lib/octave/6.0.0/liboctave.7.dylib
-compatibility_version 8 -current_version 8.0 -Wl,-single_module
Undefined symbols for architecture x86_64:
  "_CFLocaleCopyCurrent", referenced from:
      _gl_locale_name_default in libgnu.a(localename.o)
  "_CFLocaleGetIdentifier", referenced from:
      _gl_locale_name_default in libgnu.a(localename.o)
  "_CFRelease", referenced from:
      _gl_locale_name_default in libgnu.a(localename.o)
  "_CFStringGetCString", referenced from:
      _gl_locale_name_default in libgnu.a(localename.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see
invocation)
make[2]: *** [liboctave/liboctave.la] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2


CFLocaleCopyCurrent and friends are defined in the Mac Core Foundation
framework.

Core Foundation is being linked in an earlier build step that looks like it's
working on just gnulib.


/bin/sh ../libtool  --tag=CC   --mode=link clang 
-I/Library/Java/JavaVirtualMachines/jdk-11.0.1.jdk/Contents/Home/include
-I/Library/Java/JavaVirtualMachines/jdk-11.0.1.jdk/Contents/Home/include/darwin
 -no-undefined          -liconv   -Wl,-framework -Wl,CoreFoundation -liconv
-L/usr/local/opt/qscintilla2/lib -F/usr/local/opt/qt/lib -o libgnu.la 
allocator.lo areadlink.lo areadlink-with-size.lo base64.lo bitrotate.lo
c-ctype.lo c-strcasecmp.lo c-strncasecmp.lo canonicalize.lo careadlinkat.lo
cloexec.lo af_alg.lo md2.lo md4.lo md5.lo sha1.lo sha256.lo sha512.lo
dirname.lo basename.lo dirname-lgpl.lo basename-lgpl.lo stripslash.lo
exitfail.lo fd-hook.lo fd-safer-flag.lo dup-safer-flag.lo file-set.lo
filemode.lo filenamecat-lgpl.lo freading.lo getprogname.lo hard-locale.lo
hash.lo hash-pjw.lo hash-triple.lo localcharset.lo localename.lo
localename-table.lo glthread/lock.lo malloca.lo math.lo nproc.lo nstrftime.lo
openat-die.lo progname.lo same.lo save-cwd.lo malloc/scratch_buffer_grow.lo
malloc/scratch_buffer_grow_preserve.lo malloc/scratch_buffer_set_array_size.lo
sig-handler.lo sockets.lo stat-time.lo striconveh.lo striconveha.lo
strnlen1.lo sys_socket.lo tempname.lo glthread/threadlib.lo glthread/tls.lo
tmpdir.lo u64.lo unicase/cased.lo unicase/empty-prefix-context.lo
unicase/empty-suffix-context.lo unicase/ignorable.lo unicase/special-casing.lo
unicase/tolower.lo unicase/toupper.lo unicase/u8-casemap.lo
unicase/u8-tolower.lo unicase/u8-toupper.lo uniconv/u32-conv-to-enc.lo
uniconv/u8-conv-from-enc.lo uniconv/u8-conv-to-enc.lo
unictype/combiningclass.lo unictype/ctype_alnum.lo unictype/ctype_alpha.lo
unictype/ctype_blank.lo unictype/ctype_cntrl.lo unictype/ctype_digit.lo
unictype/ctype_graph.lo unictype/ctype_lower.lo unictype/ctype_print.lo
unictype/ctype_punct.lo unictype/ctype_space.lo unictype/ctype_upper.lo
unictype/ctype_xdigit.lo unictype/pr_soft_dotted.lo
uninorm/decompose-internal.lo uninorm/u8-normalize.lo unistd.lo dup-safer.lo
fd-safer.lo pipe-safer.lo unistr/u32-mblen.lo unistr/u32-to-u8.lo
unistr/u8-check.lo unistr/u8-cpy.lo unistr/u8-mblen.lo unistr/u8-mbtouc.lo
unistr/u8-mbtouc-aux.lo unistr/u8-mbtouc-unsafe.lo
unistr/u8-mbtouc-unsafe-aux.lo unistr/u8-mbtoucr.lo unistr/u8-prev.lo
unistr/u8-strmblen.lo unistr/u8-strmbtouc.lo unistr/u8-to-u32.lo
unistr/u8-uctomb.lo unistr/u8-uctomb-aux.lo wctype-h.lo xmalloc.lo
xalloc-die.lo xgetcwd.lo xsize.lo xstrndup.lo asnprintf.lo chdir-long.lo
error.lo fflush.lo fnmatch.lo fpurge.lo fseek.lo fseeko.lo fstatat.lo
getcwd.lo getcwd-lgpl.lo getlogin_r.lo getopt.lo getopt1.lo glob.lo
glob_pattern_p.lo globfree.lo link.lo localtime-buffer.lo lstat.lo mempcpy.lo
memrchr.lo mkfifo.lo mktime.lo nanosleep.lo open.lo openat.lo openat-proc.lo
printf-args.lo printf-parse.lo putenv.lo readlink.lo secure_getenv.lo stat.lo
strerror.lo strerror-override.lo symlink.lo time_rz.lo timegm.lo unlink.lo
vasnprintf.lo  -lm 


But it's not being included in the link step for liboctave.

The only references to CoreFoundation I see in the source tree are inside
gnulib.


$ grep -r CoreFoundation *
gnulib/ChangeLog:       * lib/setlocale.c: Include header files for 
CoreFoundation.
Declare
gnulib/lib/setlocale.c:#  include <CoreFoundation/CFLocale.h>
gnulib/lib/setlocale.c:#  include <CoreFoundation/CFPreferences.h>
gnulib/lib/setlocale.c:# include <CoreFoundation/CFPropertyList.h>
gnulib/lib/setlocale.c:# include <CoreFoundation/CFArray.h>
gnulib/lib/setlocale.c:# include <CoreFoundation/CFString.h>
gnulib/lib/localename.c:# include <CoreFoundation/CFString.h>
gnulib/lib/localename.c:#  include <CoreFoundation/CFLocale.h>
gnulib/lib/localename.c:#  include <CoreFoundation/CFPreferences.h>
gnulib/lib/localename.c:    /* Cache the locale name, since CoreFoundation
calls are expensive.  */
gnulib/m4/gettext.m4:  dnl Sometimes, on Mac OS X, libintl requires linking
with CoreFoundation.
gnulib/m4/intlmacosx.m4:     LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation"
gnulib/m4/intlmacosx.m4:          [[#include
<CoreFoundation/CFPreferences.h>]],
gnulib/m4/intlmacosx.m4:      [Define to 1 if you have the Mac OS X function
CFPreferencesCopyAppValue in the CoreFoundation framework.])
gnulib/m4/intlmacosx.m4:     LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation"
gnulib/m4/intlmacosx.m4:          [[#include <CoreFoundation/CFLocale.h>]],
gnulib/m4/intlmacosx.m4:      [Define to 1 if you have the Mac OS X function
CFLocaleCopyCurrent in the CoreFoundation framework.])
gnulib/m4/intlmacosx.m4:     LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation"
gnulib/m4/intlmacosx.m4:          [[#include <CoreFoundation/CFLocale.h>]],
gnulib/m4/intlmacosx.m4:      [Define to 1 if you have the Mac OS X function
CFLocaleCopyPreferredLanguages in the CoreFoundation framework.])
gnulib/m4/intlmacosx.m4:    INTL_MACOSX_LIBS="-Wl,-framework
-Wl,CoreFoundation"
$


Maybe those CMake things to include CoreFoundation aren't being propagated up
to the liboctave build configuration properly?

Full build logs attached.



    _______________________________________________________

File Attachments:


-------------------------------------------------------
Date: Sat 12 Oct 2019 10:43:18 AM EDT  Name:
octave-build-failure-CF-linkage-2019_10_11-apj.tgz  Size: 370KiB   By: apjanke
brew build log from failed build
<http://savannah.gnu.org/bugs/download.php?file_id=47660>

    _______________________________________________________

Reply to this item at:

  <https://savannah.gnu.org/bugs/?57049>

_______________________________________________
  Message sent via Savannah
  https://savannah.gnu.org/




reply via email to

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