Skip to content

octave should have matching compilers availble #201376

Open
@dasergatskov

Description

brew gist-logs <formula> link OR brew config AND brew doctor output

% brew config
HOMEBREW_VERSION: 4.4.12
ORIGIN: https://github.com/Homebrew/brew
HEAD: 3001afe88112c13b5aafdd92e097680897060881
Last commit: 24 hours ago
Branch: stable
Core tap JSON: 16 Dec 15:42 UTC
Core cask tap JSON: 16 Dec 15:42 UTC
HOMEBREW_PREFIX: /opt/homebrew
HOMEBREW_CASK_OPTS: []
HOMEBREW_MAKE_JOBS: 14
Homebrew Ruby: 3.3.6 => /opt/homebrew/Library/Homebrew/vendor/portable-ruby/3.3.6/bin/ruby
CPU: 14-core 64-bit arm_brava
Clang: 16.0.0 build 1600
Git: 2.39.5 => /Applications/Xcode.app/Contents/Developer/usr/bin/git
Curl: 8.7.1 => /usr/bin/curl
macOS: 15.2-arm64
CLT: 16.2.0.0.1.1733547573
Xcode: 16.2
Rosetta 2: false

Verification

  • My brew doctor output says Your system is ready to brew. and am still able to reproduce my issue.
  • I ran brew update and am still able to reproduce my issue.
  • I have resolved all warnings from brew doctor and that did not fix my problem.
  • I searched for recent similar issues at https://github.com/Homebrew/homebrew-core/issues?q=is%3Aissue and found no duplicates.

What were you trying to do (and why)?

For users to be able to install octave packages, the octave should be compiled with the same C/C+++/Fortran compilers
as on their systems. Currently there is a mismatch (at least for darwin24 systems), see e.g.
Homebrew/brew#18943 (comment)

What happened (include all command output)?

octave:1> pkg install -forge -verbose control
downloading tarball(s) from:
- https://packages.octave.org/download/control-4.1.0.tar.gz
mkdir (/var/folders/ds/5xsh6x4914x78jswflyz20c40000gn/T/oct-fvBVdD)
untar (/var/folders/ds/5xsh6x4914x78jswflyz20c40000gn/T/control-4.1.0-JcHsDy.tar.gz, /var/folders/ds/5xsh6x4914x78jswflyz20c40000gn/T/oct-fvBVdD)
checking for mkoctfile... /opt/homebrew/Cellar/octave/9.3.0/bin/mkoctfile-9.3.0 --verbose
checking for octave-config... /opt/homebrew/Cellar/octave/9.3.0/bin/octave-config-9.3.0
...<deleted>...
clang++ -std=gnu++17 -c  -fPIC -I/opt/homebrew/Cellar/octave/9.3.0/include/octave-9.3.0/octave/.. -I/opt/homebrew/Cellar/octave/9.3.0/include/octave-9.3.0/octave -I/opt/homebrew/Cellar/octave/9.3.0/include  -pthread -g -O2  -Wall -Wno-deprecated-declarations   common.cc -o /var/folders/ds/5xsh6x4914x78jswflyz20c40000gn/T//oct-DD7Qiz.o
clang++ -std=gnu++17 -I/opt/homebrew/Cellar/octave/9.3.0/include/octave-9.3.0/octave/.. -I/opt/homebrew/Cellar/octave/9.3.0/include/octave-9.3.0/octave -I/opt/homebrew/Cellar/octave/9.3.0/include  -pthread -g -O2  -Wall -Wno-deprecated-declarations -o __control_slicot_functions__.oct  /var/folders/ds/5xsh6x4914x78jswflyz20c40000gn/T//oct-pYUwFC.o /var/folders/ds/5xsh6x4914x78jswflyz20c40000gn/T//oct-DD7Qiz.o  slicotlibrary.a  -bundle -undefined dynamic_lookup -bind_at_load -bundle_loader /opt/homebrew/Cellar/octave/9.3.0/bin/octave-9.3.0 -L/opt/homebrew/Cellar/octave/9.3.0/lib/octave/9.3.0 -L/opt/homebrew/Cellar/octave/9.3.0/lib -bundle -undefined dynamic_lookup -bind_at_load -bundle_loader /opt/homebrew/Cellar/octave/9.3.0/bin/octave-9.3.0  -L/opt/homebrew/opt/openblas/lib -lopenblas  -L/opt/homebrew/opt/gcc/bin/../lib/gcc/current/gcc/aarch64-apple-darwin23/14 -L/opt/homebrew/opt/gcc/bin/../lib/gcc/current/gcc -L/opt/homebrew/opt/gcc/bin/../lib/gcc/current/gcc/aarch64-apple-darwin23/14/../../.. -lemutls_w -lheapt_w -lgfortran -lquadmath   -loctinterp -loctave
ld: warning: duplicate -bundle_loader option, '/opt/homebrew/Cellar/octave/9.3.0/bin/octave-9.3.0' ignored
ld: warning: search path '/opt/homebrew/opt/gcc/bin/../lib/gcc/current/gcc/aarch64-apple-darwin23/14' not found
ld: warning: search path '/opt/homebrew/opt/gcc/bin/../lib/gcc/current/gcc/aarch64-apple-darwin23/14/../../..' not found
ld: library 'emutls_w' not found
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [__control_slicot_functions__.oct] Error 1

error: pkg: error running 'make' for the control package
error: called from
    configure_make at line 117 column 9
    install at line 202 column 7
    pkg at line 619 column 9
octave:2> 

What did you expect to happen?

With self-compiled octave binary on the same system, it works fine:

clang++ -std=gnu++17 -I/usr/local/include/octave-10.0.0/octave/.. -I/usr/local/include/octave-10.0.0/octave -I/usr/local/include  -pthread -ggdb3 -O2 -march=native -mcpu=native -flto=thin  -Wall -Wno-deprecated-declarations -o __control_slicot_functions__.oct  /var/folders/ds/5xsh6x4914x78jswflyz20c40000gn/T//oct-wQ6p9k.o /var/folders/ds/5xsh6x4914x78jswflyz20c40000gn/T//oct-zBcofN.o  slicotlibrary.a  -bundle -undefined dynamic_lookup -bind_at_load  -L/usr/local/lib -bundle -undefined dynamic_lookup -bind_at_load  -L/opt/homebrew/opt/openblas/lib -lopenblas  -L/opt/homebrew/lib -L/opt/homebrew/Cellar/gcc/14.2.0_1/bin/../lib/gcc/current/gcc/aarch64-apple-darwin24/14 -L/opt/homebrew/Cellar/gcc/14.2.0_1/bin/../lib/gcc/current/gcc -L/opt/homebrew/Cellar/gcc/14.2.0_1/bin/../lib/gcc/current/gcc/aarch64-apple-darwin24/14/../../.. -lemutls_w -lheapt_w -lgfortran -lquadmath  -L/opt/homebrew/lib -bundle_loader /usr/local/bin/octave-10.0.0
copyfile /var/folders/ds/5xsh6x4914x78jswflyz20c40000gn/T/oct-rC69gC/control-4.1.0/src/__control_helper_functions__.oct /var/folders/ds/5xsh6x4914x78jswflyz20c40000gn/T/oct-rC69gC/control-4.1.0/src/__control_slicot_functions__.oct /var/folders/ds/5xsh6x4914x78jswflyz20c40000gn/T/oct-rC69gC/control-4.1.0/inst/aarch64-apple-darwin24.1.0-api-v59
The control package was installed into the directory
/Users/dmitri/.local/share/octave/api-v59/packages/control-4.1.0.

Step-by-step reproduction instructions (by running brew commands)

see above

Metadata

Assignees

No one assigned

    Labels

    15Sequoia is specifically affected15-arm64Sequoia arm64 is specifically affectedbugReproducible Homebrew/homebrew-core bughelp wantedTask(s) needing PRs from the community or maintainers

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions