bugGNU Octave - Bugs: bug #59968, ld: symbol(s) not found for...

 
 

bug #59968: ld: symbol(s) not found for architecture x86_64

Submitter:  david laxer <davidlaxer>
Submitted:  Fri 29 Jan 2021 05:04:07 PM UTC
   
 
Category:  Libraries Severity:  3 - Normal
Priority:  5 - Normal Item Group:  Build Failure
Status:  Invalid / Not an Octave Bug Assigned to:  None
Originator Name:  Open/Closed:  * Closed
Release:  * dev Operating System:  * Mac OS
Fixed Release:  None Planned Release:  None
* Mandatory Fields

Add a New Comment Rich Markup
   

Jump to the original submission

Sun 07 Mar 2021 07:38:34 PM UTC, comment #32: 

I've just noticed that you lost "-pthread".
It sets _REENTRANT macros
which sets declaration of re-entrant versions of lagamma (in math.h). It looks to me the configure magic is broken somehow.

Dmitri.
--

Dmitri A. Sergatskov <dasergatskov>
Sun 07 Mar 2021 07:37:15 PM UTC, comment #31: 

Does this help?

From prior version where compilation worked, but linker failed with iconv:


$ hg identify
cb9add260b2b+ @
(base) MacBook-Pro:octave-previous davidlaxer$ hg summary
parent: 29303:cb9add260b2b
 maint: merge stable to default.
branch: default
bookmarks: *@
commit: 1 modified, 2228 unknown (new branch head)
update: 1 new changesets (update)
(base) MacBook-Pro:octave-previous davidlaxer$ hg log
changeset:   29304:01679f865fc7
tag:         tip
user:        Rik <rik@octave.org>
date:        Tue Jan 19 17:10:07 2021 -0800
summary:     Deprecate obsolete warning messages in lex.ll.

changeset:   29303:cb9add260b2b
bookmark:    @
parent:      29301:1ece396fe3df
parent:      29302:a121ce5a515f
user:        Kai T. Ohlhus <k.ohlhus@gmail.com>
date:        Mon Jan 18 17:08:14 2021 +0900
summary:     maint: merge stable to default.

changeset:   29302:a121ce5a515f
branch:      stable
parent:      29300:8b65dc1fd34d
user:        Kai T. Ohlhus <k.ohlhus@gmail.com>
date:        Mon Jan 18 17:06:23 2021 +0900
summary:     fminbnd.m: do not ignore "OutputFcn" (bug #59901)

changeset:   29301:1ece396fe3df
parent:      29299:20092ae957da
parent:      29300:8b65dc1fd34d
user:        Markus Mützel <markus.muetzel@gmx.de>
date:        Sun Jan 17 13:09:04 2021 +0100
summary:     maint: merge stable to default.

changeset:   29300:8b65dc1fd34d
(base) MacBook-Pro:octave-previous davidlaxer$ hg status
M bootstrap
? .build/.gdbinit
? .build/Makefile
? .build/doc/doxyhtml/Doxyfile
? .build/doc/liboctave/liboctave.dvi
? .build/doc/liboctave/liboctave.pdf
? .build/doc/liboctave/liboctave.ps
? .build/doc/refcard/refcard-a4.dvi
? .build/doc/refcard/refcard-a4.log
? .build/doc/refcard/refcard-a4.pdf
? .build/doc/refcard/refcard-a4.ps
? .build/doc/refcard/refcard-legal.dvi
? .build/doc/refcard/refcard-legal.log
? .build/doc/refcard/refcard-legal.pdf
? .build/doc/refcard/refcard-legal.ps
? .build/doc/refcard/refcard-letter.dvi
? .build/doc/refcard/refcard-letter.log
? .build/doc/refcard/refcard-letter.pdf
? .build/doc/refcard/refcard-letter.ps
? .build/etc/icons/octave-logo-1024.png
? .build/etc/icons/octave-logo-128.png
? .build/etc/icons/octave-logo-16.png
? .build/etc/icons/octave-logo-22.png
? .build/etc/icons/octave-logo-24.png
? .build/etc/icons/octave-logo-256.png
? .build/etc/icons/octave-logo-32.png
? .build/etc/icons/octave-logo-48.png
? .build/etc/icons/octave-logo-512.png
? .build/etc/icons/octave-logo-64.png


New Mercurial clone where compilation failed in:
../liboctave/numeric/lo-specfun.cc:2216:16: error: use of undeclared identifier
      'lgamma_r'
      result = lgamma_r (x, &sgngam);

$ hg identify
65979d33f147 tip @
(base) MacBook-Pro:octave-current davidlaxer$ hg status
? .build/.gdbinit
? .build/Makefile
? .build/doc/doxyhtml/Doxyfile
? .build/doc/refcard/refcard-a4.dvi
? .build/doc/refcard/refcard-a4.pdf
? .build/doc/refcard/refcard-a4.ps
? .build/doc/refcard/refcard-legal.dvi
? .build/doc/refcard/refcard-legal.pdf
? .build/doc/refcard/refcard-legal.ps
? .build/doc/refcard/refcard-letter.dvi
? .build/doc/refcard/refcard-letter.pdf
? .build/doc/refcard/refcard-letter.ps
? .build/etc/icons/octave-logo-1024.png
? .build/etc/icons/octave-logo-128.png
? .build/etc/icons/octave-logo-16.png
? .build/etc/icons/octave-logo-22.png
? .build/etc/icons/octave-logo-24.png
? .build/etc/icons/octave-logo-256.png
? .build/etc/icons/octave-logo-32.png
? .build/etc/icons/octave-logo-48.png
? .build/etc/icons/octave-logo-512.png
? .build/etc/icons/octave-logo-64.png
? .build/libgui/graphics/ui-annotation-dialog.h
? .build/libgui/mk-default-qt-settings.sh
? .build/libgui/src/ui-settings-dialog.h
? .build/libinterp/build-env-features.cc
? .build/libinterp/build-env.cc
? .build/libinterp/builtin-defun-decls.h
? .build/libinterp/builtins.cc
(base) MacBook-Pro:octave-current davidlaxer$ hg summary
parent: 29410:65979d33f147 tip
 Emit error if integer/floating point inputs to colon operator are incompatible (bug #59899).
branch: default
bookmarks: *@
commit: 1556 unknown (clean)
update: (current)
(base) MacBook-Pro:octave-current davidlaxer$ hg log
changeset:   29410:65979d33f147
bookmark:    @
tag:         tip
user:        Rik <rik@octave.org>
date:        Fri Mar 05 08:44:31 2021 -0800
summary:     Emit error if integer/floating point inputs to colon operator are incompatible (bug #59899).

changeset:   29409:d6908a010a89
parent:      29407:a08b08b6264d
parent:      29408:f4cf798e6d8f
user:        John W. Eaton <jwe@octave.org>
date:        Thu Mar 04 10:02:58 2021 -0500
summary:     maint: merge stable to default.

changeset:   29408:f4cf798e6d8f
branch:      stable
parent:      29406:69087119ee84
user:        John W. Eaton <jwe@octave.org>
date:        Wed Mar 03 15:50:41 2021 -0500
summary:     check for stropts.h (bug #60163)

changeset:   29407:a08b08b6264d
parent:      29405:2f09b4c03436
parent:      29406:69087119ee84
user:        Markus Mützel <markus.muetzel@gmx.de>
date:        Thu Mar 04 08:44:58 2021 +0100
summary:     maint: merge stable to default.


david laxer <davidlaxer>
Sun 07 Mar 2021 07:00:51 PM UTC, comment #30: 

Tbh, my interest peaked when you wrote that you were able to compile the default branch on MacOS without configuring with `--disable-lib-visibility-flags`.
From the follow up discussion, I'm not sure if that was ever the case.
I don't know which steps you did when you were able to compile default Octave (or was it the stable branch?). From the information you have given so far, the last commands should have reproduced what you did before. But it looks like it doesn't work. So what is missing?

Markus Mützel <mmuetzel>
Group administrator
Sun 07 Mar 2021 06:49:29 PM UTC, comment #29: 

From config.log:

configure:70393: checking for lgamma_r
configure:70393: /usr/bin/clang -o conftest -g -O2   -I/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include -I/Users/davidlaxer/SuiteSparse/include -I/opt/local/include -I/opt/local/libexec/qt5/include -I/Library/Java/JavaVirtualMachines/jdk-13.0.2.jdk/Contents/Home/include -L/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/lib -L/Users/davidlaxer/SuiteSparse/lib/ -L/opt/local/libexec/qt5/lib -L/Library/Java/JavaVirtualMachines/jdk-13.0.2.jdk/Contents/Home/lib conftest.c  -lm  >&5
configure:70393: $? = 0
configure:70393: result: yes


david laxer <davidlaxer>
Sun 07 Mar 2021 06:36:35 PM UTC, comment #28: 

It was a mistake.  There were extra newlines messing up 'configure'.


../configure \
CC=/usr/bin/clang \
CXX=/usr/bin/clang++ \
CCLD=/usr/bin/clang \
CXXLD=/usr/bin/clang++ \
CCFLAGS="-isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk" CXXFLAGS="-std=c++17 -stdlib=libc++ -arch x86_64 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk -I/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include -I/Users/davidlaxer/SuiteSparse/include -I/opt/local/libexec/qt5/include -I/Library/Java/JavaVirtualMachines/jdk-13.0.2.jdk/Contents/Home/include"  CPPFLAGS="-I/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include -I/Users/davidlaxer/SuiteSparse/include -I/opt/local/include -I/opt/local/libexec/qt5/include -I/Library/Java/JavaVirtualMachines/jdk-13.0.2.jdk/Contents/Home/include" LDFLAGS="-L/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/lib -L/Users/davidlaxer/SuiteSparse/lib/ -L/opt/local/libexec/qt5/lib -L/Library/Java/JavaVirtualMachines/jdk-13.0.2.jdk/Contents/Home/lib" DYLD_LIBRARY_PATH="-L/opt/local/lib -L/opt/local/libexec/qt5/lib -L/Library/Java/JavaVirtualMachines/jdk-13.0.2.jdk/Contents/Home/lib" LD_LIBRARY_PATH="-L/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/lib -L/Users/davidlaxer/SuiteSparse/lib/ -L/opt/local/lib -L/opt/local/libexec/qt5/lib -L/Library/Java/JavaVirtualMachines/jdk-13.0.2.jdk/Contents/Home/lib" --with-suitesparseconfig-includedir=/Users/davidlaxer/SuiteSparse/include --with-suitesparseconfig-libdir=/Users/davidlaxer/SuiteSparse/lib --disable-readline  --with-sundials_ida-includedir=/opt/local/include/sundials --with-sundials_ida-libdir=/opt/local/lib/ --with-qt=5 --with-libiconv-prefix=/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr
...
$ make V=1 all
...
/bin/sh ./libtool  --tag=CXX   --mode=compile /usr/bin/clang++ -DHAVE_CONFIG_H -I. -I..  -Iliboctave -I../liboctave -I../liboctave/array -Iliboctave/numeric -I../liboctave/numeric -Iliboctave/operators -I../liboctave/operators -I../liboctave/system -I../liboctave/util -I../liboctave/wrappers -I../liboctave/external/Faddeeva -I/opt/local/include -I/opt/local/include  -I/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include -I/Users/davidlaxer/SuiteSparse/include -I/opt/local/include -I/opt/local/libexec/qt5/include -I/Library/Java/JavaVirtualMachines/jdk-13.0.2.jdk/Contents/Home/include -fPIC  -Wall -W -Wshadow -Woverloaded-virtual -Wold-style-cast -Wformat -Wpointer-arith -Wwrite-strings -Wcast-align -Wcast-qual -fvisibility=hidden -std=c++17 -stdlib=libc++ -arch x86_64 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk -I/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include -I/Users/davidlaxer/SuiteSparse/include -I/opt/local/libexec/qt5/include -I/Library/Java/JavaVirtualMachines/jdk-13.0.2.jdk/Contents/Home/include -MT liboctave/numeric/libnumeric_la-lo-specfun.lo -MD -MP -MF liboctave/numeric/.deps/libnumeric_la-lo-specfun.Tpo -c -o liboctave/numeric/libnumeric_la-lo-specfun.lo `test -f 'liboctave/numeric/lo-specfun.cc' || echo '../'`liboctave/numeric/lo-specfun.cc
libtool: compile:  /usr/bin/clang++ -DHAVE_CONFIG_H -I. -I.. -Iliboctave -I../liboctave -I../liboctave/array -Iliboctave/numeric -I../liboctave/numeric -Iliboctave/operators -I../liboctave/operators -I../liboctave/system -I../liboctave/util -I../liboctave/wrappers -I../liboctave/external/Faddeeva -I/opt/local/include -I/opt/local/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include -I/Users/davidlaxer/SuiteSparse/include -I/opt/local/include -I/opt/local/libexec/qt5/include -I/Library/Java/JavaVirtualMachines/jdk-13.0.2.jdk/Contents/Home/include -fPIC -Wall -W -Wshadow -Woverloaded-virtual -Wold-style-cast -Wformat -Wpointer-arith -Wwrite-strings -Wcast-align -Wcast-qual -fvisibility=hidden -std=c++17 -stdlib=libc++ -arch x86_64 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk -I/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include -I/Users/davidlaxer/SuiteSparse/include -I/opt/local/libexec/qt5/include -I/Library/Java/JavaVirtualMachines/jdk-13.0.2.jdk/Contents/Home/include -MT liboctave/numeric/libnumeric_la-lo-specfun.lo -MD -MP -MF liboctave/numeric/.deps/libnumeric_la-lo-specfun.Tpo -c ../liboctave/numeric/lo-specfun.cc  -fno-common -DPIC -o liboctave/numeric/.libs/libnumeric_la-lo-specfun.o
../liboctave/numeric/lo-specfun.cc:2216:16: error: use of undeclared identifier
      'lgamma_r'
      result = lgamma_r (x, &sgngam);
               ^
../liboctave/numeric/lo-specfun.cc:2235:16: error: use of undeclared identifier
      'lgammaf_r'
      result = lgammaf_r (x, &sgngam);
               ^
2 errors generated.
make[2]: *** [liboctave/numeric/libnumeric_la-lo-specfun.lo] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
(base) MacBook-Pro:.buil


david laxer <davidlaxer>
Sun 07 Mar 2021 11:22:10 AM UTC, comment #27: 

Why did you omit setting the CCFLAGS in the configure command?
Does it compile if you start from a fresh checkout of the repository and use the exact commands in comment #23?

Markus Mützel <mmuetzel>
Group administrator
Sun 07 Mar 2021 09:13:29 AM UTC, comment #26: 

I deleted my 'octave' directory' and recreated with Mercurial:
hg clone https://www.octave.org/hg/octavec

Using this 'configure:


../configure \
CC=/usr/bin/clang \
CXX=/usr/bin/clang++ \
CCLD=/usr/bin/clang \
CXXLD=/usr/bin/clang++ \
CXXFLAGS="-std=c++17 -stdlib=libc++ -arch x86_64 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk -I/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include -I/Users/davidlaxer/SuiteSparse/include -I/opt/local/libexec/qt5/include -I/Library/Java/JavaVirtualMachines/jdk-13.0.2.jdk/Contents/Home/include"  CPPFLAGS="-I/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include -I/Users/davidlaxer/SuiteSparse/include -I/opt/local/include -I/opt/local/libexec/qt5/include -I/Library/Java/JavaVirtualMachines/jdk-13.0.2.jdk/Contents/Home/include" LDFLAGS="-L/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/lib -L/Users/davidlaxer/SuiteSparse/lib/ -L/opt/local/libexec/qt5/lib -L/Library/Java/JavaVirtualMachines/jdk-13.0.2.jdk/Contents/Home/lib" DYLD_LIBRARY_PATH="-L/opt/local/lib -L/opt/local/libexec/qt5/lib -L/Library/Java/JavaVirtualMachines/jdk-13.0.2.jdk/Contents/Home/lib" LD_LIBRARY_PATH="-L/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/lib -L/Users/davidlaxer/SuiteSparse/lib/ -L/opt/local/lib -L/opt/local/libexec/qt5/lib -L/Library/Java/JavaVirtualMachines/jdk-13.0.2.jdk/Contents/Home/lib" --with-suitesparseconfig-includedir=/Users/davidlaxer/SuiteSparse/include --with-suitesparseconfig-libdir=/Users/davidlaxer/SuiteSparse/lib --disable-readline  --with-sundials_ida-includedir=/opt/local/include/sundials --with-sundials_ida-libdir=/opt/local/lib/ --with-qt=5 --with-libiconv-prefix=/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr


I got this compiler error:

/bin/sh ./libtool  --tag=CXX   --mode=compile /usr/bin/clang++ -DHAVE_CONFIG_H -I. -I..  -Iliboctave -I../liboctave -I../liboctave/array -Iliboctave/numeric -I../liboctave/numeric -Iliboctave/operators -I../liboctave/operators -I../liboctave/system -I../liboctave/util -I../liboctave/wrappers -I../liboctave/external/Faddeeva -I/opt/local/include -I/opt/local/include  -I/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include -I/Users/davidlaxer/SuiteSparse/include -I/opt/local/include -I/opt/local/libexec/qt5/include -I/Library/Java/JavaVirtualMachines/jdk-13.0.2.jdk/Contents/Home/include -fPIC  -Wall -W -Wshadow -Woverloaded-virtual -Wold-style-cast -Wformat -Wpointer-arith -Wwrite-strings -Wcast-align -Wcast-qual -fvisibility=hidden -std=c++17 -stdlib=libc++ -arch x86_64 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk -I/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include -I/Users/davidlaxer/SuiteSparse/include -I/opt/local/libexec/qt5/include -I/Library/Java/JavaVirtualMachines/jdk-13.0.2.jdk/Contents/Home/include -MT liboctave/numeric/libnumeric_la-lo-specfun.lo -MD -MP -MF liboctave/numeric/.deps/libnumeric_la-lo-specfun.Tpo -c -o liboctave/numeric/libnumeric_la-lo-specfun.lo `test -f 'liboctave/numeric/lo-specfun.cc' || echo '../'`liboctave/numeric/lo-specfun.cc
libtool: compile:  /usr/bin/clang++ -DHAVE_CONFIG_H -I. -I.. -Iliboctave -I../liboctave -I../liboctave/array -Iliboctave/numeric -I../liboctave/numeric -Iliboctave/operators -I../liboctave/operators -I../liboctave/system -I../liboctave/util -I../liboctave/wrappers -I../liboctave/external/Faddeeva -I/opt/local/include -I/opt/local/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include -I/Users/davidlaxer/SuiteSparse/include -I/opt/local/include -I/opt/local/libexec/qt5/include -I/Library/Java/JavaVirtualMachines/jdk-13.0.2.jdk/Contents/Home/include -fPIC -Wall -W -Wshadow -Woverloaded-virtual -Wold-style-cast -Wformat -Wpointer-arith -Wwrite-strings -Wcast-align -Wcast-qual -fvisibility=hidden -std=c++17 -stdlib=libc++ -arch x86_64 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk -I/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include -I/Users/davidlaxer/SuiteSparse/include -I/opt/local/libexec/qt5/include -I/Library/Java/JavaVirtualMachines/jdk-13.0.2.jdk/Contents/Home/include -MT liboctave/numeric/libnumeric_la-lo-specfun.lo -MD -MP -MF liboctave/numeric/.deps/libnumeric_la-lo-specfun.Tpo -c ../liboctave/numeric/lo-specfun.cc  -fno-common -DPIC -o liboctave/numeric/.libs/libnumeric_la-lo-specfun.o
../liboctave/numeric/lo-specfun.cc:2216:16: error: use of undeclared identifier
      'lgamma_r'
      result = lgamma_r (x, &sgngam);
               ^
../liboctave/numeric/lo-specfun.cc:2235:16: error: use of undeclared identifier
      'lgammaf_r'
      result = lgammaf_r (x, &sgngam);
               ^
2 errors generated.
make[2]: *** [liboctave/numeric/libnumeric_la-lo-specfun.lo] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2


david laxer <davidlaxer>
Sun 07 Mar 2021 12:48:39 AM UTC, comment #25: 

Regarding comment #20: I think there is a confusion between git and Mercurial (hg) in general.

Octave's major version control system is hg.

 https://hg.savannah.gnu.org/hgweb/octave

If you choose to work with the git mirrors

 https://github.com/gnu-octave/octave.git
 https://gitlab.com/gnu-octave/octave.git

you of course get the very same "working" Octave code.

But all hg related functions (HG_ID, .hgignore, etc.) are not working.  You cannot create a distribution tarball, for example.  and your commands of comment #24 "hg status" cannot succeed when you are working on a git clone.

Maybe you started working on a git clone and started to mix it up with hg and received an inconsistent repository?  Try to clone it from either git or hg from scratch and stick to that.

Kai Torben Ohlhus <siko1056>
Group Member
Sat 06 Mar 2021 04:06:46 PM UTC, comment #24: 

I thought I had cloned  https://github.com/gnu-octave/octave.git, but there's no .git directory.  Perhaps that was a prior version.
Hmmm


(base) MacBook-Pro:octave davidlaxer$ hg status
M bootstrap
? libiconv.2.4.0.tbd
? libinterp/corefcn/DASPK-opts.cc
? libinterp/corefcn/DASRT-opts.cc
? libinterp/corefcn/DASSL-opts.cc
? libinterp/corefcn/LSODE-opts.cc
? libinterp/corefcn/Quad-opts.cc
? libinterp/corefcn/oct-tex-lexer.cc
? libinterp/corefcn/oct-tex-lexer.ll
? libinterp/corefcn/oct-tex-parser.cc
? libinterp/corefcn/oct-tex-parser.h
? libinterp/corefcn/oct-tex-symbols.cc
? libinterp/parse-tree/lex.cc
? libinterp/parse-tree/oct-gperf.h
? libinterp/parse-tree/oct-parse.cc
? libinterp/parse-tree/oct-parse.h
(base) MacBook-Pro:octave davidlaxer$ hg log
changeset:   29304:01679f865fc7
tag:         tip
user:        Rik <rik@octave.org>
date:        Tue Jan 19 17:10:07 2021 -0800
summary:     Deprecate obsolete warning messages in lex.ll.

changeset:   29303:cb9add260b2b
bookmark:    @
parent:      29301:1ece396fe3df
parent:      29302:a121ce5a515f
user:        Kai T. Ohlhus <k.ohlhus@gmail.com>
date:        Mon Jan 18 17:08:14 2021 +0900
summary:     maint: merge stable to default.

changeset:   29302:a121ce5a515f
branch:      stable
parent:      29300:8b65dc1fd34d
user:        Kai T. Ohlhus <k.ohlhus@gmail.com>
date:        Mon Jan 18 17:06:23 2021 +0900
summary:     fminbnd.m: do not ignore "OutputFcn" (bug #59901)

changeset:   29301:1ece396fe3df
parent:      29299:20092ae957da
parent:      29300:8b65dc1fd34d
user:        Markus Mützel <markus.muetzel@gmx.de>
date:        Sun Jan 17 13:09:04 2021 +0100
summary:     maint: merge stable to default.

changeset:   29300:8b65dc1fd34d
...
hg verify
checking changesets
checking manifests
crosschecking files in changesets and manifests
checking files
checked 29305 changesets with 192692 changes to 14229 files
checking subrepo links
.hgsubstate is corrupt in revision ecf0c6bca0c9
.hgsubstate is corrupt in revision e0fb702a62a4
.hgsubstate is corrupt in revision 1398901839b6
.hgsubstate is corrupt in revision 5f0bb45e615c
.hgsubstate is corrupt in revision bb5790c5e713
.hgsubstate is corrupt in revision d584f90d2c47
.hgsubstate is corrupt in revision eb29a53834af
.hgsubstate is corrupt in revision e8ef57b7bd2a
.hgsubstate is corrupt in revision df86157a4912
.hgsubstate is corrupt in revision 12b60f3b1394
.hgsubstate is corrupt in revision 97cb9286919c
.hgsubstate is corrupt in revision c952f1e35e50
.hgsubstate is corrupt in revision 55f88d2236b6
.hgsubstate is corrupt in revision 572a707408b2
.hgsubstate is corrupt in revision 06bd3610f76e
.hgsubstate is corrupt in revision 43aa8d583b02
.hgsubstate is corrupt in revision 8e9f2cfa114d
.hgsubstate is corrupt in revision e8eca6031695
.hgsubstate is corrupt in revision 3fd857c284fe
.hgsubstate is corrupt in revision 56983afe80d5
.hgsubstate is corrupt in revision ef62fc21b2d9
.hgsubstate is corrupt in revision c2afeeb35f4d
.hgsubstate is corrupt in revision de3a318128f2
.hgsubstate is corrupt in revision 7c14e3e6fc6b
.hgsubstate is corrupt in revision b07e0cb83704
.hgsubstate is corrupt in revision 6c5b6c0ab528
.hgsubstate is corrupt in revision a132d206a36a
.hgsubstate is corrupt in revision acb7c0e6c317
.hgsubstate is corrupt in revision 017f0b2e6933
.hgsubstate is corrupt in revision 79baa37fde7a
.hgsubstate is corrupt in revision 181319fb0c8b
.hgsubstate is corrupt in revision e40ae983288f
.hgsubstate is corrupt in revision f7f1a2d4e9c8
15889: repository /Users/davidlaxer/octave/gnulib-hg not found
15890: repository /Users/davidlaxer/octave/gnulib-hg not found
15892: repository /Users/davidlaxer/octave/gnulib-hg not found
15905: repository /Users/davidlaxer/octave/gnulib-hg not found
16032: repository /Users/davidlaxer/octave/gnulib-hg not found
16038: repository /Users/davidlaxer/octave/gnulib-hg not found
16039: repository /Users/davidlaxer/octave/gnulib-hg not found
16081: repository /Users/davidlaxer/octave/gnulib-hg not found
16240: repository /Users/davidlaxer/octave/gnulib-hg not found
16358: repository /Users/davidlaxer/octave/gnulib-hg not found
17277: repository /Users/davidlaxer/octave/gnulib-hg not found
17840: repository /Users/davidlaxer/octave/gnulib-hg not found
19106: repository /Users/davidlaxer/octave/gnulib-hg not found
19818: repository /Users/davidlaxer/octave/gnulib-hg not found
21166: repository /Users/davidlaxer/octave/gnulib-hg not found
21479: repository /Users/davidlaxer/octave/gnulib-hg not found
21544: repository /Users/davidlaxer/octave/gnulib-hg not found
21820: repository /Users/davidlaxer/octave/gnulib-hg not found
21834: repository /Users/davidlaxer/octave/gnulib-hg not found
22068: repository /Users/davidlaxer/octave/gnulib not found
22070: repository /Users/davidlaxer/octave/gnulib not found
22406: repository /Users/davidlaxer/octave/gnulib not found
22549: repository /Users/davidlaxer/octave/gnulib not found
22835: repository /Users/davidlaxer/octave/gnulib not found
22887: repository /Users/davidlaxer/octave/gnulib not found
22889: repository /Users/davidlaxer/octave/gnulib not found
23539: repository /Users/davidlaxer/octave/gnulib not found
24872: repository /Users/davidlaxer/octave/gnulib not found
24882: repository /Users/davidlaxer/octave/gnulib not found
25066: repository /Users/davidlaxer/octave/gnulib not found
25935: repository /Users/davidlaxer/octave/gnulib not found
26224: repository /Users/davidlaxer/octave/gnulib not found
26314: repository /Users/davidlaxer/octave/gnulib not found
27780: repository /Users/davidlaxer/octave/gnulib not found
27989: repository /Users/davidlaxer/octave/gnulib not found

$ hg diff
diff -r cb9add260b2b bootstrap
--- a/bootstrap Mon Jan 18 17:08:14 2021 +0900
+++ b/bootstrap Sat Mar 06 08:05:26 2021 -0800
@@ -47,7 +47,8 @@

 me=$0

-default_gnulib_url=git://git.sv.gnu.org/gnulib
+# default_gnulib_url=git://git.sv.gnu.org/gnulib
+default_gnulib_url=https://github.com/coreutils/gnulib.git

 usage() {
   cat <<EOF



david laxer <davidlaxer>
Sat 06 Mar 2021 12:16:35 PM UTC, comment #23: 

I have no idea which revision "c9X6D%9Y1*@1" could relate to. That string looks like complete gibberish to me.
Which github repository did you clone?

I don't think the output of `make distclean` is of any relevance.

You are overriding `CXXFLAGS` and `CPPFLAGS` in the configure command. So why do you need to export these variables before that command?

Just to make sure: You are able to compile from a clean checkout of the default(!) branch with the following commands? (No special environment variables set.)

./bootstrap
mkdir .build
cd .build
../configure \
  CC=/usr/bin/clang \
  CXX=/usr/bin/clang++ \
  CCLD=/usr/bin/clang \
  CXXLD=/usr/bin/clang++ \
  CCFLAGS="-isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk" \
  CXXFLAGS="-std=c++17 -stdlib=libc++ -arch x86_64 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk -I/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include -I/Users/davidlaxer/SuiteSparse/include -I/opt/local/libexec/qt5/include -I/Library/Java/JavaVirtualMachines/jdk-13.0.2.jdk/Contents/Home/include" \
  CPPFLAGS="-I/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include -I/Users/davidlaxer/SuiteSparse/include -I/opt/local/include -I/opt/local/libexec/qt5/include -I/Library/Java/JavaVirtualMachines/jdk-13.0.2.jdk/Contents/Home/include" LDFLAGS="-L/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/lib -L/Users/davidlaxer/SuiteSparse/lib/ -L/opt/local/libexec/qt5/lib -L/Library/Java/JavaVirtualMachines/jdk-13.0.2.jdk/Contents/Home/lib" \
  DYLD_LIBRARY_PATH="-L/opt/local/lib -L/opt/local/libexec/qt5/lib -L/Library/Java/JavaVirtualMachines/jdk-13.0.2.jdk/Contents/Home/lib" \
  LD_LIBRARY_PATH="-L/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/lib -L/Users/davidlaxer/SuiteSparse/lib/ -L/opt/local/lib -L/opt/local/libexec/qt5/lib -L/Library/Java/JavaVirtualMachines/jdk-13.0.2.jdk/Contents/Home/lib" \
  --with-suitesparseconfig-includedir=/Users/davidlaxer/SuiteSparse/include --with-suitesparseconfig-libdir=/Users/davidlaxer/SuiteSparse/lib --disable-readline  --with-sundials_ida-includedir=/opt/local/include/sundials --with-sundials_ida-libdir=/opt/local/lib/ --with-qt=5 --with-libiconv-prefix=/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr
make all -j3


No additional changes (patches or anything) necessary?
You do not need to configure with `--disable-lib-visibility-flags`?

Markus Mützel <mmuetzel>
Group administrator
Fri 05 Mar 2021 07:57:38 PM UTC, comment #22: 

I added:
i. -arch x86_64
ii. export DEVELOPER_DIR=/Library/Developer/CommandLineTools
iii. how do I get you config.log?
$ ls -l config.log*
-rw-r--r--  1 davidlaxer  staff  220791 Mar  5 11:52 config.log.gz


./configure CXXFLAGS="-std=c++17 -stdlib=libc++ -arch x86_64 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk -I/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include -I/Users/davidlaxer/SuiteSparse/include -I/opt/local/libexec/qt5/include -I/Library/Java/JavaVirtualMachines/jdk-13.0.2.jdk/Contents/Home/include"  CPPFLAGS="-I/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include -I/Users/davidlaxer/SuiteSparse/include -I/opt/local/include -I/opt/local/libexec/qt5/include -I/Library/Java/JavaVirtualMachines/jdk-13.0.2.jdk/Contents/Home/include" LDFLAGS="-L/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/lib -L/Users/davidlaxer/SuiteSparse/lib/ -L/opt/local/libexec/qt5/lib -L/Library/Java/JavaVirtualMachines/jdk-13.0.2.jdk/Contents/Home/lib" DYLD_LIBRARY_PATH="-L/opt/local/lib -L/opt/local/libexec/qt5/lib -L/Library/Java/JavaVirtualMachines/jdk-13.0.2.jdk/Contents/Home/lib" LD_LIBRARY_PATH="-L/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/lib -L/Users/davidlaxer/SuiteSparse/lib/ -L/opt/local/lib -L/opt/local/libexec/qt5/lib -L/Library/Java/JavaVirtualMachines/jdk-13.0.2.jdk/Contents/Home/lib" --with-suitesparseconfig-includedir=/Users/davidlaxer/SuiteSparse/include --with-suitesparseconfig-libdir=/Users/davidlaxer/SuiteSparse/lib --disable-readline  --with-sundials_ida-includedir=/opt/local/include/sundials --with-sundials_ida-libdir=/opt/local/lib/ --with-qt=5 --with-libiconv-prefix=/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr


david laxer <davidlaxer>
Fri 05 Mar 2021 07:11:39 PM UTC, comment #21: 
david laxer <davidlaxer>
Fri 05 Mar 2021 05:39:48 PM UTC, comment #20: 

1. I cloned octave from the GitHub repository,
2. $ cat HG-ID
c9X6D%9Y1*@1
3. please find attached 'octave.out' which combines output from ./bootstrap and make distclean
4. when I used -std=c++11, I got many compiler errors
(please see: https://github.com/nlohmann/json/issues/2087)
5. There may be some issue between libiconv.2.4.0.tbd and /usr/lib

$ xcode-select -p
/Applications/Xcode.app/Contents/Developer
(base) MacBook-Pro:octave davidlaxer$ xcrun -show-sdk-path
/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk
find /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/lib -name '*iconv*' -ls
12984624073        0 lrwxr-xr-x    1 root             wheel                  14 Feb 27 10:25 /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/lib/libiconv.2.4.0.tbd -> libiconv.2.tbd
12984624702        8 -r--r--r--    1 root             wheel                 759 Jul  9  2020 /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/lib/libiconv.2.tbd
12984624795        0 lrwxr-xr-x    1 root             wheel                  18 Feb 27 10:25 /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/lib/libiconv.tbd -> libiconv.2.4.0.tbd
$ ls -l /usr/lib/libiconv.2.4.0.dylib
lrwxr-xr-x  1 root  wheel  16 Jan 30 21:51 /usr/lib/libiconv.2.4.0.dylib -> libiconv.2.dylib

6. to resolve the linker error I had to add this:
-Wl,-force_load,/usr/lib/libiconv.2.dylib


$  /usr/bin/clang++ -dynamiclib  -o liboctave/.libs/liboctave.8.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/opt/local/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/lib -L/Users/davidlaxer/SuiteSparse/lib/ -L/opt/local/libexec/qt5/lib -L/Library/Java/JavaVirtualMachines/jdk-13.0.2.jdk/Contents/Home/lib -lcurl -lcholmod -lumfpack -lamd -lcamd -lcolamd -lccolamd -lcxsparse -lsuitesparseconfig -lspqr -larpack -lfftw3_threads -lfftw3 -lfftw3f_threads -lfftw3f -llapack -lblas -lncurses -lpcre -ldl -L/opt/local/lib/gcc10/gcc/x86_64-apple-darwin19/10.2.0 -L/opt/local/lib/gcc10/gcc/x86_64-apple-darwin19/10.2.0/../../.. -lgfortran -lquadmath -liconv -lm  -pthread -stdlib=libc++ -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk -Wl,-framework -Wl,CoreFoundation   -pthread -install_name  /usr/local/lib/octave/7.0.0/liboctave.8.dylib -compatibility_version 9 -current_version 9.0 -Wl,-single_module -Wl,-force_load,/usr/lib/libiconv.2.dylib

7. make distclean gzipped is still 32k.  How should I send it?


(file #51000, file #51001)

david laxer <davidlaxer>
Fri 05 Mar 2021 10:30:39 AM UTC, comment #19: 

I'm not sure if savannah ate the output of `./bootstrap` and the config.log again. If it did, maybe you could try uploading it to a file sharing service.

Which issue with <cmath> are you referring to?

I am surprised, you didn't need to configure with `--disable-lib-visibility-flags` (see bug #59820). To be clear: It would be good news if it worked without that switch.
Which hg id are you at? Did you apply any local patches or did other changes to the checked out folder?

While it might be ok to build in-tree, I usually build in a sub-folder in the checked out folder. E.g. something like this:

./bootstrap
mkdir .build
cd .build
../configure ---- your configure flags here ----
make all -j3


Markus Mützel <mmuetzel>
Group administrator
Fri 05 Mar 2021 10:15:03 AM UTC, comment #18: 

I am building from the repository the development branch.
0. I had to change -std=c++11 to -stdc++17 to solve the issues with <cmath>. etc.
1. I switched to clang and clang++
2. I switched -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk"

$ xcrun -show-sdk-path
/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk

3. this causes iconv.h to be found in : /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include
4. the library : libiconv.2.dylib in /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/lib is a .tbd.  Its my understanding this is associated with the system dynamic library /usr/lib/libiconv.2.dylib.
5. -liconv doesn't resolve the linking error, but -Wl,-force_load,/usr/lib/libiconv.2.dylib, does (not sure what's going on here.

david laxer <davidlaxer>
Fri 05 Mar 2021 06:52:38 AM UTC, comment #17: 

Sorry. Misread.
That still is a linking error.
Could you still answer the questions in comment #16?

Markus Mützel <mmuetzel>
Group administrator
Fri 05 Mar 2021 06:50:41 AM UTC, comment #16: 

Are you building from a release tarball or from the repository? In the latter case, from the default or from the stable branch?

In comment #13, you wrote about linking errors. Now, it looks like you don't even reach to that point and get an error during compilation already.
I wonder why that is. In case you are building from the repository, could you please show the output of running ‘./bootstrap’? You might need to compress the file before attaching it. The maximum size for uploads is quite low on savannah. The config.log didn't make it afaics.

Markus Mützel <mmuetzel>
Group administrator
Thu 04 Mar 2021 10:39:11 PM UTC, comment #15: 

I made progress building octave on OS X 10.11.7.
However, I'm still getting

Undefined symbols for architecture x86_64:
  "_iconv", referenced from:
      _mem_cd_iconveh_internal in libgnu.a(striconveh.o)
      _iconv_carefully_1 in libgnu.a(striconveh.o)
     (maybe you meant: _str_iconveha, _str_cd_iconveh , _mem_cd_iconveh , _octave_iconv_close_wrapper , _mem_iconveh , _iconveh_close , _iconveh_open , _octave_iconv_open_wrapper , _str_iconveh , _mem_iconveha )
  "_iconv_close", referenced from:
      _octave_iconv_close_wrapper in libwrappers.a(libwrappers_la-iconv-wrappers.o)
      _iconveh_open in libgnu.a(striconveh.o)
      _iconveh_close in libgnu.a(striconveh.o)
     (maybe you meant: _octave_iconv_close_wrapper)
  "_iconv_open", referenced from:
      _octave_iconv_open_wrapper in libwrappers.a(libwrappers_la-iconv-wrappers.o)
      _iconveh_open in libgnu.a(striconveh.o)
     (maybe you meant: _octave_iconv_open_wrapper)
ld: symbol(s) not found for architecture x86_64


If I add -Wl,-force_load,/usr/lib/libiconv.2.dylib
to the linker line, it builds.

Here's my configure command:

export CFLAGS="-isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk"
export CCFLAGS="-isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk"
export CXXFLAGS="-isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk"
export CPPFLAGS="-isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk"
export CXXFLAGS="-std=c++17 -stdlib=libc++ $CXXFLAGS"
export CPPFLAGS="-std=c++17 -stdlib=libc++ $CPPFLAGS"
export CC=/usr/bin/clang
export CXX=/usr/bin/clang++
export CCLD=/usr/bin/clang
export CXXLD=/usr/bin/clang++

./configure CXXFLAGS="-std=c++17 -stdlib=libc++ -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk -I/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include -I/Users/davidlaxer/SuiteSparse/include -I/opt/local/libexec/qt5/include -I/Library/Java/JavaVirtualMachines/jdk-13.0.2.jdk/Contents/Home/include"  CPPFLAGS="-I/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include -I/Users/davidlaxer/SuiteSparse/include -I/opt/local/include -I/opt/local/libexec/qt5/include -I/Library/Java/JavaVirtualMachines/jdk-13.0.2.jdk/Contents/Home/include" LDFLAGS="-L/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/lib -L/Users/davidlaxer/SuiteSparse/lib/ -L/opt/local/libexec/qt5/lib -L/Library/Java/JavaVirtualMachines/jdk-13.0.2.jdk/Contents/Home/lib" DYLD_LIBRARY_PATH="-L/opt/local/lib -L/opt/local/libexec/qt5/lib -L/Library/Java/JavaVirtualMachines/jdk-13.0.2.jdk/Contents/Home/lib" LD_LIBRARY_PATH="-L/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/lib -L/Users/davidlaxer/SuiteSparse/lib/ -L/opt/local/lib -L/opt/local/libexec/qt5/lib -L/Library/Java/JavaVirtualMachines/jdk-13.0.2.jdk/Contents/Home/lib" --with-suitesparseconfig-includedir=/Users/davidlaxer/SuiteSparse/include --with-suitesparseconfig-libdir=/Users/davidlaxer/SuiteSparse/lib --disable-readline  --with-sundials_ida-includedir=/opt/local/include/sundials --with-sundials_ida-libdir=/opt/local/lib/ --with-qt=5 --with-libiconv-prefix=/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr


Please find attached 'config.log'

david laxer <davidlaxer>
Tue 09 Feb 2021 06:03:41 PM UTC, comment #14: 
Markus Mützel <mmuetzel>
Group administrator
Tue 09 Feb 2021 05:49:24 PM UTC, comment #13: 

The Macport SuiteSparse libraries are built with clang++,
So, I tried building Octave with clang++.

I'm getting linker errors where Octave is trying to link to a static library ibcorefcn.a

E.g:

-force_load,libinterp/corefcn/.libs/libcorefcn.a

Do you see any issues?


$ env | grep CC
CCLD=/usr/bin/clang
CC=/usr/bin/clang
(base) MacBook-Pro:octave davidlaxer$ env | grep CXX
CXXLD=/usr/bin/clang++
CXXTEST_BIN_DIR=/Users/davidlaxer/cxxtest/bin
CXX=/usr/bin/clang++

$ ./configure  LD_LIBRARY_PATH="-L/opt/local/lib  -L/opt/local/libexec/qt5/lib" LDFLAGS="-L/opt/local/lib -L/opt/local/libexec/qt5/lib" CPPFLAGS="-I/opt/local/include" --with-libiconv-prefix=/opt/local/lib --with-suitesparseconfig-includedir=/opt/local/include/

$make
...

libtool: link: /usr/bin/clang++ -std=gnu++11 -dynamiclib  -o libinterp/.libs/liboctinterp.8.dylib  libinterp/.libs/liboctinterp_la-octave.o libinterp/operators/.libs/liboctinterp_la-op-b-b.o libinterp/operators/.libs/liboctinterp_la-op-b-bm.o libinterp/operators/.libs/liboctinterp_la-op-b-sbm.o libinterp/operators/.libs/liboctinterp_la-op-bm-b.o libinterp/operators/.libs/liboctinterp_la-op-bm-bm.o libinterp/operators/.libs/liboctinterp_la-op-bm-sbm.o libinterp/operators/.libs/liboctinterp_la-op-cdm-cdm.o libinterp/operators/.libs/liboctinterp_la-op-cdm-cm.o libinterp/operators/.libs/liboctinterp_la-op-cdm-cs.o libinterp/operators/.libs/liboctinterp_la-op-cdm-dm.o libinterp/operators/.libs/liboctinterp_la-op-cdm-m.o libinterp/operators/.libs/liboctinterp_la-op-cdm-s.o libinterp/operators/.libs/liboctinterp_la-op-cell.o libinterp/operators/.libs/liboctinterp_la-op-chm.o libinterp/operators/.libs/liboctinterp_la-op-class.o libinterp/operators/.libs/liboctinterp_la-op-cm-cdm.o libinterp/operators/.libs/liboctinterp_la-op-cm-cm.o libinterp/operators/.libs/liboctinterp_la-op-cm-cs.o libinterp/operators/.libs/liboctinterp_la-op-cm-dm.o libinterp/operators/.libs/liboctinterp_la-op-cm-m.o libinterp/operators/.libs/liboctinterp_la-op-cm-pm.o libinterp/operators/.libs/liboctinterp_la-op-cm-s.o libinterp/operators/.libs/liboctinterp_la-op-cm-scm.o libinterp/operators/.libs/liboctinterp_la-op-cm-sm.o libinterp/operators/.libs/liboctinterp_la-op-cs-cm.o libinterp/operators/.libs/liboctinterp_la-op-cs-cs.o libinterp/operators/.libs/liboctinterp_la-op-cs-m.o libinterp/operators/.libs/liboctinterp_la-op-cs-s.o libinterp/operators/.libs/liboctinterp_la-op-cs-scm.o libinterp/operators/.libs/liboctinterp_la-op-cs-sm.o libinterp/operators/.libs/liboctinterp_la-op-dm-cdm.o libinterp/operators/.libs/liboctinterp_la-op-dm-cm.o libinterp/operators/.libs/liboctinterp_la-op-dm-cs.o libinterp/operators/.libs/liboctinterp_la-op-dm-dm.o libinterp/operators/.libs/liboctinterp_la-op-dm-m.o libinterp/operators/.libs/liboctinterp_la-op-dm-s.o libinterp/operators/.libs/liboctinterp_la-op-dm-scm.o libinterp/operators/.libs/liboctinterp_la-op-dm-sm.o libinterp/operators/.libs/liboctinterp_la-op-fcdm-fcdm.o libinterp/operators/.libs/liboctinterp_la-op-fcdm-fcm.o libinterp/operators/.libs/liboctinterp_la-op-fcdm-fcs.o libinterp/operators/.libs/liboctinterp_la-op-fcdm-fdm.o libinterp/operators/.libs/liboctinterp_la-op-fcdm-fm.o libinterp/operators/.libs/liboctinterp_la-op-fcdm-fs.o libinterp/operators/.libs/liboctinterp_la-op-fcm-fcdm.o libinterp/operators/.libs/liboctinterp_la-op-fcm-fcm.o libinterp/operators/.libs/liboctinterp_la-op-fcm-fcs.o libinterp/operators/.libs/liboctinterp_la-op-fcm-fdm.o libinterp/operators/.libs/liboctinterp_la-op-fcm-fm.o libinterp/operators/.libs/liboctinterp_la-op-fcm-fs.o libinterp/operators/.libs/liboctinterp_la-op-fcm-pm.o libinterp/operators/.libs/liboctinterp_la-op-fcn.o libinterp/operators/.libs/liboctinterp_la-op-fcs-fcm.o libinterp/operators/.libs/liboctinterp_la-op-fcs-fcs.o libinterp/operators/.libs/liboctinterp_la-op-fcs-fm.o libinterp/operators/.libs/liboctinterp_la-op-fcs-fs.o libinterp/operators/.libs/liboctinterp_la-op-fdm-fcdm.o libinterp/operators/.libs/liboctinterp_la-op-fdm-fcm.o libinterp/operators/.libs/liboctinterp_la-op-fdm-fcs.o libinterp/operators/.libs/liboctinterp_la-op-fdm-fdm.o libinterp/operators/.libs/liboctinterp_la-op-fdm-fm.o libinterp/operators/.libs/liboctinterp_la-op-fdm-fs.o libinterp/operators/.libs/liboctinterp_la-op-fm-fcdm.o libinterp/operators/.libs/liboctinterp_la-op-fm-fcm.o libinterp/operators/.libs/liboctinterp_la-op-fm-fcs.o libinterp/operators/.libs/liboctinterp_la-op-fm-fdm.o libinterp/operators/.libs/liboctinterp_la-op-fm-fm.o libinterp/operators/.libs/liboctinterp_la-op-fm-fs.o libinterp/operators/.libs/liboctinterp_la-op-fm-pm.o libinterp/operators/.libs/liboctinterp_la-op-fs-fcm.o libinterp/operators/.libs/liboctinterp_la-op-fs-fcs.o libinterp/operators/.libs/liboctinterp_la-op-fs-fm.o libinterp/operators/.libs/liboctinterp_la-op-fs-fs.o libinterp/operators/.libs/liboctinterp_la-op-i16-i16.o libinterp/operators/.libs/liboctinterp_la-op-i32-i32.o libinterp/operators/.libs/liboctinterp_la-op-i64-i64.o libinterp/operators/.libs/liboctinterp_la-op-i8-i8.o libinterp/operators/.libs/liboctinterp_la-op-int-concat.o libinterp/operators/.libs/liboctinterp_la-op-m-cdm.o libinterp/operators/.libs/liboctinterp_la-op-m-cm.o libinterp/operators/.libs/liboctinterp_la-op-m-cs.o libinterp/operators/.libs/liboctinterp_la-op-m-dm.o libinterp/operators/.libs/liboctinterp_la-op-m-m.o libinterp/operators/.libs/liboctinterp_la-op-m-pm.o libinterp/operators/.libs/liboctinterp_la-op-m-s.o libinterp/operators/.libs/liboctinterp_la-op-m-scm.o libinterp/operators/.libs/liboctinterp_la-op-m-sm.o libinterp/operators/.libs/liboctinterp_la-op-mi.o libinterp/operators/.libs/liboctinterp_la-op-pm-cm.o libinterp/operators/.libs/liboctinterp_la-op-pm-fcm.o libinterp/operators/.libs/liboctinterp_la-op-pm-fm.o libinterp/operators/.libs/liboctinterp_la-op-pm-m.o libinterp/operators/.libs/liboctinterp_la-op-pm-pm.o libinterp/operators/.libs/liboctinterp_la-op-pm-scm.o libinterp/operators/.libs/liboctinterp_la-op-pm-sm.o libinterp/operators/.libs/liboctinterp_la-op-range.o libinterp/operators/.libs/liboctinterp_la-op-s-cm.o libinterp/operators/.libs/liboctinterp_la-op-s-cs.o libinterp/operators/.libs/liboctinterp_la-op-s-m.o libinterp/operators/.libs/liboctinterp_la-op-s-s.o libinterp/operators/.libs/liboctinterp_la-op-s-scm.o libinterp/operators/.libs/liboctinterp_la-op-s-sm.o libinterp/operators/.libs/liboctinterp_la-op-sbm-b.o libinterp/operators/.libs/liboctinterp_la-op-sbm-bm.o libinterp/operators/.libs/liboctinterp_la-op-sbm-sbm.o libinterp/operators/.libs/liboctinterp_la-op-scm-cm.o libinterp/operators/.libs/liboctinterp_la-op-scm-cs.o libinterp/operators/.libs/liboctinterp_la-op-scm-m.o libinterp/operators/.libs/liboctinterp_la-op-scm-s.o libinterp/operators/.libs/liboctinterp_la-op-scm-scm.o libinterp/operators/.libs/liboctinterp_la-op-scm-sm.o libinterp/operators/.libs/liboctinterp_la-op-sm-cm.o libinterp/operators/.libs/liboctinterp_la-op-sm-cs.o libinterp/operators/.libs/liboctinterp_la-op-sm-m.o libinterp/operators/.libs/liboctinterp_la-op-sm-s.o libinterp/operators/.libs/liboctinterp_la-op-sm-scm.o libinterp/operators/.libs/liboctinterp_la-op-sm-sm.o libinterp/operators/.libs/liboctinterp_la-op-str-m.o libinterp/operators/.libs/liboctinterp_la-op-str-s.o libinterp/operators/.libs/liboctinterp_la-op-str-str.o libinterp/operators/.libs/liboctinterp_la-op-struct.o libinterp/operators/.libs/liboctinterp_la-op-ui16-ui16.o libinterp/operators/.libs/liboctinterp_la-op-ui32-ui32.o libinterp/operators/.libs/liboctinterp_la-op-ui64-ui64.o libinterp/operators/.libs/liboctinterp_la-op-ui8-ui8.o libinterp/template-inst/.libs/liboctinterp_la-Array-tc.o libinterp/template-inst/.libs/liboctinterp_la-Array-jit.o libinterp/.libs/liboctinterp_la-build-env-features.o libinterp/.libs/liboctinterp_la-build-env.o libinterp/.libs/liboctinterp_la-builtins.o libinterp/corefcn/.libs/liboctinterp_la-oct-errno.o libinterp/.libs/liboctinterp_la-liboctinterp-build-info.o libinterp/operators/.libs/liboctinterp_la-ops.o   -Wl,-force_load,libinterp/octave-value/.libs/liboctave-value.a -Wl,-force_load,libinterp/parse-tree/.libs/libparse-tree.a -Wl,-force_load,libinterp/corefcn/.libs/libcorefcn.a  -L/opt/local/lib -L/opt/local/libexec/qt5/lib liboctave/.libs/liboctave.dylib -L/opt/local/lib/gcc10/gcc/x86_64-apple-darwin19/10.2.0 -L/opt/local/lib/gcc10/gcc/x86_64-apple-darwin19/10.2.0/../../.. -lhdf5 -lGraphicsMagick++ -lGraphicsMagick -lz -framework OpenGL -lfontconfig -lfreetype -lX11 -framework Carbon -lgl2ps -lcurl -lcholmod -lumfpack -lamd -lcamd -lcolamd -lccolamd -lcxsparse -lsuitesparseconfig -lspqr -larpack -lqrupdate -lfftw3_threads -lfftw3 -lfftw3f_threads -lfftw3f -lopenblas -lreadline -lncurses -lpcre -ldl -lgfortran -lquadmath -liconv -lm  -pthread -g -O2 -Wl,-framework -Wl,CoreFoundation   -pthread -framework OpenGL -framework Carbon -install_name  /usr/local/lib/octave/7.0.0/liboctinterp.8.dylib -compatibility_version 9 -current_version 9.0 -Wl,-single_module


David Laxer <dbl001>
Sun 07 Feb 2021 03:24:30 PM UTC, comment #12: 

No response if sorting the flags and not mixing standard libraries has fixed the build. So I'll assume it would.

Closing report as invalid.

We can re-open if more information is provided that points to an actual issue in Octave's build rules.

Markus Mützel <mmuetzel>
Group administrator
Mon 01 Feb 2021 06:08:40 PM UTC, comment #11: 

Also: Sort the `-L` and `-I` flags. If you use the headers of one version but link to the libraries of another version, that will most likely also cause problems.

Markus Mützel <mmuetzel>
Group administrator
Mon 01 Feb 2021 06:05:12 PM UTC, comment #10: 

You can demangle those symbols to understand what function they correspond to, e.g. online with: http://www.demangler.com

Do you have different versions of the standard libraries installed? Maybe clang's `libc++` and gcc's `libstdc++`?
If so, make sure to use only one of them consistently. If you compile some projects with one and others with the other, that is bound to cause problems when these projects try to link together.

Also to possibly avoid similar problems, use the same compiler/vendor consistently.

I could be wrong. But I don't think this is a problem in Octave. It is more likely that your build system is not set up correctly.
There are probably other places where you get better help for general questions on compiling on macOS.

P.S.: Don't use spaces inside the verbatim tags or savannah won't recognize them.

Markus Mützel <mmuetzel>
Group administrator
Mon 01 Feb 2021 05:14:12 PM UTC, comment #9: 

+ verbatim +
Macport:                 SuiteSparse                    @5.7.2          math/SuiteSparse
_Z13SuiteSparseQRIdElidlP21cholmod_sparse_structPS1_PPlS2_S4_PP20cholmod_dense_structP21cholmod_common_struct

SuiteSparse from Source: SuiteSparse Version:      5.6.0
__Z13SuiteSparseQRIdElidlP21cholmod_sparse_structPS1_PPlS2_S4_PP20cholmod_dense_structP21cholmod_common_struct

Octave:
__Z13SuiteSparseQRISt7complexIdEElidlP21cholmod_sparse_structPS3_PPlS4_S6_PP20cholmod_dense_structP21cholmod_common_struct
- verbatim -

There is an extra leading underscore in the function name between the MacPort version and the source version I built.
However, the Octave name has a totally different decoration pattern.
How do I find out the 'configuration' setting to adjust octave or SuiteSparse source?

David Laxer <dbl001>
Mon 01 Feb 2021 09:25:54 AM UTC, comment #8: 

Thanks for the file #50819.

It looks like that version of libspqr exports this symbol (+ demangled version of it):

__Z13SuiteSparseQRINSt3__17complexIdEEElidlP21cholmod_sparse_structPS4_PPlS5_S7_PP20cholmod_dense_structP21cholmod_common_struct
_long SuiteSparseQR<std::__1::complex<double> >(int, double, long, cholmod_sparse_struct*, cholmod_sparse_struct**, long**, cholmod_sparse_struct**, long**, cholmod_dense_struct**, cholmod_common_struct*)


On the other hand, Octave tries to link this symbol (+demangled version):

__Z13SuiteSparseQRISt7complexIdEElidlP21cholmod_sparse_structPS3_PPlS4_S6_PP20cholmod_dense_structP21cholmod_common_struct
_long SuiteSparseQR<std::complex<double> >(int, double, long, cholmod_sparse_struct*, cholmod_sparse_struct**, long**, cholmod_sparse_struct**, long**, cholmod_dense_struct**, cholmod_common_struct*)


I'm not sure if `std::complex` or `std::__1::complex` is the "more correct" symbol on macOS. Is it possible you are mixing two different standard libraries?
Does the error persist if you sort your `-I` and `-L` flags to consistently use files from MacPorts instead of the files installed on your system (or the other way round)?

Markus Mützel <mmuetzel>
Group administrator
Mon 01 Feb 2021 07:23:04 AM UTC, comment #7: 

Sorry. I didn't know that that command wouldn't work on macOS.

What is the order of precedence on macOS if a dynamic and static library of the same name are available in the same folder?

I'm not sure why `/opt/local/lib/libspqr.a` would not export any symbols. Is that what `nm` returns for any static library on macOS?

Assuming that Octave tries to link with the dynamic library: Could you please show a list of all symbols exported by `/opt/local/lib/libspqr.dylib`?
Maybe a command similar to the following would do:

nm /opt/local/lib/libspqr.dylib > symbols-libspqr

And attach the resulting file to this report.

Markus Mützel <mmuetzel>
Group administrator
Sun 31 Jan 2021 08:19:30 PM UTC, comment #6: 

+ verbatim +
$ nm -D /Users/davidlaxer/SuiteSparse/lib/libspqr.dylib  | grep _Z13SuiteSparseQRISt7complexIdEElidlP21cholmod_sparse_structPS3_PPlS4_S6_PP20cholmod_dense_structP21cholmod_common_struct
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/nm: error: /Users/davidlaxer/SuiteSparse/lib/libspqr.dylib: File format has no dynamic symbol table.
(base) MacBook-Pro:INBOX 2.mbox davidlaxer$ nm -D /opt/local/lib/libspqr.dylib| grep _Z13SuiteSparseQRISt7complexIdEElidlP21cholmod_sparse_structPS3_PPlS4_S6_PP20cholmod_dense_structP21cholmod_common_struct
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/nm: error: /opt/local/lib/libspqr.dylib: File format has no dynamic symbol table.
(base) MacBook-Pro:INBOX 2.mbox davidlaxer$ nm -D /Users/davidlaxer/SuiteSparse/lib/libspqr.2.dylib | grep _Z13SuiteSparseQRISt7complexIdEElidlP21cholmod_sparse_structPS3_PPlS4_S6_PP20cholmod_dense_structP21cholmod_common_struct
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/nm: error: /Users/davidlaxer/SuiteSparse/lib/libspqr.2.dylib: File format has no dynamic symbol table.
$ nm -D  /opt/local/lib/libspqr.a| grep _Z13SuiteSparseQRISt7complexIdEElidlP21cholmod_sparse_structPS3_PPlS4_S6_PP20cholmod_dense_structP21cholmod_common_struct
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/nm: error: spqr_rmap.o: File format has no dynamic symbol table.
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/nm: error: SuiteSparseQR_C.o: File format has no dynamic symbol table.
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/nm: error: SuiteSparseQR_expert.o: File format has no dynamic symbol table.
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/nm: error: spqr_parallel.o: File format has no dynamic symbol table.
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/nm: error: spqr_kernel.o: File format has no dynamic symbol table.
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/nm: error: spqr_analyze.o: File format has no dynamic symbol table.
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/nm: error: spqr_assemble.o: File format has no dynamic symbol table.
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/nm: error: spqr_cpack.o: File format has no dynamic symbol table.
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/nm: error: spqr_csize.o: File format has no dynamic symbol table.
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/nm: error: spqr_fcsize.o: File format has no dynamic symbol table.
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/nm: error: spqr_debug.o: File format has no dynamic symbol table.
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/nm: error: spqr_front.o: File format has no dynamic symbol table.
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/nm: error: spqr_factorize.o: File format has no dynamic symbol table.
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/nm: error: spqr_freenum.o: File format has no dynamic symbol table.
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/nm: error: spqr_freesym.o: File format has no dynamic symbol table.
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/nm: error: spqr_freefac.o: File format has no dynamic symbol table.
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/nm: error: spqr_fsize.o: File format has no dynamic symbol table.
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/nm: error: spqr_maxcolnorm.o: File format has no dynamic symbol table.
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/nm: error: spqr_rconvert.o: File format has no dynamic symbol table.
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/nm: error: spqr_rcount.o: File format has no dynamic symbol table.
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/nm: error: spqr_rhpack.o: File format has no dynamic symbol table.
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/nm: error: spqr_rsolve.o: File format has no dynamic symbol table.
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/nm: error: spqr_stranspose1.o: File format has no dynamic symbol table.
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/nm: error: spqr_stranspose2.o: File format has no dynamic symbol table.
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/nm: error: spqr_hpinv.o: File format has no dynamic symbol table.
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/nm: error: spqr_1fixed.o: File format has no dynamic symbol table.
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/nm: error: spqr_1colamd.o: File format has no dynamic symbol table.
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/nm: error: SuiteSparseQR.o: File format has no dynamic symbol table.
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/nm: error: spqr_1factor.o: File format has no dynamic symbol table.
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/nm: error: spqr_cumsum.o: File format has no dynamic symbol table.
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/nm: error: spqr_shift.o: File format has no dynamic symbol table.
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/nm: error: spqr_happly.o: File format has no dynamic symbol table.
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/nm: error: spqr_panel.o: File format has no dynamic symbol table.
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/nm: error: spqr_happly_work.o: File format has no dynamic symbol table.
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/nm: error: SuiteSparseQR_qmult.o: File format has no dynamic symbol table.
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/nm: error: spqr_trapezoidal.o: File format has no dynamic symbol table.
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/nm: error: spqr_larftb.o: File format has no dynamic symbol table.
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/nm: error: spqr_append.o: File format has no dynamic symbol table.
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/nm: error: spqr_type.o: File format has no dynamic symbol table.
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/nm: error: spqr_tol.o: File format has no dynamic symbol table.
(base) MacBook-Pro:INBOX 2.mbox davidlaxer$

- verbatim -

David Laxer <dbl001>
Sun 31 Jan 2021 08:07:15 PM UTC, comment #5: 

Could you try with `nm -D` instead of `nm -n`? And maybe also drop the leading underscores from the `grep` string in case there is a mangling issue.

Markus Mützel <mmuetzel>
Group administrator
Sun 31 Jan 2021 08:00:56 PM UTC, comment #4: 

One version is from MacPorts, the other is  from building SuiteSparse from source.
The linker must have chosen the MacPort one in /opt/local/lib, because of the order of my -L parameters in the ./configure command.

However, the one in  /Users/davidlaxer/SuiteSparse/lib doesn't seem to have the symbol either.

+ verbatim +
$ find /Users/davidlaxer/SuiteSparse/lib -name '*libspqr*' -ls
12919933033        0 lrwxr-xr-x    1 davidlaxer       staff                  19 Jan 28 09:42 /Users/davidlaxer/SuiteSparse/lib/libspqr.2.dylib -> libspqr.2.0.9.dylib
12919933032        0 lrwxr-xr-x    1 davidlaxer       staff                  19 Jan 28 09:42 /Users/davidlaxer/SuiteSparse/lib/libspqr.dylib -> libspqr.2.0.9.dylib
12919933031      456 -rwxr-xr-x    1 davidlaxer       staff              259152 Jan 28 09:42 /Users/davidlaxer/SuiteSparse/lib/libspqr.2.0.9.dylib
$ find /opt/local/lib -name '*libspqr*' -ls
12898065251      264 -rw-r--r--    1 root             admin              278488 May 17  2020 /opt/local/lib/libspqr.a
12898065253        0 lrwxr-xr-x    1 root             admin                  19 May 17  2020 /opt/local/lib/libspqr.2.dylib -> libspqr.2.0.9.dylib
12898065254        0 lrwxr-xr-x    1 root             admin                  19 May 17  2020 /opt/local/lib/libspqr.dylib -> libspqr.2.0.9.dylib
12898553077        0 lrwxr-xr-x    1 macports         wheel                  19 Nov 24 04:13 /opt/local/lib/julia/libspqr.2.dylib -> libspqr.2.0.9.dylib
12898554356        0 lrwxr-xr-x    1 macports         wheel                  19 Nov 24 04:13 /opt/local/lib/julia/libspqr.dylib -> libspqr.2.0.9.dylib
12898557212      264 -rwxr-xr-x    1 macports         wheel              230420 Nov 24 04:13 /opt/local/lib/julia/libspqr.2.0.9.dylib
12898065255      264 -rwxr-xr-x    1 root             admin              238672 May 17  2020 /opt/local/lib/libspqr.2.0.9.dylib

$ nm -n  /opt/local/lib/libspqr.a| grep __Z13SuiteSparseQRISt7complexIdEElidlP21cholmod_sparse_structPS3_PPlS4_S6_PP20cholmod_dense_structP21cholmod_common_struct
no symbols
no symbols

nm -n /Users/davidlaxer/SuiteSparse/lib/libspqr.2.dylib | grep __Z13SuiteSparseQRISt7complexIdEElidlP21cholmod_sparse_structPS3_PPlS4_S6_PP20cholmod_dense_structP21cholmod_common_struct

$ nm -n /Users/davidlaxer/SuiteSparse/lib/libspqr.dylib  | grep __Z13SuiteSparseQRISt7complexIdEElidlP21cholmod_sparse_structPS3_PPlS4_S6_PP20cholmod_dense_structP21cholmod_common_struct

(base) MacBook-Pro:INBOX 2.mbox davidlaxer$ nm -n /opt/local/lib/libspqr.dylib| grep __Z13SuiteSparseQRISt7complexIdEElidlP21cholmod_sparse_structPS3_PPlS4_S6_PP20cholmod_dense_structP21cholmod_common_struct

- verbatim -

David Laxer <dbl001>
Sun 31 Jan 2021 07:32:38 PM UTC, comment #3: 

I comment #0, you write that you are trying to build with SuiteSparse 5.8.1. But comment #1 shows SuiteSparse 5.6.0.
Maybe a configuration/installation issue on your system?

Markus Mützel <mmuetzel>
Group administrator
Sun 31 Jan 2021 07:30:27 PM UTC, comment #2: 

Where is `libspqr` installed for you? In "/Users/davidlaxer/SuiteSparse/lib"?
Does it export the missing symbols?

I only checked for the first missing symbol. For me on Ubuntu, it seems to be exported (with one less leading underline) from this file:

$ nm -D /usr/lib/x86_64-linux-gnu/libspqr.so.2 | grep Z13SuiteSparseQRISt7complexIdEElidlP21cholmod_sparse_structPS3_PPlS4_S6_PP20cholmod_dense_structP21cholmod_common_struct
000000000001f860 W _Z13SuiteSparseQRISt7complexIdEElidlP21cholmod_sparse_structPS3_PPlS4_S6_PP20cholmod_dense_structP21cholmod_common_struct


Markus Mützel <mmuetzel>
Group administrator
Fri 29 Jan 2021 05:31:59 PM UTC, comment #1: 



$ make config

----------------------------------------------------------------
SuiteSparse package compilation options:
----------------------------------------------------------------

SuiteSparse Version:      5.6.0
SuiteSparse top folder:   /Users/davidlaxer/SuiteSparse
Package:                  LIBRARY=         PackageNameWillGoHere
Version:                  VERSION=         x.y.z
SO version:               SO_VERSION=      x
System:                   UNAME=           Darwin
Install directory:        INSTALL=         /Users/davidlaxer/SuiteSparse
Install libraries in:     INSTALL_LIB=     /Users/davidlaxer/SuiteSparse/lib
Install include files in: INSTALL_INCLUDE= /Users/davidlaxer/SuiteSparse/include
Install documentation in: INSTALL_DOC=     /Users/davidlaxer/SuiteSparse/share/doc/suitesparse-5.6.0
Optimization level:       OPTIMIZATION=    -O3
parallel make jobs:       JOBS=            8
BLAS library:             BLAS=            -framework Accelerate
LAPACK library:           LAPACK=          -framework Accelerate
Intel TBB library:        TBB=
Other libraries:          LDLIBS=          -lm
static library:           AR_TARGET=       PackageNameWillGoHere.a
shared library (full):    SO_TARGET=       PackageNameWillGoHere.x.y.z.dylib
shared library (main):    SO_MAIN=         PackageNameWillGoHere.x.dylib
shared library (short):   SO_PLAIN=        PackageNameWillGoHere.dylib
shared library options:   SO_OPTS=         -L/Users/davidlaxer/SuiteSparse/lib -dynamiclib -compatibility_version x -current_version x.y.z -shared -undefined dynamic_lookup
shared library name tool: SO_INSTALL_NAME= install_name_tool -id
ranlib, for static libs:  RANLIB=          ranlib
static library command:   ARCHIVE=         ar rv
copy file:                CP=              cp -f
move file:                MV=              mv -f
remove file:              RM=              rm -f
pretty (for Tcov tests):  PRETTY=          grep -v "^#" | indent -bl -nce -bli0 -i4 -sob -l120
C compiler:               CC=              cc
C++ compiler:             CXX=             c++
CUDA compiler:            NVCC=            echo
CUDA root directory:      CUDA_PATH=
OpenMP flags:             CFOPENMP=
C/C++ compiler flags:     CF=                 -O3 -fexceptions -fPIC -fno-common
LD flags:                 LDFLAGS=         -L/Users/davidlaxer/SuiteSparse/lib
Fortran compiler:         F77=             f77
Fortran flags:            F77FLAGS=
Intel MKL root:           MKLROOT=
Auto detect Intel icc:    AUTOCC=          no
UMFPACK config:           UMFPACK_CONFIG=
CHOLMOD config:           CHOLMOD_CONFIG=
SuiteSparseQR config:     SPQR_CONFIG=
CUDA library:             CUDART_LIB=
CUBLAS library:           CUBLAS_LIB=
METIS and CHOLMOD/Partition configuration:
Your METIS library:       MY_METIS_LIB=
Your metis.h is in:       MY_METIS_INC=
METIS is used via the CHOLMOD/Partition module, configured as follows.
If the next line has -DNPARTITION then METIS will not be used:
CHOLMOD Partition config:
CHOLMOD Partition libs:    -lccolamd -lcamd /Users/davidlaxer/SuiteSparse/lib/libmetis.dylib
CHOLMOD Partition include: -I/Users/davidlaxer/SuiteSparse/CCOLAMD/Include -I/Users/davidlaxer/SuiteSparse/CAMD/Include -I/Users/davidlaxer/SuiteSparse/metis-5.1.0/include
MAKE:  /Applications/Xcode.app/Contents/Developer/usr/bin/make
CMake options:  -DCMAKE_INSTALL_PREFIX=/Users/davidlaxer/SuiteSparse -DCMAKE_CXX_COMPILER=c++ -DCMAKE_C_COMPILER=cc


david laxer <davidlaxer>
Fri 29 Jan 2021 05:04:07 PM UTC, original submission:  

I am building Octave from source on OS X 10.15.7.
Xcode 12.4
SuiteSparse  v5.8.1


$ clang --version
Apple clang version 12.0.0 (clang-1200.0.32.29)
Target: x86_64-apple-darwin19.6.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
(base) MacBook-Pro:octave davidlaxer$ xcode-select -p
/Applications/Xcode.app/Contents/Developer



 ./configure  LD_LIBRARY_PATH="-L/opt/local/lib -L/Users/davidlaxer/SuiteSparse/lib/ -L/Users/davidlaxer/sundials/lib/  -L/opt/local/libexec/qt5/lib" LDFLAGS="-L/opt/local/lib -L/Users/davidlaxer/SuiteSparse/lib/ -L/opt/local/libexec/qt5/lib" CPPFLAGS="-I/Users/davidlaxer/SuiteSparse/include -I/opt/local/include" --with-libiconv-prefix=/opt/local/lib --with-sundials_ida-includedir=/Users/davidlaxer/sundials/include/ida --with-sundials_ida-libdir=/usr/local/lib

$make
...
config.status: executing liboctave/external/mk-f77-def.sh commands
/bin/sh ./libtool  --tag=CXX   --mode=link g++ -fPIC -D_THREAD_SAFE -pthread -fopenmp -Wall -W -Wshadow -Woverloaded-virtual -Wold-style-cast -Wformat -Wpointer-arith -Wwrite-strings -Wcast-align -Wcast-qual -fvisibility=hidden -g -O2 -version-info 8:0:0 -no-undefined -bindir /usr/local/bin -L/opt/local/lib  -L/opt/local/lib -L/opt/local/lib -L/opt/local/lib  -L/opt/local/lib -L/Users/davidlaxer/SuiteSparse/lib/ -L/opt/local/libexec/qt5/lib -o liboctave/liboctave.la -rpath /usr/local/lib/octave/7.0.0 liboctave/liboctave_la-liboctave-build-info.lo liboctave/liboctave_la-version.lo liboctave/array/libarray.la liboctave/external/blas-xtra/libxerbla.la liboctave/external/ranlib/libranlib.la liboctave/external/libexternal.la liboctave/numeric/libnumeric.la liboctave/operators/liboperators.la liboctave/system/libsystem.la liboctave/util/libutil.la liboctave/wrappers/libwrappers.la libgnu/libgnu.la -lcurl -lcholmod -lumfpack -lamd -lcamd -lcolamd -lccolamd -lcxsparse -lsuitesparseconfig -lspqr -larpack -lqrupdate -lfftw3_threads -lfftw3 -lfftw3f_threads -lfftw3f  -lopenblas -lreadline -lncurses  -lpcre -ldl   -L/opt/local/lib -L/Users/davidlaxer/SuiteSparse/lib/ -L/opt/local/libexec/qt5/lib -L/opt/local/lib/gcc10/gcc/x86_64-apple-darwin19/10.2.0 -L/opt/local/lib/gcc10/gcc/x86_64-apple-darwin19/10.2.0/../../.. -lgfortran -lquadmath -lm  -lm           -liconv   -Wl,-framework -Wl,CoreFoundation -lm
libtool: link: g++ -dynamiclib  -o liboctave/.libs/liboctave.8.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/opt/local/lib -L/Users/davidlaxer/SuiteSparse/lib/ -L/opt/local/libexec/qt5/lib -lcurl -lcholmod -lumfpack -lamd -lcamd -lcolamd -lccolamd -lcxsparse -lsuitesparseconfig -lspqr -larpack -lqrupdate -lfftw3_threads -lfftw3 -lfftw3f_threads -lfftw3f -lopenblas -lreadline -lncurses -lpcre -ldl -L/opt/local/lib/gcc10/gcc/x86_64-apple-darwin19/10.2.0 -L/opt/local/lib/gcc10/gcc/x86_64-apple-darwin19/10.2.0/../../.. -lgfortran -lquadmath -liconv -lm  -pthread -fopenmp -g -O2 -Wl,-framework -Wl,CoreFoundation   -pthread -fopenmp -install_name  /usr/local/lib/octave/7.0.0/liboctave.8.dylib -compatibility_version 9 -current_version 9.0 -Wl,-single_module
Undefined symbols for architecture x86_64:
  "__Z13SuiteSparseQRISt7complexIdEElidlP21cholmod_sparse_structPS3_PPlS4_S6_PP20cholmod_dense_structP21cholmod_common_struct", referenced from:
      __ZN6octave4math9sparse_qrI19SparseComplexMatrixE13sparse_qr_repC1ERKS2_i in libnumeric.a(libnumeric_la-sparse-qr.o)
  "__Z19SuiteSparseQR_qmultISt7complexIdEEP20cholmod_dense_structiP21cholmod_sparse_structS3_PlS3_P21cholmod_common_struct", referenced from:
      __ZN6octave4math9sparse_qrI19SparseComplexMatrixE13sparse_qr_rep1CERK13ComplexMatrixb in libnumeric.a(libnumeric_la-sparse-qr.o)
      __ZN6octave4math9sparse_qrI19SparseComplexMatrixE13sparse_qr_rep1QEb in libnumeric.a(libnumeric_la-sparse-qr.o)
  "__Z22SuiteSparseQR_min2normISt7complexIdEEP20cholmod_dense_structidP21cholmod_sparse_structS3_P21cholmod_common_struct", referenced from:
      __ZN6octave4math9sparse_qrI12SparseMatrixE14min2norm_solveI6MArrayISt7complexIdEE13ComplexMatrixEET0_RKS2_RKT_Rxi in libnumeric.a(libnumeric_la-sparse-qr.o)
      __ZN6octave4math9sparse_qrI19SparseComplexMatrixE14min2norm_solveI6MArrayISt7complexIdEE13ComplexMatrixEET0_RKS2_RKT_Rxi in libnumeric.a(libnumeric_la-sparse-qr.o)
      __ZN6octave4math9sparse_qrI19SparseComplexMatrixE14min2norm_solveI6MArrayIdE13ComplexMatrixEET0_RKS2_RKT_Rxi in libnumeric.a(libnumeric_la-sparse-qr.o)
  "__Z22SuiteSparseQR_min2normISt7complexIdEEP21cholmod_sparse_structidS3_S3_P21cholmod_common_struct", referenced from:
      __ZN6octave4math9sparse_qrI12SparseMatrixE14min2norm_solveI19SparseComplexMatrixS5_EET0_RKS2_RKT_Rxi in libnumeric.a(libnumeric_la-sparse-qr.o)
      __ZN6octave4math9sparse_qrI19SparseComplexMatrixE14min2norm_solveIS2_S2_EET0_RKS2_RKT_Rxi in libnumeric.a(libnumeric_la-sparse-qr.o)
      __ZN6octave4math9sparse_qrI19SparseComplexMatrixE14min2norm_solveI12SparseMatrixS2_EET0_RKS2_RKT_Rxi in libnumeric.a(libnumeric_la-sparse-qr.o)
ld: symbol(s) not found for architecture x86_64
collect2: error: ld returned 1 exit status
make[2]: *** [liboctave/liboctave.la] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

$ nm -n ./liboctave/numeric/.libs/libnumeric.a | grep __ZN6octave4math9sparse_qrI19SparseComplexMatrixE13sparse_qr_rep1QEb
00000000000032f0 T __ZN6octave4math9sparse_qrI19SparseComplexMatrixE13sparse_qr_rep1QEb
000000000000a500 s __ZN6octave4math9sparse_qrI19SparseComplexMatrixE13sparse_qr_rep1QEb.cold

$ nm -n liboctave/numeric/.libs/libnumeric.a | grep __ZN6octave4math9sparse_qrI19SparseComplexMatrixE13sparse_qr_rep1CERK13ComplexMatrixb
0000000000003130 T __ZN6octave4math9sparse_qrI19SparseComplexMatrixE13sparse_qr_rep1CERK13ComplexMatrixb
000000000000a4e4 s __ZN6octave4math9sparse_qrI19SparseComplexMatrixE13sparse_qr_rep1CERK13ComplexMatrixb.cold



david laxer <davidlaxer>

 

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

Attach Files:
   
   
Comment:
   

Attached Files
file #51002:  configure.out.gz added by davidlaxer (13KiB - application/x-gzip)
file #51000:  config.log.gz added by davidlaxer (10KiB - application/x-gzip)
file #51001:  bootstrap.out.gz added by davidlaxer (6KiB - application/x-gzip)
file #50819:  symbols-libspqr added by dbl001 (13KiB - application/octet-stream)
file #50805:  libnumeric.la added by davidlaxer (961B - application/octet-stream)

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by dasergatskov (Posted a comment)
  • -email is unavailable- added by siko1056 (Posted a comment)
  • -email is unavailable- added by dbl001 (Posted a comment)
  • -email is unavailable- added by mmuetzel (Posted a comment)
  • -email is unavailable- added by davidlaxer (Submitted the item)
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only group members can vote.

     

    Follow 8 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2021-03-05 davidlaxer Attached File- Added configure.out.gz, #51002
    2021-03-05 davidlaxer Attached File- Added config.log.gz, #51000
        Attached File- Added bootstrap.out.gz, #51001
    2021-02-07 mmuetzel StatusNeed Info Invalid / Not an Octave Bug
        Open/ClosedOpen Closed
    2021-02-01 dbl001 Attached File- Added symbols-libspqr, #50819
    2021-02-01 mmuetzel StatusNone Need Info
    2021-01-29 davidlaxer Attached File- Added libnumeric.la, #50805

    Back to the top

    Powered by Savane 3.13-4b48.
    Corresponding source code