Trouble installing the communications package on macOS (Homebrew) [again]

Problem description

Hi all,
i want to install the the communication package using the package installation from octave:
pkg install -forge communications

While the other related packages could be installed as expected i ran into problems with the communications toolbox.

The error is printed out as follows:

error: pkg: error running the configure script for communications.
error: called from
    configure_make at line 93 column 9
    install at line 196 column 7
    pkg at line 568 column 9**

My system

  • OS: macOS Monterey 12.0.1
  • Octave version: Version 6.3.0 (Homebrew)
  • Installation method: Downloaded and installed via command line pkg install -forge communications

Thaks in advance

I hope that you maybe can help me to overcome this issue.

Is this the entire error message?

Please try again with pkg install -forge -verbose communications and show the complete output of that command.
That won’t fix the bug. But it might help tracking down the issue.

Similar issue: Trouble installing the communications package on macOS

On macOS it is also interesting to mention how did you install Octave (Homebrew, etc.).

Hi all,

thank you for your help!
I installed homebrew → hdf5 → Set enviromental variable → installed communication pkg.

Now everythink is working fine!

I’m not sure how .dmg apps install on macOS. But you should have had hdf5 already before installing the homebrew version. Octave itself depends on the hdf5 library.
In fact, it might be working for you now. (Probably because the version of hdf5 used when the Octave app was built happens to be compatible to the one you installed with homebrew.)
But there is no guarantee that it will continue to work correctly when homebrew updates the hdf5 library.

Instead, try setting the environment variables to pick up the libraries that are bundled with the Octave app you are using and re-install the communications package linking to the “correct” libraries.

See also: pkg: error running the configure script for communications · Issue #219 · octave-app/octave-app (github.com)

Edit: Alternatively, use the homebrewed version of Octave.

@Johannes_Meyer Great that you found a solution :+1: To conclude this thread, can you explain in detail the commands you used, especially how and which environment variable was set?

Was it this one?

setenv('CPPFLAGS', '-I/usr/local/opt/hdf5/include')
setenv('LDFLAGS', '-L/usr/local/opt/hdf5/lib')

@mmuetzel Thanks for finding the GitHub bug report. I left a pointer to this thread there.

@siko1056
First, i installed homebrew via terminal according to: Der fehlende Paketmanager für macOS — Homebrew

After that i installed hdf5 with following command in terminal:

brew install hdf5

Then, I followed the thread you mentioned before and set the enviromental variable as you wrote:

setenv('CPPFLAGS', '-I/usr/local/opt/hdf5/include')
setenv('LDFLAGS', '-L/usr/local/opt/hdf5/lib')

After this i installed the package as described by @mmuetzel

pkg install -forge -verbose communications

Now, after loading the pkg everything is working as expected. Thanks again

1 Like

Hi,
When I tried to set the environment variable as mentioned here,
I got the following error:

zsh: unknown file attribute: C

Please suggest if anyone has any insights into this. Im running a Mac OS Monterrey M1 based MacBook Air.

I could replicate the problem. Please read the instructinos above carefully and run those setenv commands from the Octave command-line not from the macOS terminal application.

Thank you so much for the clarification. I tried running those setenv commands in Octave and then installed communications-1.2.3.tar pkg and then run:

pkg install -forge -verbose communications

but the initial error message still persists.
Any tips?

So you sucessfully installed the installed package? Why would you run the installation command again? :thinking:

Please post all entered commands including all output.

I tried to install the package manually through source forge when this command had failed. But to no avail.
Note that I have hdf5 already installed through brew.

Please find the input output log here:

>> setenv('CPPFLAGS', '-I/usr/local/opt/hdf5/include')
>> setenv('LDFLAGS', '-L/usr/local/opt/hdf5/lib')
>> pkg install -forge -verbose communications
mkdir (/var/folders/s7/q2mkmjnx6y36w4lf46p18l180000gn/T/oct-mmfrFM)
untar (/var/folders/s7/q2mkmjnx6y36w4lf46p18l180000gn/T/communications-1.2.3-bqlqZS.tar.gz, /var/folders/s7/q2mkmjnx6y36w4lf46p18l180000gn/T/oct-mmfrFM)
checking for mkoctfile... /Applications/Octave-6.1.0.app/Contents/Resources/usr/Cellar/octave-octave-app@6.1.0/6.1.0/bin/mkoctfile-6.1.0 --verbose
checking for octave... /Applications/Octave-6.1.0.app/Contents/Resources/usr/Cellar/octave-octave-app@6.1.0/6.1.0/bin/octave-6.1.0
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 clang++ -std=gnu++11 accepts -g... yes
checking for a sed that does not truncate output... /Applications/Octave-6.1.0.app/Contents/Resources/usr/bin//gsed
checking   gripe_nonconformant or octave::err_nonconformant... octave::err_nonconformant
checking   gripe_wrong_type_arg or err_wrong_type_arg... err_wrong_type_arg
checking   gripe_square_matrix_required or err_square_matrix_required... err_square_matrix_required
checking   gripe_invalid_conversion or err_invalid_conversion... err_invalid_conversion
checking   gripe_implicit_conversion or warn_implicit_conversion... warn_implicit_conversion
checking   flush_octave_stdout or octave::flush_stdout... octave::flush_stdout
checking   is_complex_type or iscomplex... iscomplex
checking   is_real_type or isreal... isreal
checking   is_numeric_type or isnumeric... isnumeric
checking   is_empty or isempty... isempty
checking   oct_mach_info::float_format or octave::mach_info::float_format... octave::mach_info::float_format
checking how to run the C++ preprocessor... clang++ -std=gnu++11 -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 octave/oct.h usability... yes
checking octave/oct.h presence... yes
checking for octave/oct.h... yes
checking octave/base-lu.h usability... no
checking octave/base-lu.h presence... no
checking for octave/base-lu.h... no
checking octave/lu.h usability... yes
checking octave/lu.h presence... yes
checking for octave/lu.h... yes
checking octave/gripes.h usability... no
checking octave/gripes.h presence... no
checking for octave/gripes.h... no
checking octave/errwarn.h usability... yes
checking octave/errwarn.h presence... yes
checking for octave/errwarn.h... yes
checking octave/ovl.h usability... yes
checking octave/ovl.h presence... yes
checking for octave/ovl.h... yes
checking octave/oct-obj.h usability... no
checking octave/oct-obj.h presence... no
checking for octave/oct-obj.h... no
checking octave/ls-oct-ascii.h usability... no
checking octave/ls-oct-ascii.h presence... no
checking for octave/ls-oct-ascii.h... no
checking octave/ls-oct-text.h usability... yes
checking octave/ls-oct-text.h presence... yes
checking for octave/ls-oct-text.h... yes
checking for octave/oct-obj.h... (cached) no
checking octave/interpreter.h usability... yes
checking octave/interpreter.h presence... yes
checking for octave/interpreter.h... yes
checking for pkg-config... /Applications/Octave-6.1.0.app/Contents/Resources/usr/bin//pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for HDF5... no
checking for H5Fopen in -lhdf5... no
configure: error: hdf5 not found

error: pkg: error running the configure script for communications.
error: called from
    configure_make at line 93 column 9
    install at line 196 column 7
    pkg at line 568 column 9

Please excuse me for discrepancies here, still trying to find my way around here as a beginner (im a bachelors engineering student lol).

Thank you for the logs. Now I can easily conclude you are not using Octave from Hombebrew

brew install octave

but the Octave.App in version 6.1.0 by @apjanke .

Recently there were bugs about installing the communications package using Octave.App:

It seems to have been possible with Octave.App “Octave-6.3.0-beta1.dmg”, so please try to upgrade and (Update: I confused with the control package, no solution for Octave.App as of today :sweat: ) post further issues with Octave.App in the GitHub issue tracker for better support :wink:

Alternatively change to plain Homebrew use the information given in this topic and start Octave from Terminal using

brew install octave
octave --gui
1 Like

Great, thanks again for all prompt support. I was actually scrolling through → pkg: error running the configure script for communications · Issue #219 · octave-app/octave-app · GitHub
and got redirected here. Although, ill try to upgrade and check if anything works out for me :smiley:

Hi! Octave.app maintainer here. Yep, the octave-app repo in GitHub is a good place to report these issues, because building Octave packages that have native extensions on Mac, and especially in the context of Octave.app, is a built of a specialty case.

I’m afraid that Octave.app development is kind of hosed right now, because Octave.app is based on Homebrew, Homebrew has dropped support for macOS 10.14, and Octave.app really wants to support 10.14 (because we want to support a broad range of users, and also really because I’m a 10.14 guy).

No ETA on a fix here; sorry.

1 Like

10.14.6 mojave is my mac os
i have issue for installing pkg communications …
please help , it’s for my lab , please find me a solution, i followed this discussion to to setenv, but i’m getting error

octave:1> setenv(‘CPPFLAGS’, ‘-I/usr/local/opt/hdf5/include’)
octave:2> setenv(‘LDFLAGS’, ‘-L/usr/local/opt/hdf5/lib’)
octave:3> pkg install -forge -verbose communications
error: get_forge_pkg: could not read URL, please verify internet connection
error: called from
get_forge_pkg at line 72 column 7
get_forge_download at line 32 column 14
pkg at line 500 column 31

@rosedp do you use the Octave.app or the Homebrew installation of Octave?

This looks like an internet connection issue rather than bad compiler flags. Can you download the package and install it from a local directory?

mac os Monterey

>> pkg install -forge -verbose  communications
he following dependencies were unsatisfied:
   communications needs signal >= 1.1.3

>> pkg install -forge -verbose  signal
the following dependencies were unsatisfied:
   signal needs control >= 2.4


>> pkg install -forge -verbose  control
error running 'make' for the control package.
error: called from
    configure_make at line 110 column 9
    install at line 196 column 7
    pkg at line 568 column 9

>> pkg install -forge control
error: pkg: error running 'make' for the control package.
error: called from
    configure_make at line 110 column 9
    install at line 196 column 7
    pkg at line 568 column 9

octave downloaded from home-brew

Thanks for the info. In Octave what is the output of

system ("make -v")
system ("gcc -v")

It fails here https://hg.savannah.gnu.org/hgweb/octave/file/fee897477e3b/scripts/pkg/private/configure_make.m#l100

Maybe GNU Make is not installed or findable?