octave-bug-tracker
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Octave-bug-tracker] [bug #60016] libqhull was deprecated in favor of li


From: Markus Mützel
Subject: [Octave-bug-tracker] [bug #60016] libqhull was deprecated in favor of libqhull_r
Date: Fri, 7 May 2021 14:12:22 -0400 (EDT)
User-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.93 Safari/537.36 Edg/90.0.818.51

Follow-up Comment #23, bug #60016 (project octave):

The macOS runner says the following during configure:

checking for libqhull_r/libqhull_r.h... yes
checking for qh_qhull in -lqhull_r... yes
checking for qh_version in -lqhull_r... yes
checking whether the qhull_r library works... no
configure: WARNING: Qhull library found, but does not seem to work properly. 
This will result in loss of functionality for some geometry functions.  Please
try recompiling the library with -fno-strict-aliasing.


It uses the Homebrew QHull libraries. Afaict, that is version 2020.2.
Is the warning correct? Does it mean the library is built in a way that is
incompatible with how we use it?
IIUC, this is their build rule:
https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/qhull.rb

Could something be wrong in our configure test?
Afaict, the qhT structure isn't initialized in the test. Should we do that to
be on the safe side?

dnl
dnl Check whether Qhull works (does not crash).
dnl
AC_DEFUN([OCTAVE_CHECK_LIB_QHULL_OK], [
  AC_CACHE_CHECK([whether the qhull_r library works],
    [octave_cv_lib_qhull_r_ok],
    [AC_RUN_IFELSE([AC_LANG_PROGRAM([[
        #include <stdio.h>
        #if defined (HAVE_LIBQHULL_R_LIBQHULL_R_H)
        # include <libqhull_r/libqhull_r.h>
        # include <libqhull_r/qset_r.h>
        # include <libqhull_r/geom_r.h>
        # include <libqhull_r/poly_r.h>
        # include <libqhull_r/io_r.h>
        #elif defined (HAVE_LIBQHULL_R_H)
        # include <libqhull_r.h>
        # include <qset_r.h>
        # include <geom_r.h>
        # include <poly_r.h>
        # include <io_r.h>
        #endif
        #if defined (NEED_QHULL_R_VERSION)
          char *qh_version = "version";
        #endif
        ]], [[
        int dim = 2;
        int n = 4;
        coordT points[8] = { -0.5, -0.5, -0.5, 0.5, 0.5, -0.5, 0.5, 0.5 };
        boolT ismalloc = 0;
        qhT context;
        qhT* qh = &context;
        return qh_new_qhull (qh, dim, n, points, ismalloc, "qhull ", 0,
stderr);
      ]])],
      octave_cv_lib_qhull_r_ok=yes,
      octave_cv_lib_qhull_r_ok=no,
      octave_cv_lib_qhull_r_ok=yes)
  ])
  if test $octave_cv_lib_qhull_r_ok = yes; then
    $1
    :
  else
    $2
    :
  fi
])


Or is there something else we should do about that?

I don't have a mac and can't give any more information than what is available
in the logs:
https://github.com/gnu-octave/octave/runs/2529459401


    _______________________________________________________

Reply to this item at:

  <https://savannah.gnu.org/bugs/?60016>

_______________________________________________
  Message sent via Savannah
  https://savannah.gnu.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]