algebraic-solving / msolve

Library for Polynomial System Solving through Algebraic Methods
https://msolve.lip6.fr
GNU General Public License v2.0
84 stars 21 forks source link

Header files installed twice #115

Closed d-torrance closed 6 months ago

d-torrance commented 6 months ago

After installing msolve 0.6.3, I noticed that msolve.h and msolve-data.h were installed in two distinct locations:

$ ls -R /usr/include/msolve
/usr/include/msolve:
msolve  msolve-data.h  msolve.h  neogb

/usr/include/msolve/msolve:
msolve-data.h  msolve.h

/usr/include/msolve/neogb:
basis.h  engine.h  f4sat.h  io.h        meta_data.h  nf.h   sort_r.h  update.h
data.h   f4.h      hash.h   libneogb.h  modular.h    sba.h  tools.h

I believe the ones in /usr/include/msolve are coming from nobase_include_HEADERS in include/Makefile.am and the ones in /usr/include/msolve/msolve are coming from libmsolve_la_HEADERS in src/msolve/Makefile.am.

Also, the headers in /usr/include/msolve don't work, since they're looking for the neogb headers in the wrong place. Suppose I try compiling this simple program:

#include <msolve/msolve.h>

int main(void)
{
  return 0;
}

Then I get the following:

In file included from /usr/include/msolve/msolve.h:24,
                 from foo.c:1:
/usr/include/msolve/msolve-data.h:25:10: fatal error: ../neogb/data.h: No such file or directory
   25 | #include "../neogb/data.h"
      |          ^~~~~~~~~~~~~~~~~
compilation terminated.
ederc commented 6 months ago

Fixed via #116.