quadwild icon indicating copy to clipboard operation
quadwild copied to clipboard

Unable to compile quadwild using Gurobi

Open kieganlenihan opened this issue 2 years ago • 3 comments

I followed all of the instructions on the Github, including adjusting my Gurobi path. When I type qmake, the MakeFile gets generated. Then when I type make, I get the error

Makefile:1750: recipe for target 'lp_rlp.o' failed
make: *** [lp_rlp.o] Error 1

Here's an example error block, I don't understand how I would solve this. I am compiling on a linux 64 machine:

../libs/quadretopology/patterns/patterns/lp_solve_5.5/lp_rlp.y:30:26: error: ‘yyscanner’ undeclared (first use in this function); did you mean ‘scanner’?
 #define PARM yyget_extra(yyscanner)
                          ^
../libs/quadretopology/patterns/patterns/lp_solve_5.5/lp_rlp.h:996:20: note: in expansion of macro ‘PARM’
   parse_parm *pp = PARM;
                    ^~~~
../libs/quadretopology/patterns/patterns/lp_solve_5.5/lp_rlp.y:30:26: note: each undeclared identifier is reported only once for each function it appears in
 #define PARM yyget_extra(yyscanner)
                          ^
../libs/quadretopology/patterns/patterns/lp_solve_5.5/lp_rlp.h:996:20: note: in expansion of macro ‘PARM’
   parse_parm *pp = PARM;
                    ^~~~
In file included from ../libs/quadretopology/patterns/patterns/lp_solve_5.5/lp_rlp.y:107:0:
../libs/quadretopology/patterns/patterns/lp_solve_5.5/lp_rlp.h:999:10: error: ‘COMMA’ undeclared (first use in this function); did you mean ‘ECOMM’?
   return(COMMA);
          ^~~~~
          ECOMM

kieganlenihan avatar Mar 24 '22 17:03 kieganlenihan

that is strange. I will discuss with the guy that implemented that part to see if there is some error in some version of the patch retopologizer

nicopietroni avatar Apr 04 '22 04:04 nicopietroni

I followed all of the instructions on the Github, including adjusting my Gurobi path. When I type qmake, the MakeFile gets generated. Then when I type make, I get the error

Makefile:1750: recipe for target 'lp_rlp.o' failed
make: *** [lp_rlp.o] Error 1

Here's an example error block, I don't understand how I would solve this. I am compiling on a linux 64 machine:

../libs/quadretopology/patterns/patterns/lp_solve_5.5/lp_rlp.y:30:26: error: ‘yyscanner’ undeclared (first use in this function); did you mean ‘scanner’?
 #define PARM yyget_extra(yyscanner)
                          ^
../libs/quadretopology/patterns/patterns/lp_solve_5.5/lp_rlp.h:996:20: note: in expansion of macro ‘PARM’
   parse_parm *pp = PARM;
                    ^~~~
../libs/quadretopology/patterns/patterns/lp_solve_5.5/lp_rlp.y:30:26: note: each undeclared identifier is reported only once for each function it appears in
 #define PARM yyget_extra(yyscanner)
                          ^
../libs/quadretopology/patterns/patterns/lp_solve_5.5/lp_rlp.h:996:20: note: in expansion of macro ‘PARM’
   parse_parm *pp = PARM;
                    ^~~~
In file included from ../libs/quadretopology/patterns/patterns/lp_solve_5.5/lp_rlp.y:107:0:
../libs/quadretopology/patterns/patterns/lp_solve_5.5/lp_rlp.h:999:10: error: ‘COMMA’ undeclared (first use in this function); did you mean ‘ECOMM’?
   return(COMMA);
          ^~~~~
          ECOMM

My comilation get stuck with same error with linux. I tried to replace the lpsolve library with the newest version and compile bison2.3 as described in comment of lp_rlp.y, but with no effect. Finally, I compile it with earlier commitments and succeed with commit id d1c5d372d3371dac5a29bb92d468877a69b62aa8. So I suspect that some changes in the new commitment caused the issue.

marston2yu avatar May 16 '22 02:05 marston2yu

Hi. I also faced this issue, and the problem is that lpsolve should be compiled before in order to get the library binaries needed by the project. In my machine, it was enough to launch the compilation of quadwild project (even if compilation errors were issued, it generated the binaries for lpsolve), perform a clean with qtcreator, and relaunch the quadwild build. In case you have problems, try to compile lpsolve separately and, if necessary, change the library path in the corresponding .pri file.

stefanonuvoli avatar May 16 '22 15:05 stefanonuvoli