greatspn / SOURCES

Main repository of the GreatSPN framework
GNU General Public License v2.0
42 stars 13 forks source link

linker error in bin/PN2ODE #4

Closed MarkoSchuetz closed 3 years ago

MarkoSchuetz commented 5 years ago

I looked for this error and it seems to be related with object code for yylex being emitted as C++ and not as C. I looked around the code base in an attempt to fix this by declaring yylex() as an extern C function, but maybe that's not the right way to fix it...?

  [LD]   bin/PN2ODE
+ mkdir -p bin/
+ ./contrib/colorg++ -o bin/PN2ODE objects/PN2ODE/WN/SOURCE/SHARED/service.o objects/PN2ODE/WN/SOURCE/SHARED/ealloc.o objects/PN2ODE/WN/SOURCE/SHARED/token.o objects/PN2ODE/WN/SOURCE/SHARED/dimensio.o objects/PN2ODE/WN/SOURCE/SHARED/errors.o objects/PN2ODE/WN/SOLVE/compact.o objects/PN2ODE/WN/SOURCE/SHARED/common.o objects/PN2ODE/WN/SOURCE/SHARED/enabling.o objects/PN2ODE/WN/SOURCE/SHARED/fire.o objects/PN2ODE/WN/SOURCE/SHARED/shared1.o objects/PN2ODE/WN/SOURCE/SHARED/shared2.o objects/PN2ODE/WN/SOURCE/SHARED/outdom.o objects/PN2ODE/WN/SOURCE/SHARED/report.o objects/PN2ODE/WN/SOURCE/SHARED/precheck.o objects/PN2ODE/WN/SOURCE/SHARED/flush.o objects/PN2ODE/WN/SOURCE/SHARED/degree.o objects/PN2ODE/WN/SOURCE/SHARED/mainODE.o objects/PN2ODE/WN/SOURCE/REACHAB/graph_se.o objects/PN2ODE/WN/SOURCE/REACHAB/buildODE.o objects/PN2ODE/WN/SOURCE/REACHAB/general.o objects/PN2ODE/WN/SOURCE/REACHAB/stack.o objects/PN2ODE/WN/SOURCE/REACHAB/convert.o objects/PN2ODE/WN/SOURCE/REACHAB/rg_files.o objects/PN2ODE/WN/SOURCE/REACHAB/rgengwn.o objects/PN2ODE/WN/SOURCE/READNET/read_arc.o objects/PN2ODE/WN/SOURCE/READNET/read_t_c.o objects/PN2ODE/WN/SOURCE/READNET/read_DEF.o objects/PN2ODE/WN/SOURCE/READNET/read_NET.o objects/PN2ODE/WN/SOURCE/READNET/read_PIN.o objects/PN2ODE/WN/SOURCE/READNET/read_t_s.o objects/PN2ODE/WN/SOURCE/READNET/wn_yac.o objects/PN2ODE/WN/TRANSL/wn_grammar.y.o objects/PN2ODE/WN/TRANSL/wn.l.o objects/PN2ODE/ODE-SDE/readingObjectiveFunction.ll.o objects/PN2ODE/ODE-SDE/readingObjectiveFunction.yy.o objects/PN2ODE/ODE-SDE/ObjectiveFunction.o -O2 -lfl
/usr/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/8.2.1/../../../../lib/libfl.so: undefined reference to `yylex'
collect2: error: ld returned 1 exit status
make: *** [Makefile:2396: bin/PN2ODE] Error 1
yanntm commented 5 years ago

Just removing the -lfl flag is fine.

-lfl is only useful if you have not defined yyparse or use the %noyyparse option.

See this commit : https://github.com/yanntm/SOURCES/commit/062c8baae48f0b8d61bfe2c48c3f450a537c3fd7

amparore commented 3 years ago

Thanks for the suggestion. The -lfl has been removed from the project makefile (some times ago). I am closing this issue.