Opened 6 years ago

Closed 6 years ago

Last modified 6 years ago

#57419 closed defect (fixed)

octave ports fail: sh: /opt/local/bin/clang++-mp-5.0: No such file or directory

Reported by: ryandesign (Ryan Carsten Schmidt) Owned by: MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc: Schamschula (Marius Schamschula)
Port: octave

Description

octave-audio fails to build:

Executing:  cd "/opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_math_octave-audio/octave-audio/work/audio" && /usr/bin/arch -arch $OCTAVE_ARCH /opt/local/bin/octave-cli -q -f -H --eval 'try; pkg build -verbose -nodeps /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_math_octave-audio/octave-audio/work/tmp-build /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_math_octave-audio/octave-audio/work/audio-1.1.4.tar.gz; catch; disp(lasterror.message); exit(1); end_try_catch;' 
DEBUG: system:  cd "/opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_math_octave-audio/octave-audio/work/audio" && /usr/bin/arch -arch $OCTAVE_ARCH /opt/local/bin/octave-cli -q -f -H --eval 'try; pkg build -verbose -nodeps /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_math_octave-audio/octave-audio/work/tmp-build /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_math_octave-audio/octave-audio/work/audio-1.1.4.tar.gz; catch; disp(lasterror.message); exit(1); end_try_catch;' 
warning: creating build directory /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_math_octave-audio/octave-audio/work/tmp-build
checking for gcc... /usr/bin/clang
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables... 
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether /usr/bin/clang accepts -g... yes
checking for /usr/bin/clang option to accept ISO C89... none needed
checking for mkoctfile... /usr/bin/arch -arch x86_64 /opt/local/bin/mkoctfile-4.4.1 --verbose
/usr/bin/clang++ -c -I/opt/local/include -fPIC -I/opt/local/include/octave-4.4.1/octave/.. -I/opt/local/include/octave-4.4.1/octave -I/opt/local/include  -D_THREAD_SAFE -pthread -pipe -Os -std=c++11 -stdlib=libc++ -arch x86_64    conftest.cc -o conftest.o
/opt/local/bin/clang++-mp-5.0 -std=gnu++11 -I/opt/local/include/octave-4.4.1/octave/.. -I/opt/local/include/octave-4.4.1/octave -I/opt/local/include  -D_THREAD_SAFE -pthread -pipe -Os -std=c++11 -stdlib=libc++ -arch x86_64 -bundle -bundle_loader /opt/local/bin/octave-4.4.1  -o conftest.oct  conftest.o   -L/opt/local/lib/octave/4.4.1 -L/opt/local/lib -loctinterp -loctave  
sh: /opt/local/bin/clang++-mp-5.0: No such file or directory
configure: error: Could not run /usr/bin/arch -arch x86_64 /opt/local/bin/mkoctfile-4.4.1 --verbose

pkg: error running the configure script for audio.

So does octave-msh:

Executing:  cd "/opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_math_octave-msh/octave-msh/work/msh" && /usr/bin/arch -arch $OCTAVE_ARCH /opt/local/bin/octave-cli -q -f -H --eval 'try; pkg build -verbose -nodeps /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_math_octave-msh/octave-msh/work/tmp-build /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_math_octave-msh/octave-msh/work/msh-1.0.10.tar.gz; catch; disp(lasterror.message); exit(1); end_try_catch;' 
DEBUG: system:  cd "/opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_math_octave-msh/octave-msh/work/msh" && /usr/bin/arch -arch $OCTAVE_ARCH /opt/local/bin/octave-cli -q -f -H --eval 'try; pkg build -verbose -nodeps /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_math_octave-msh/octave-msh/work/tmp-build /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_math_octave-msh/octave-msh/work/msh-1.0.10.tar.gz; catch; disp(lasterror.message); exit(1); end_try_catch;' 
warning: creating build directory /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_math_octave-msh/octave-msh/work/tmp-build
checking whether the C++ compiler works... yes
checking for C++ compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C++ compiler... yes
checking whether /usr/bin/clang++ accepts -g... yes
checking for mkoctfile... yes
checking how to run the C++ preprocessor... /usr/bin/clang++ -E
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking dolfin.h usability... no
checking dolfin.h presence... no
checking for dolfin.h... no
configure: WARNING: dolfin headers could not be found, som functionalities will be disabled, don't worry your package will still be working, though.
configure: creating ./config.status
config.status: creating Makefile
CPPFLAGS='-I/opt/local/include ' \
	LDFLAGS='-L/opt/local/lib -Wl,-headerpad_max_install_names -arch x86_64 ' \
	/usr/bin/arch -arch x86_64 /opt/local/bin/mkoctfile-4.4.1 --verbose mshm_refine.cc
/usr/bin/clang++ -c -I/opt/local/include  -fPIC -I/opt/local/include/octave-4.4.1/octave/.. -I/opt/local/include/octave-4.4.1/octave -I/opt/local/include  -D_THREAD_SAFE -pthread -pipe -Os -std=c++11 -stdlib=libc++ -arch x86_64    mshm_refine.cc -o mshm_refine.o
/opt/local/bin/clang++-mp-5.0 -std=gnu++11 -I/opt/local/include/octave-4.4.1/octave/.. -I/opt/local/include/octave-4.4.1/octave -I/opt/local/include  -D_THREAD_SAFE -pthread -pipe -Os -std=c++11 -stdlib=libc++ -arch x86_64 -bundle -bundle_loader /opt/local/bin/octave-4.4.1  -o mshm_refine.oct  mshm_refine.o   -L/opt/local/lib/octave/4.4.1 -L/opt/local/lib -loctinterp -loctave  
sh: /opt/local/bin/clang++-mp-5.0: No such file or directory
make: *** [mshm_refine.oct] Error 127

pkg: error running `make' for the msh package.
Command failed:  cd "/opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_math_octave-msh/octave-msh/work/msh" && /usr/bin/arch -arch $OCTAVE_ARCH /opt/local/bin/octave-cli -q -f -H --eval 'try; pkg build -verbose -nodeps /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_math_octave-msh/octave-msh/work/tmp-build /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_math_octave-msh/octave-msh/work/msh-1.0.10.tar.gz; catch; disp(lasterror.message); exit(1); end_try_catch;' 

As probably do all other octave ports. It looks like the octave-using ports are trying to use the compiler that octave was compiled with (on which they don't declare a dependency, which is why it's not there), so they're not UsingTheRightCompiler. So either we cure octave of the misperception that we want that, or we impose the same compiler restrictions on all ports that use octave as the octave port itself imposes (e.g. the cxx11 1.1 portgroup and any additional blacklisting).

Change History (4)

comment:1 Changed 6 years ago by Schamschula (Marius Schamschula)

Cc: Schamschula added

comment:2 Changed 6 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)

Resolution: fixed
Status: assignedclosed

In 932adfa747b1f3fb9caeebc989a1b3671570321d/macports-ports (master):

octave PG: respect configure.cxx for linking

Fixes #57419

comment:3 Changed 6 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)

Thank you for pointing this out.
So this means that many octave-* ports will have to manually rebuilt on the BuildBot server?

comment:4 Changed 6 years ago by ryandesign (Ryan Carsten Schmidt)

Sure, I can do that. I'm currently in the process of rebuilding all ports, for the benefit of the new Mojave build worker.

Note: See TracTickets for help on using tickets.