Parcellfun fails in parallel package in octave 7.1.0 at run-time

Thank you for writing us about your problem with using :octave: GNU Octave. To help us help you, please answer the following questions, if applicable.

Problem description

  • Parcellfun in parallel fails at run-time, also gives warning at install time

  • How can I replicate the Octave problem?

Upon installing parallel in octave using

> pkg install -forge parallel 
configure: WARNING: TLS disabled since gnutls/gnutls.h not found or not compilable

configure: WARNING: No working fork(), no uname(), or no error.h found. On such platforms, notably Windows and macOS, the remote Octave server will not be built. The functions for accessing a remote Octave server are not affected by this and may still be built, as well as the functions for local parallel execution.

gnulib-wrappers.c:431:1: warning: non-void function does not return a value [-Wreturn-type]

}

^

1 warning generated.

ld: warning: dylib (/opt/homebrew/Cellar/octave/7.1.0_1/bin/octave-7.1.0) was built for newer macOS version (12.0) than being linked (11.3)

ld: warning: dylib (/opt/homebrew/Cellar/octave/7.1.0_1/bin/octave-7.1.0) was built for newer macOS version (12.0) than being linked (11.3)

ld: warning: dylib (/opt/homebrew/Cellar/octave/7.1.0_1/bin/octave-7.1.0) was built for newer macOS version (12.0) than being linked (11.3)

ld: warning: dylib (/opt/homebrew/Cellar/octave/7.1.0_1/bin/octave-7.1.0) was built for newer macOS version (12.0) than being linked (11.3)

ld: warning: dylib (/opt/homebrew/Cellar/octave/7.1.0_1/bin/octave-7.1.0) was built for newer macOS version (12.0) than being linked (11.3)

ld: warning: dylib (/opt/homebrew/Cellar/octave/7.1.0_1/bin/octave-7.1.0) was built for newer macOS version (12.0) than being linked (11.3)

ld: warning: dylib (/opt/homebrew/Cellar/octave/7.1.0_1/lib/octave/7.1.0/liboctinterp.dylib) was built for newer macOS version (12.0) than being linked (11.3)

ld: warning: dylib (/opt/homebrew/Cellar/octave/7.1.0_1/lib/octave/7.1.0/liboctave.dylib) was built for newer macOS version (12.0) than being linked (11.3)

ld: warning: dylib (/opt/homebrew/Cellar/octave/7.1.0_1/lib/octave/7.1.0/liboctinterp.dylib) was built for newer macOS version (12.0) than being linked (11.3)

ld: warning: dylib (/opt/homebrew/Cellar/octave/7.1.0_1/lib/octave/7.1.0/liboctave.dylib) was built for newer macOS version (12.0) than being linked (11.3)

ld: warning: dylib (/opt/homebrew/Cellar/octave/7.1.0_1/bin/octave-7.1.0) was built for newer macOS version (12.0) than being linked (11.3)

ld: warning: dylib (/opt/homebrew/Cellar/octave/7.1.0_1/bin/octave-7.1.0) was built for newer macOS version (12.0) than being linked (11.3)

ld: warning: dylib (/opt/homebrew/Cellar/octave/7.1.0_1/bin/octave-7.1.0) was built for newer macOS version (12.0) than being linked (11.3)

ld: warning: dylib (/opt/homebrew/Cellar/octave/7.1.0_1/lib/octave/7.1.0/liboctinterp.dylib) was built for newer macOS version (12.0) than being linked (11.3)

ld: warning: dylib (/opt/homebrew/Cellar/octave/7.1.0_1/lib/octave/7.1.0/liboctave.dylib) was built for newer macOS version (12.0) than being linked (11.3)

ld: warning: dylib (/opt/homebrew/Cellar/octave/7.1.0_1/bin/octave-7.1.0) was built for newer macOS version (12.0) than being linked (11.3)

ld: warning: dylib (/opt/homebrew/Cellar/octave/7.1.0_1/bin/octave-7.1.0) was built for newer macOS version (12.0) than being linked (11.3)

ld: warning: dylib (/opt/homebrew/Cellar/octave/7.1.0_1/bin/octave-7.1.0) was built for newer macOS version (12.0) than being linked (11.3)

ld: warning: dylib (/opt/homebrew/Cellar/octave/7.1.0_1/lib/octave/7.1.0/liboctinterp.dylib) was built for newer macOS version (12.0) than being linked (11.3)

ld: warning: dylib (/opt/homebrew/Cellar/octave/7.1.0_1/lib/octave/7.1.0/liboctave.dylib) was built for newer macOS version (12.0) than being linked (11.3)

ld: warning: dylib (/opt/homebrew/Cellar/octave/7.1.0_1/bin/octave-7.1.0) was built for newer macOS version (12.0) than being linked (11.3)

ld: warning: dylib (/opt/homebrew/Cellar/octave/7.1.0_1/bin/octave-7.1.0) was built for newer macOS version (12.0) than being linked (11.3)

ld: warning: dylib (/opt/homebrew/Cellar/octave/7.1.0_1/bin/octave-7.1.0) was built for newer macOS version (12.0) than being linked (11.3)

ld: warning: dylib (/opt/homebrew/Cellar/octave/7.1.0_1/lib/octave/7.1.0/liboctinterp.dylib) was built for newer macOS version (12.0) than being linked (11.3)

ld: warning: dylib (/opt/homebrew/Cellar/octave/7.1.0_1/lib/octave/7.1.0/liboctave.dylib) was built for newer macOS version (12.0) than being linked (11.3)

ld: warning: dylib (/opt/homebrew/Cellar/octave/7.1.0_1/bin/octave-7.1.0) was built for newer macOS version (12.0) than being linked (11.3)

ld: warning: dylib (/opt/homebrew/Cellar/octave/7.1.0_1/bin/octave-7.1.0) was built for newer macOS version (12.0) than being linked (11.3)

ld: warning: dylib (/opt/homebrew/Cellar/octave/7.1.0_1/bin/octave-7.1.0) was built for newer macOS version (12.0) than being linked (11.3)

ld: warning: dylib (/opt/homebrew/Cellar/octave/7.1.0_1/lib/octave/7.1.0/liboctinterp.dylib) was built for newer macOS version (12.0) than being linked (11.3)

ld: warning: dylib (/opt/homebrew/Cellar/octave/7.1.0_1/lib/octave/7.1.0/liboctave.dylib) was built for newer macOS version (12.0) than being linked (11.3)

ld: warning: dylib (/opt/homebrew/Cellar/octave/7.1.0_1/bin/octave-7.1.0) was built for newer macOS version (12.0) than being linked (11.3)

ld: warning: dylib (/opt/homebrew/Cellar/octave/7.1.0_1/bin/octave-7.1.0) was built for newer macOS version (12.0) than being linked (11.3)

ld: warning: dylib (/opt/homebrew/Cellar/octave/7.1.0_1/bin/octave-7.1.0) was built for newer macOS version (12.0) than being linked (11.3)

ld: warning: dylib (/opt/homebrew/Cellar/octave/7.1.0_1/lib/octave/7.1.0/liboctave.dylib) was built for newer macOS version (12.0) than being linked (11.3)

ld: warning: dylib (/opt/homebrew/Cellar/octave/7.1.0_1/lib/octave/7.1.0/liboctinterp.dylib) was built for newer macOS version (12.0) than being linked (11.3)

For information about changes from previous versions of the parallel package, run 'news parallel'

octave:9> pkg load parallel
octave:10> fun = @(x) x^2;

vector_x = 1:10;

vector_y = pararrayfun(nproc, fun, vector_x)
error: /Users/sunilshah/octave-arm6/parallel-4.0.1/aarch64-apple-darwin21.3.0-api-v57/__parcellfun_interface__.oct: failed to load
Incompatible version or missing dependency?
dlopen(/Users/sunilshah/octave-arm6/parallel-4.0.1/aarch64-apple-darwin21.3.0-api-v57/__parcellfun_interface__.oct, 0x000A): symbol not found in flat namespace '_num_processors'
error: called from
   parcellfun at line 117 column 9
   pararrayfun at line 85 column 28




  • I there any code that causes the error? Please give [a good example]

See above. missing symbol /__parcellfun_interface__.oct, 0x000A): symbol not found in flat namespace '_num_processors'

warnings for incompatible library hav been in earlier versions but did not cause run-time errors.

(How to create a Minimal, Reproducible Example - Help Center - Stack Overflow).

  • What did I expect to happen and what did happen?
    This example above is standard example on octave wiki for using parallel package. This used to run fine in previous version of homebrew octave (6.4.0),

My system

  • OS: Mac OS 12.3.1 running on M1 native mode terminal
  • Octave version: 7.1.0 (homebrew 7.1.0_3)
  • parallel package 4.0.1
  • Installation method: brew install octave