Je souhaite installer les liaisons au solveur Minisat pour les problèmes de satisfiabilité disponibles here sur Hackage.Spécifier les drapeaux du compilateur gcc lors du téléchargement des liaisons Haskell à une bibliothèque c depuis Hackage
Quand j'ai essayé de faire cabal install minisat-solver
à la ligne de commande sur un serveur Linux station de travail, je me suis la sortie suivante
[email protected]: $ cabal install minisat-solver
Resolving dependencies...
Configuring minisat-solver-0.1...
Building minisat-solver-0.1...
Failed to install minisat-solver-0.1
Build log (/home/gaurish/.cabal/logs/minisat-solver-0.1.log):
cabal: Entering directory '/tmp/cabal-tmp-6317/minisat-solver-0.1'
Configuring minisat-solver-0.1...
Building minisat-solver-0.1...
Preprocessing library minisat-solver-0.1...
[1 of 7] Compiling SAT.MiniSat.Literals (SAT/MiniSat/Literals.hs, dist/build/SAT/MiniSat/Literals.o)
[2 of 7] Compiling SAT.MiniSat.LowLevel (SAT/MiniSat/LowLevel.hs, dist/build/SAT/MiniSat/LowLevel.o)
[3 of 7] Compiling SAT.MiniSat.Monadic (SAT/MiniSat/Monadic.hs, dist/build/SAT/MiniSat/Monadic.o)
[4 of 7] Compiling SAT.MiniSat.Functional (SAT/MiniSat/Functional.hs, dist/build/SAT/MiniSat/Functional.o)
[5 of 7] Compiling SAT.MiniSat.Variable (SAT/MiniSat/Variable.hs, dist/build/SAT/MiniSat/Variable.o)
[6 of 7] Compiling SAT.MiniSat.Formula (SAT/MiniSat/Formula.hs, dist/build/SAT/MiniSat/Formula.o)
[7 of 7] Compiling SAT.MiniSat (SAT/MiniSat.hs, dist/build/SAT/MiniSat.o)
c-sources/solver.c: In function ‘solver_simplification’:
c-sources/solver.c:901:3:
error: ‘for’ loop initial declarations are only allowed in C99 mode
for (int i = solver_dlevel(s); i >= 0; i--) {
^
c-sources/solver.c:901:3:
note: use option -std=c99 or -std=gnu99 to compile your code
c-sources/solver.c:907:3:
error: ‘for’ loop initial declarations are only allowed in C99 mode
for (int c = s->qtail - 1; c >= 0; c--) {
^
Il est clair que, je dois dire cabale de dire gcc d'utiliser le mode ansi-C99 en compiler les C-sources intégrées. en d'autres termes, passer -std = c99 au compilateur gcc.
Comment faire cela?