1 votes

Comment construire un fichier source à l'aide de make ?

J'essaie de construire une source à l'aide de make ? C'est la première fois que j'essaie de le faire car il n'y a pas d'autre moyen d'installer le programme. Le contenu du répertoire contenant les sources est affiché aquí .

J'extrais la source d'un fichier casa_1.1b_.zip.

J'ai utilisé un terminal.

Changement de répertoire vers ce dossier à l'aide de cd GA/casa_1.1b et a couru ./configure . Et comme prévu, le message d'erreur suivant est apparu bash: ./configure: No such file or directory . J'ai essayé de décompresser le répertoire à usr/local/src et le fonctionnement ./configure mais j'ai toujours obtenu la même erreur.

Faut-il un fichier configure dans le source avant d'exécuter cette commande ?

Le contenu de MakeFile que vous voyez dans l'image.

Comment puis-je obtenir ce code source ?

J'utilise Ubuntu 14.04. Merci de votre compréhension.

EDIT :

root@pi314:/home/potato_head/GA/casa_1.1b# make
g++ -MM common/utility/PascalTriangle.C -Wredundant-decls -Wall -Werror -g -Icasa -Icommon -Icommon/utility -Iminisat/solver -Iminisat/include -DSEARCH_PROGRESS | sed 's,.*\.o:,common/utility/PascalTriangle.o common/utility/PascalTriangle.d:   ,g' > common/utility/PascalTriangle.d
g++ -MM common/utility/Combinadic.C -Wredundant-decls -Wall -Werror -g -Icasa -Icommon -Icommon/utility -Iminisat/solver -Iminisat/include -DSEARCH_PROGRESS | sed 's,.*\.o:,common/utility/Combinadic.o common/utility/Combinadic.d:   ,g' > common/utility/Combinadic.d
g++ -MM common/utility/CombinadicIterator.C -Wredundant-decls -Wall -Werror -g -Icasa -Icommon -Icommon/utility -Iminisat/solver -Iminisat/include -DSEARCH_PROGRESS | sed 's,.*\.o:,common/utility/CombinadicIterator.o common/utility/CombinadicIterator.d:   ,g' > common/utility/CombinadicIterator.d
g++ -MM minisat/solver/Solver.C -Wredundant-decls -Wall -Werror -g -Icasa -Icommon -Icommon/utility -Iminisat/solver -Iminisat/include -DSEARCH_PROGRESS | sed 's,.*\.o:,minisat/solver/Solver.o minisat/solver/Solver.d:   ,g' > minisat/solver/Solver.d
g++ -MM casa/sat/SAT.C -Wredundant-decls -Wall -Werror -g -Icasa -Icommon -Icommon/utility -Iminisat/solver -Iminisat/include -DSEARCH_PROGRESS | sed 's,.*\.o:,casa/sat/SAT.o casa/sat/SAT.d:  ,g' > casa/sat/SAT.d
g++ -MM casa/io/Usage.C -Wredundant-decls -Wall -Werror -g -Icasa -Icommon -Icommon/utility -Iminisat/solver -Iminisat/include -DSEARCH_PROGRESS | sed 's,.*\.o:,casa/io/Usage.o casa/io/Usage.d:   ,g' > casa/io/Usage.d
g++ -MM casa/io/SpecificationFile.C -Wredundant-decls -Wall -Werror -g -Icasa -Icommon -Icommon/utility -Iminisat/solver -Iminisat/include -DSEARCH_PROGRESS | sed 's,.*\.o:,casa/io/SpecificationFile.o casa/io/SpecificationFile.d:   ,g' > casa/io/SpecificationFile.d
g++ -MM casa/io/ConstraintFile.C -Wredundant-decls -Wall -Werror -g -Icasa -Icommon -Icommon/utility -Iminisat/solver -Iminisat/include -DSEARCH_PROGRESS | sed 's,.*\.o:,casa/io/ConstraintFile.o casa/io/ConstraintFile.d:    ,g' > casa/io/ConstraintFile.d
g++ -MM casa/io/OutputFile.C -Wredundant-decls -Wall -Werror -g -Icasa -Icommon -Icommon/utility -Iminisat/solver -Iminisat/include -DSEARCH_PROGRESS | sed 's,.*\.o:,casa/io/OutputFile.o casa/io/OutputFile.d:    ,g' > casa/io/OutputFile.d
g++ -MM casa/covering/state/CoveringArray.C -Wredundant-decls -Wall -Werror -g -Icasa -Icommon -Icommon/utility -Iminisat/solver -Iminisat/include -DSEARCH_PROGRESS | sed 's,.*\.o:,casa/covering/state/CoveringArray.o casa/covering/state/CoveringArray.d:   ,g' > casa/covering/state/CoveringArray.d
g++ -MM casa/covering/state/CoveringArrayEntry.C -Wredundant-decls -Wall -Werror -g -Icasa -Icommon -Icommon/utility -Iminisat/solver -Iminisat/include -DSEARCH_PROGRESS | sed 's,.*\.o:,casa/covering/state/CoveringArrayEntry.o casa/covering/state/CoveringArrayEntry.d:    ,g' > casa/covering/state/CoveringArrayEntry.d
g++ -MM casa/covering/state/CoveringArrayRow.C -Wredundant-decls -Wall -Werror -g -Icasa -Icommon -Icommon/utility -Iminisat/solver -Iminisat/include -DSEARCH_PROGRESS | sed 's,.*\.o:,casa/covering/state/CoveringArrayRow.o casa/covering/state/CoveringArrayRow.d:  ,g' > casa/covering/state/CoveringArrayRow.d
g++ -MM casa/covering/state/CoveringArraySubRow.C -Wredundant-decls -Wall -Werror -g -Icasa -Icommon -Icommon/utility -Iminisat/solver -Iminisat/include -DSEARCH_PROGRESS | sed 's,.*\.o:,casa/covering/state/CoveringArraySubRow.o casa/covering/state/CoveringArraySubRow.d: ,g' > casa/covering/state/CoveringArraySubRow.d
g++ -MM casa/covering/space/CoveringArraySpace.C -Wredundant-decls -Wall -Werror -g -Icasa -Icommon -Icommon/utility -Iminisat/solver -Iminisat/include -DSEARCH_PROGRESS | sed 's,.*\.o:,casa/covering/space/CoveringArraySpace.o casa/covering/space/CoveringArraySpace.d:    ,g' > casa/covering/space/CoveringArraySpace.d
g++ -MM casa/covering/space/SingleChangeSpace.C -Wredundant-decls -Wall -Werror -g -Icasa -Icommon -Icommon/utility -Iminisat/solver -Iminisat/include -DSEARCH_PROGRESS | sed 's,.*\.o:,casa/covering/space/SingleChangeSpace.o casa/covering/space/SingleChangeSpace.d:   ,g' > casa/covering/space/SingleChangeSpace.d
g++ -MM casa/covering/space/GraftSpace.C -Wredundant-decls -Wall -Werror -g -Icasa -Icommon -Icommon/utility -Iminisat/solver -Iminisat/include -DSEARCH_PROGRESS | sed 's,.*\.o:,casa/covering/space/GraftSpace.o casa/covering/space/GraftSpace.d:    ,g' > casa/covering/space/GraftSpace.d
g++ -MM casa/covering/bookkeeping/Options.C -Wredundant-decls -Wall -Werror -g -Icasa -Icommon -Icommon/utility -Iminisat/solver -Iminisat/include -DSEARCH_PROGRESS | sed 's,.*\.o:,casa/covering/bookkeeping/Options.o casa/covering/bookkeeping/Options.d:   ,g' > casa/covering/bookkeeping/Options.d
g++ -MM casa/annealing/Anneal.C -Wredundant-decls -Wall -Werror -g -Icasa -Icommon -Icommon/utility -Iminisat/solver -Iminisat/include -DSEARCH_PROGRESS | sed 's,.*\.o:,casa/annealing/Anneal.o casa/annealing/Anneal.d:   ,g' > casa/annealing/Anneal.d
g++ -MM casa/annealing/AnnealingSuccess.C -Wredundant-decls -Wall -Werror -g -Icasa -Icommon -Icommon/utility -Iminisat/solver -Iminisat/include -DSEARCH_PROGRESS | sed 's,.*\.o:,casa/annealing/AnnealingSuccess.o casa/annealing/AnnealingSuccess.d: ,g' > casa/annealing/AnnealingSuccess.d
g++ -MM casa/annealing/Bounds.C -Wredundant-decls -Wall -Werror -g -Icasa -Icommon -Icommon/utility -Iminisat/solver -Iminisat/include -DSEARCH_PROGRESS | sed 's,.*\.o:,casa/annealing/Bounds.o casa/annealing/Bounds.d:   ,g' > casa/annealing/Bounds.d
g++ -MM casa/annealing/AnnealingPartitioner.C -Wredundant-decls -Wall -Werror -g -Icasa -Icommon -Icommon/utility -Iminisat/solver -Iminisat/include -DSEARCH_PROGRESS | sed 's,.*\.o:,casa/annealing/AnnealingPartitioner.o casa/annealing/AnnealingPartitioner.d: ,g' > casa/annealing/AnnealingPartitioner.d
g++ -MM casa/algorithms/BinarySearch.C -Wredundant-decls -Wall -Werror -g -Icasa -Icommon -Icommon/utility -Iminisat/solver -Iminisat/include -DSEARCH_PROGRESS | sed 's,.*\.o:,casa/algorithms/BinarySearch.o casa/algorithms/BinarySearch.d:  ,g' > casa/algorithms/BinarySearch.d
g++ -MM casa/Main.C -Wredundant-decls -Wall -Werror -g -Icasa -Icommon -Icommon/utility -Iminisat/solver -Iminisat/include -DSEARCH_PROGRESS | sed 's,.*\.o:,casa/Main.o casa/Main.d:   ,g' > casa/Main.d
sed -e 's/://g' -e 's/[^ ][^ ]*\.d//g' -e 's/[^ ][^ ]*\.o//g' -e 's/[   \\][    \\]*/ /g' common/utility/PascalTriangle.d common/utility/Combinadic.d common/utility/CombinadicIterator.d minisat/solver/Solver.d casa/sat/SAT.d casa/io/Usage.d casa/io/SpecificationFile.d casa/io/ConstraintFile.d casa/io/OutputFile.d casa/covering/state/CoveringArray.d casa/covering/state/CoveringArrayEntry.d casa/covering/state/CoveringArrayRow.d casa/covering/state/CoveringArraySubRow.d casa/covering/space/CoveringArraySpace.d casa/covering/space/SingleChangeSpace.d casa/covering/space/GraftSpace.d casa/covering/bookkeeping/Options.d casa/annealing/Anneal.d casa/annealing/AnnealingSuccess.d casa/annealing/Bounds.d casa/annealing/AnnealingPartitioner.d casa/algorithms/BinarySearch.d casa/Main.d | tr ' ' "\n" | sort | uniq | tr "\n" ' ' | sed 's/^/ALL_INPUTS =/' > Dependencies
g++ -c -o common/utility/PascalTriangle.o common/utility/PascalTriangle.C -Wredundant-decls -Wall -Werror -g -Icasa -Icommon -Icommon/utility -Iminisat/solver -Iminisat/include -DSEARCH_PROGRESS
g++ -c -o common/utility/Combinadic.o common/utility/Combinadic.C -Wredundant-decls -Wall -Werror -g -Icasa -Icommon -Icommon/utility -Iminisat/solver -Iminisat/include -DSEARCH_PROGRESS
g++ -c -o common/utility/CombinadicIterator.o common/utility/CombinadicIterator.C -Wredundant-decls -Wall -Werror -g -Icasa -Icommon -Icommon/utility -Iminisat/solver -Iminisat/include -DSEARCH_PROGRESS
g++ -c -o minisat/solver/Solver.o minisat/solver/Solver.C -Wredundant-decls -Wall -Werror -g -Icasa -Icommon -Icommon/utility -Iminisat/solver -Iminisat/include -DSEARCH_PROGRESS
g++ -c -o casa/sat/SAT.o casa/sat/SAT.C -Wredundant-decls -Wall -Werror -g -Icasa -Icommon -Icommon/utility -Iminisat/solver -Iminisat/include -DSEARCH_PROGRESS
g++ -c -o casa/io/Usage.o casa/io/Usage.C -Wredundant-decls -Wall -Werror -g -Icasa -Icommon -Icommon/utility -Iminisat/solver -Iminisat/include -DSEARCH_PROGRESS
g++ -c -o casa/io/SpecificationFile.o casa/io/SpecificationFile.C -Wredundant-decls -Wall -Werror -g -Icasa -Icommon -Icommon/utility -Iminisat/solver -Iminisat/include -DSEARCH_PROGRESS
g++ -c -o casa/io/ConstraintFile.o casa/io/ConstraintFile.C -Wredundant-decls -Wall -Werror -g -Icasa -Icommon -Icommon/utility -Iminisat/solver -Iminisat/include -DSEARCH_PROGRESS
g++ -c -o casa/io/OutputFile.o casa/io/OutputFile.C -Wredundant-decls -Wall -Werror -g -Icasa -Icommon -Icommon/utility -Iminisat/solver -Iminisat/include -DSEARCH_PROGRESS
g++ -c -o casa/covering/state/CoveringArray.o casa/covering/state/CoveringArray.C -Wredundant-decls -Wall -Werror -g -Icasa -Icommon -Icommon/utility -Iminisat/solver -Iminisat/include -DSEARCH_PROGRESS
g++ -c -o casa/covering/state/CoveringArrayEntry.o casa/covering/state/CoveringArrayEntry.C -Wredundant-decls -Wall -Werror -g -Icasa -Icommon -Icommon/utility -Iminisat/solver -Iminisat/include -DSEARCH_PROGRESS
g++ -c -o casa/covering/state/CoveringArrayRow.o casa/covering/state/CoveringArrayRow.C -Wredundant-decls -Wall -Werror -g -Icasa -Icommon -Icommon/utility -Iminisat/solver -Iminisat/include -DSEARCH_PROGRESS
g++ -c -o casa/covering/state/CoveringArraySubRow.o casa/covering/state/CoveringArraySubRow.C -Wredundant-decls -Wall -Werror -g -Icasa -Icommon -Icommon/utility -Iminisat/solver -Iminisat/include -DSEARCH_PROGRESS
g++ -c -o casa/covering/space/CoveringArraySpace.o casa/covering/space/CoveringArraySpace.C -Wredundant-decls -Wall -Werror -g -Icasa -Icommon -Icommon/utility -Iminisat/solver -Iminisat/include -DSEARCH_PROGRESS
g++ -c -o casa/covering/space/SingleChangeSpace.o casa/covering/space/SingleChangeSpace.C -Wredundant-decls -Wall -Werror -g -Icasa -Icommon -Icommon/utility -Iminisat/solver -Iminisat/include -DSEARCH_PROGRESS
g++ -c -o casa/covering/space/GraftSpace.o casa/covering/space/GraftSpace.C -Wredundant-decls -Wall -Werror -g -Icasa -Icommon -Icommon/utility -Iminisat/solver -Iminisat/include -DSEARCH_PROGRESS
g++ -c -o casa/covering/bookkeeping/Options.o casa/covering/bookkeeping/Options.C -Wredundant-decls -Wall -Werror -g -Icasa -Icommon -Icommon/utility -Iminisat/solver -Iminisat/include -DSEARCH_PROGRESS
g++ -c -o casa/annealing/Anneal.o casa/annealing/Anneal.C -Wredundant-decls -Wall -Werror -g -Icasa -Icommon -Icommon/utility -Iminisat/solver -Iminisat/include -DSEARCH_PROGRESS
g++ -c -o casa/annealing/AnnealingSuccess.o casa/annealing/AnnealingSuccess.C -Wredundant-decls -Wall -Werror -g -Icasa -Icommon -Icommon/utility -Iminisat/solver -Iminisat/include -DSEARCH_PROGRESS
g++ -c -o casa/annealing/Bounds.o casa/annealing/Bounds.C -Wredundant-decls -Wall -Werror -g -Icasa -Icommon -Icommon/utility -Iminisat/solver -Iminisat/include -DSEARCH_PROGRESS
g++ -c -o casa/annealing/AnnealingPartitioner.o casa/annealing/AnnealingPartitioner.C -Wredundant-decls -Wall -Werror -g -Icasa -Icommon -Icommon/utility -Iminisat/solver -Iminisat/include -DSEARCH_PROGRESS
g++ -c -o casa/algorithms/BinarySearch.o casa/algorithms/BinarySearch.C -Wredundant-decls -Wall -Werror -g -Icasa -Icommon -Icommon/utility -Iminisat/solver -Iminisat/include -DSEARCH_PROGRESS
g++ -c -o casa/Main.o casa/Main.C -Wredundant-decls -Wall -Werror -g -Icasa -Icommon -Icommon/utility -Iminisat/solver -Iminisat/include -DSEARCH_PROGRESS
g++ -o casa-1.1b common/utility/PascalTriangle.o common/utility/Combinadic.o common/utility/CombinadicIterator.o minisat/solver/Solver.o casa/sat/SAT.o casa/io/Usage.o casa/io/SpecificationFile.o casa/io/ConstraintFile.o casa/io/OutputFile.o casa/covering/state/CoveringArray.o casa/covering/state/CoveringArrayEntry.o casa/covering/state/CoveringArrayRow.o casa/covering/state/CoveringArraySubRow.o casa/covering/space/CoveringArraySpace.o casa/covering/space/SingleChangeSpace.o casa/covering/space/GraftSpace.o casa/covering/bookkeeping/Options.o casa/annealing/Anneal.o casa/annealing/AnnealingSuccess.o casa/annealing/Bounds.o casa/annealing/AnnealingPartitioner.o casa/algorithms/BinarySearch.o casa/Main.o 
etags casa/algorithms/BinarySearch.C casa/algorithms/BinarySearch.H casa/annealing/Anneal.C casa/annealing/Anneal.H casa/annealing/AnnealingFilter.H casa/annealing/AnnealingPartitioner.C casa/annealing/AnnealingPartitioner.H casa/annealing/AnnealingSuccess.C casa/annealing/AnnealingSuccess.H casa/annealing/Bounds.C casa/annealing/Bounds.H casa/covering/bookkeeping/Coverage.H casa/covering/bookkeeping/Options.C casa/covering/bookkeeping/Options.H casa/covering/cost/CoverageCost.H casa/covering/filter/CoveringArrayAnnealingFilter.H casa/covering/goal/CoverageGoal.H casa/covering/heuristic/CoveringArrayHeuristic.H casa/covering/report/IterationReport.H casa/covering/space/CoveringArraySpace.C casa/covering/space/CoveringArraySpace.H casa/covering/space/GraftSpace.C casa/covering/space/GraftSpace.H casa/covering/space/SingleChangeSpace.C casa/covering/space/SingleChangeSpace.H casa/covering/state/CoveringArray.C casa/covering/state/CoveringArrayEntry.C casa/covering/state/CoveringArray.H casa/covering/state/CoveringArrayRow.C casa/covering/state/CoveringArraySubRow.C casa/events/EventSource.H casa/events/Listener.H casa/io/ConstraintFile.C casa/io/ConstraintFile.H casa/io/OutputFile.C casa/io/OutputFile.H casa/io/SpecificationFile.C casa/io/SpecificationFile.H casa/io/Usage.C casa/io/Usage.H casa/Main.C casa/sat/SAT.C casa/sat/SAT.H casa/search/Filter.H casa/search/Goal.H casa/search/GreedyFilter.H casa/search/Guide.H casa/search/Heuristic.H casa/search/Node.H casa/search/SearchConfiguration.H casa/search/SearchFinish.H casa/search/Search.H casa/search/SearchIteration.H casa/search/StateGuide.H casa/search/StateSpace.H common/posix/getopt.h common/utility/Array.H common/utility/Combinadic.C common/utility/Combinadic.H common/utility/CombinadicIterator.C common/utility/CombinadicIterator.H common/utility/igreater.H common/utility/Lazy.H common/utility/PascalTriangle.C common/utility/PascalTriangle.H common/utility/pless.H common/utility/relation.H common/utility/SubstitutionArray.H minisat/include/Alg.h minisat/include/Heap.h minisat/include/Sort.h minisat/include/Vec.h minisat/solver/Solver.C minisat/solver/Solver.H minisat/solver/SolverTypes.H
root@pi314:/home/potato_head/GA/casa_1.1b#

2voto

Eliah Kagan Points 111731

Je n'ai pas trouvé d'informations sur ce logiciel lors d'une recherche rapide sur le web, et je ne sais donc pas si la méthode d'installation recommandée implique une étape de configuration avant l'exécution du logiciel. make . Si c'est le cas, ./configure n'est pas la solution, car ce fichier n'existe pas. Tous les logiciels construits avec make a une configure script.

Normalement, je recommanderais de consulter le README (ou d'un nom similaire), mais il semble qu'il n'y en ait pas.

Les logiciels livrés avec un fichier makefile sont construits de trois manières différentes :

  • La course à pied ./configure (et après cela, exécuter d'autres commandes, généralement make ). Mais cela ne semble pas s'appliquer ici. Lorsqu'un tel script existe, il génère généralement (ou occasionnellement, personnalise) Makefile .
  • Modification manuelle Makefile . C'est peut-être la manière prévue pour ce logiciel. Makefile existe déjà.
  • En cours d'exécution make . C'est peut-être la manière prévue pour ce logiciel. Makefile semble être écrit de telle manière qu'il construira le logiciel même s'il n'a pas été modifié au préalable. Pour le vérifier, puisque je suis no un expert en syntaxe et en sémantique des fichiers makefile, j'ai sauvegardé son contenu en tant que Makefile dans un répertoire vide et exécutez make . Cela a tenté de lancer des commandes de compilation (qui ont bien sûr échoué parce que je n'avais pas le reste des fichiers), ce qui suggère que votre archive de code source peut être livrée avec un makefile prêt à l'emploi.

En bref, si vous n'avez pas encore essayé de lancer make pourtant, essayez cela.


Il semble que lorsque vous avez exécuté make il n'y a pas eu d'erreur et il a créé un exécutable appelé g++ -o casa-1.1b :

g++ -o casa-1.1b common/utility/PascalTriangle.o common/utility/Combinadic.o common/utility/CombinadicIterator.o minisat/solver/Solver.o casa/sat/SAT.o casa/io/Usage.o casa/io/SpecificationFile.o casa/io/ConstraintFile.o casa/io/OutputFile.o casa/covering/state/CoveringArray.o casa/covering/state/CoveringArrayEntry.o casa/covering/state/CoveringArrayRow.o casa/covering/state/CoveringArraySubRow.o casa/covering/space/CoveringArraySpace.o casa/covering/space/SingleChangeSpace.o casa/covering/space/GraftSpace.o casa/covering/bookkeeping/Options.o casa/annealing/Anneal.o casa/annealing/AnnealingSuccess.o casa/annealing/Bounds.o casa/annealing/AnnealingPartitioner.o casa/algorithms/BinarySearch.o casa/Main.o

Cette commande permet de relier tous les .o (créés en compilant les différents fichiers .c dans l'archive du code source) dans le programme casa-1.1b .

Il semble que ce fichier se trouve dans le même répertoire que celui où vous avez exécuté le programme make , puisque le g++ qui l'a produit semble spécifier des chemins relatifs à ce dossier. Exécution ./casa-1.1b alors que ce répertoire peut fonctionner pour exécuter le programme.

Si c'est le cas, vous pouvez l'exécuter à partir de là ou copier manuellement les fichiers nécessaires pour l'installer. (Cet exécutable peut être le seul fichier à copier, ou il peut y en avoir d'autres).

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X