--disable-link-all-dependencies on macOS

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

--disable-link-all-dependencies on macOS

bpabbott
Administrator
I’ve been using —enable-link-all-dependencies to build on macOS. I don’t recall when this was needed, but with Octave 5.0 it breaks mkoctfile due to OCT_LINK_DEPS = "libinterp/liboctinterp.la liboctave/liboctave.la “ being defined for mkoctfile.

When I switch to --disable-link-all-dependencies, Octave still builds but now mkoctfile has OCT_LINK_DEPS = “”.

Carlo, this should fix the mkoctfile but on macOS correct?

Ben


Reply | Threaded
Open this post in threaded view
|

Re: --disable-link-all-dependencies on macOS

c.-2


> On 31 Dec 2018, at 05:42, Ben Abbott <[hidden email]> wrote:
>
> I’ve been using —enable-link-all-dependencies to build on macOS. I don’t recall when this was needed, but with Octave 5.0 it breaks mkoctfile due to OCT_LINK_DEPS = "libinterp/liboctinterp.la liboctave/liboctave.la “ being defined for mkoctfile.
>
> When I switch to --disable-link-all-dependencies, Octave still builds but now mkoctfile has OCT_LINK_DEPS = “”.
>
> Carlo, this should fix the mkoctfile but on macOS correct?
>
> Ben

Hi Ben,

I think -—enable-link-all-dependencies is needed on macos.

without -—enable-link-all-dependencies mkoctfile.cc has

  vars["OCT_LINK_DEPS"] = get_variable ("OCT_LINK_DEPS",
                                        "");

but the build fails at the linking stage

CXXLD    libinterp/dldfcn/__delaunayn__.la
clang: warning: argument unused during compilation: '-pthread' [-Wunused-command-line-argument]
clang: warning: argument unused during compilation: '-pthread' [-Wunused-command-line-argument]
Undefined symbols for architecture x86_64:
  "print_usage()", referenced from:
      F__delaunayn__(octave_value_list const&, int) in __delaunayn___la-__delaunayn__.o
  "check_version(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)", referenced from:
      _G__delaunayn__ in __delaunayn___la-__delaunayn__.o
  "error(char const*, ...)", referenced from:
      F__delaunayn__(octave_value_list const&, int) in __delaunayn___la-__delaunayn__.o
  "warning(char const*, ...)", referenced from:
      free_qhull_memory() in __delaunayn___la-__delaunayn__.o
  "MatrixType::MatrixType()", referenced from:
      F__delaunayn__(octave_value_list const&, int) in __delaunayn___la-__delaunayn__.o
  "MatrixType::~MatrixType()", referenced from:
      F__delaunayn__(octave_value_list const&, int) in __delaunayn___la-__delaunayn__.o
  "dim_vector::nil_rep()", referenced from:
      F__delaunayn__(octave_value_list const&, int) in __delaunayn___la-__delaunayn__.o
  "octave_value::nil_rep()", referenced from:
      octave_value_list::elem(long long) in __delaunayn___la-__delaunayn__.o
      Array<octave_value>::ArrayRep::ArrayRep(octave_value*, long long) in __delaunayn___la-__delaunayn__.o
  "octave_value::octave_value(Matrix const&, MatrixType const&)", referenced from:
      F__delaunayn__(octave_value_list const&, int) in __delaunayn___la-__delaunayn__.o
  "octave_value::octave_value(RowVector const&)", referenced from:
      F__delaunayn__(octave_value_list const&, int) in __delaunayn___la-__delaunayn__.o
  "octave_value::octave_value(double)", referenced from:
      F__delaunayn__(octave_value_list const&, int) in __delaunayn___la-__delaunayn__.o
  "octave_dld_function::create(octave_value_list (*)(octave_value_list const&, int), octave::dynamic_library const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)", referenced from:
      _G__delaunayn__ in __delaunayn___la-__delaunayn__.o
  "Array<octave_value>::resize(dim_vector const&, octave_value const&)", referenced from:
      octave_value_list::resize(long long, octave_value const&) in __delaunayn___la-__delaunayn__.o
  "Array<octave_value>::nil_rep()", referenced from:
      F__delaunayn__(octave_value_list const&, int) in __delaunayn___la-__delaunayn__.o
  "Array<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::nil_rep()", referenced from:
      F__delaunayn__(octave_value_list const&, int) in __delaunayn___la-__delaunayn__.o
  "Array<double>::fortran_vec()", referenced from:
      F__delaunayn__(octave_value_list const&, int) in __delaunayn___la-__delaunayn__.o
  "dim_vector::safe_numel() const", referenced from:
      Array<double>::Array(dim_vector const&) in __delaunayn___la-__delaunayn__.o
  "dim_vector::redim(int) const", referenced from:
      Array<double>::as_matrix() const in __delaunayn___la-__delaunayn__.o
  "Array<octave_value>::resize_fill_value() const", referenced from:
      vtable for Array<octave_value> in __delaunayn___la-__delaunayn__.o
  "Array<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::resize_fill_value() const", referenced from:
      vtable for string_vector in __delaunayn___la-__delaunayn__.o
      vtable for Array<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > in __delaunayn___la-__delaunayn__.o
  "Array<double>::resize_fill_value() const", referenced from:
      vtable for MArray<double> in __delaunayn___la-__delaunayn__.o
      vtable for Array<double> in __delaunayn___la-__delaunayn__.o
      vtable for Matrix in __delaunayn___la-__delaunayn__.o
      vtable for NDArray in __delaunayn___la-__delaunayn__.o
      vtable for RowVector in __delaunayn___la-__delaunayn__.o
  "Array<double>::transpose() const", referenced from:
      Matrix::transpose() const in __delaunayn___la-__delaunayn__.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [libinterp/dldfcn/__delaunayn__.la] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

c.