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: Stefan Brüns
Subject: [Octave-bug-tracker] [bug #60016] libqhull was deprecated in favor of libqhull_r
Date: Fri, 7 May 2021 12:43:15 -0400 (EDT)
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:88.0) Gecko/20100101 Firefox/88.0

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

[comment #17 comment #17:]
> I rebased the patch to the latest default branch. That needed quite a few
manual changes. (I hope I got those right. See attachment.)
> 
> When I compile with that patch with gcc 10 on Ubuntu 20.10 (libqhull-r8.0
2020.1-2), I see loads of warnings for each time the qhT structure is
initialized:
> 
> ../libinterp/dldfcn/convhulln.cc: In function ‘octave_value_list
Fconvhulln(const octave_value_list&, int)’:
> ../libinterp/dldfcn/convhulln.cc:174:21: warning: missing initializer for
member ‘qhT::ALLOWshort’ [-Wmissing-field-initializers]
>   174 |   qhT context = { 0 };
>       |                     ^
> ../libinterp/dldfcn/convhulln.cc:174:21: warning: missing initializer for
member ‘qhT::ALLOWwarning’ [-Wmissing-field-initializers]
>...
> ../libinterp/dldfcn/convhulln.cc:174:21: warning: missing initializer for
member ‘qhT::CDDinput’ [-Wmissing-field-initializers]
> [...]
> 
> 
> Is it ok to leave all of those member fields uninitialized? Or should we do
something different?

These are *not* unitialized. The fields are initialized to 0, as not explicit
value is given.

See e.g. https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61489

> The tests for convhulln.oct are failing:
> 
> >>>>> processing
/home/osboxes/Documents/Repositories/Octave/octave-1/.build/libinterp/dldfcn/convhulln.cc-tst
> ***** testif HAVE_QHULL
>  cube = [0 0 0;1 0 0;1 1 0;0 1 0;0 0 1;1 0 1;1 1 1;0 1 1];
>  [h, v] = convhulln (cube, "Qt");
>  assert (size (h), [12 3]);
>  h = sortrows (sort (h, 2), [1:3]);
>  assert (h, [1 2 4; 1 2 6; 1 4 8; 1 5 6; 1 5 8; 2 3 4; 2 3 7; 2 6 7; 3 4 7;
4 7 8; 5 6 7; 5 7 8]);
>  assert (v, 1, 10*eps);
>  [h2, v2] = convhulln (cube);  # Test default option = "Qt"
>  assert (size (h2), size (h));
>  h2 = sortrows (sort (h2, 2), [1:3]);
>  assert (h2, h);
>  assert (v2, v, 10*eps);
> !!!!! test failed
>
/home/osboxes/Documents/Repositories/Octave/octave-1/.build/libinterp/dldfcn/convhulln.oct:
failed to load:
/home/osboxes/Documents/Repositories/Octave/octave-1/.build/libinterp/dldfcn/convhulln.oct:
undefined symbol: qh_facet3vertex
> 
> 
> Similar errors about undefined symbols for "test convhull", "test delaunay",
"test delaunayn", "test griddata", "test griddata3", "test griddatan", and
"test voronoi".
> It looks like it might be a little more involved to switch to using
libqhull_r. Some functions seem to no longer exist in the reentrant version of
the library (or they have been renamed?).

Both versions export exactly the same symbols:


$> nm -DC /usr/lib64/libqhull_r.so.8.0 | grep qh_facet3vertex
000000000001f460 T qh_facet3vertex


Its only missing an update in module-files:
https://hg.savannah.gnu.org/hgweb/octave/file/b4906d3eeb63/libinterp/dldfcn/module-files
sed -ie 's/QHULL_/QHULL_R_/g' libinterp/dldfcn/module-files

> @Stefan: When those issues are fixed, would you like to be added to the list
of contributors that appears at the beginning of the manual?

Sure

    _______________________________________________________

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]