Qhull and scripts/geometry

Petr Mikulik mikulik at physics.muni.cz
Sun Oct 12 05:18:27 CDT 2008


Octave requires the Qhull library for the functionality of scripts/geometry
(convhull.m, griddata.m, delaunay.m, voronoi.m, etc.). I have installed it,
compiled Octave, but "make check" fails in the geometry directory. When
trying manually
    x = -3:0.05:3;
    y = abs (sin (x));
    k = convhull (x, y);
then there is a crash.

Finally, when testing the Qhull library by its own executables, for example
by
    rbox c D3 | qconvex s G
then qconvex crashes with Segmentation fault.

Configuration:
    qhull-2003.1.tar.gz
    octave-3.0.3
    OpenSUSE 10.3 with gcc version 4.2.1

Thus there is a problem in qhull. If I download qhull-2003.1-1.src.rpm from
http://admin.math.cmu.edu/linux/pub/SUSE-10.1/software/qhull/, then
"rpmbuild --rebuild " is also producing crashing "qconvex" executable.

However, if I download the binary distribution qhull-2003.1-1.i586.rpm from
http://admin.math.cmu.edu/linux/pub/SUSE-10.1/software/qhull/i586/
and install it via "rpm -i", then "qconvex" works correctly (even on SUSE
10.3) and Octave's tests and demos are working correctly.

Can somebody else reproduce this behaviour?

As the Qhull sources are from 2003, does it mean that newer versions of
compiler revealed a bug in the code? 

Note: file scripts/geometry/README in octave-forge-2006.03.17 writes:
b.) Add the following lines to the Makefile:
    libqhull.so: $(OBJS)
        c++ -shared -Xlinker -soname -Xlinker $@ -o libqhull.so $(OBJS)
c.) Build the shared library
        make libqhull.so
Is this some kind of magic bugfix?

Do qconvex and convhull.m et al. work correctly for somebody?
How to fix qhull-2003.1.tar.gz so that it works after compilation?

---
Petr Mikulik


More information about the Bug-octave mailing list