チケット #32650

Makefile_GNU depend target calls main Makefile

登録: 2013-12-22 23:14 最終更新: 2013-12-25 17:36

報告者:
担当者:
チケットの種類:
状況:
完了
コンポーネント:
(未割り当て)
マイルストーン:
優先度:
5 - 中
重要度:
5 - 中
解決法:
修正済み
ファイル:
なし

詳細

The depend target in src/Makefile_GNU has been reworked since 0.2.0, probably to make sure it is always run. However, it is now setup to run "make depend", and at least sometimes t first runs depend, then removes the file and creates it again, this time calling the "regular" src/Makefile, which specifies "mpiicpc" as CC, so it fails:

(cd src; make -f Makefile_GNU depend)
make[2]: Entering directory `/«PKGBUILDDIR»/src'
g++ -MM base/Enums.cpp                   base/PrintController.cpp base/MolDSException.cpp                                     base/MallocerFreer.cpp              mpi/MpiProcess.cpp mpi/AsyncCommunicator.cpp wrappers/Blas.cpp wrappers/Lapack.cpp base/Utilities.cpp base/MathUtilities.cpp base/EularAngle.cpp base/Parameters.cpp base/atoms/Atom.cpp base/atoms/Hatom.cpp base/atoms/Liatom.cpp base/atoms/Catom.cpp base/atoms/Natom.cpp base/atoms/Oatom.cpp base/atoms/Satom.cpp base/atoms/mm/EnvironmentalPointCharge.cpp base/factories/AtomFactory.cpp base/Molecule.cpp base/InputParser.cpp base/GTOExpansionSTO.cpp base/RealSphericalHarmonicsIndex.cpp base/loggers/MOLogger.cpp base/loggers/DensityLogger.cpp base/loggers/HoleDensityLogger.cpp base/loggers/ParticleDensityLogger.cpp                            cndo/Cndo2.cpp                                    indo/Indo.cpp zindo/ZindoS.cpp mndo/Mndo.cpp am1/Am1.cpp am1/Am1D.cpp pm3/Pm3.cpp pm3/Pm3D.cpp pm3/Pm3Pddg.cpp base/factories/ElectronicStructureFactory.cpp md/MD.cpp mc/MC.cpp rpmd/RPMD.cpp nasco/NASCO.cpp optimization/Optimizer.cpp optimization/ConjugateGradient.cpp optimization/SteepestDescent.cpp optimization/BFGS.cpp optimization/GEDIIS.cpp base/factories/OptimizerFactory.cpp  base/MolDS.cpp     Main.cpp -I/usr//include/ -I/usr/lib/openblas-base//include/ | sed 's/^\([^ ]\)/obj\/\1/g' | sed 's/\($*\)\.o[ :]*/\1.o : /g'  > obj/objfile.dep
make[2]: Leaving directory `/«PKGBUILDDIR»/src'
make[2]: Entering directory `/«PKGBUILDDIR»/src'
rm obj/objfile.dep
make obj/objfile.dep
make[3]: Entering directory `/«PKGBUILDDIR»/src'
mpiicpc -MM base/Enums.cpp                   base/PrintController.cpp base/MolDSException.cpp                                     base/MallocerFreer.cpp              mpi/MpiProcess.cpp mpi/AsyncCommunicator.cpp wrappers/Blas.cpp wrappers/Lapack.cpp base/Utilities.cpp base/MathUtilities.cpp base/EularAngle.cpp base/Parameters.cpp base/RealSphericalHarmonicsIndex.cpp base/atoms/Atom.cpp base/atoms/Hatom.cpp base/atoms/Liatom.cpp base/atoms/Catom.cpp base/atoms/Natom.cpp base/atoms/Oatom.cpp base/atoms/Satom.cpp base/atoms/mm/EnvironmentalPointCharge.cpp base/factories/AtomFactory.cpp base/Molecule.cpp base/InputParser.cpp base/GTOExpansionSTO.cpp base/loggers/MOLogger.cpp base/loggers/DensityLogger.cpp base/loggers/HoleDensityLogger.cpp base/loggers/ParticleDensityLogger.cpp                            cndo/Cndo2.cpp                                    indo/Indo.cpp zindo/ZindoS.cpp mndo/Mndo.cpp am1/Am1.cpp am1/Am1D.cpp pm3/Pm3.cpp pm3/Pm3D.cpp pm3/Pm3Pddg.cpp base/factories/ElectronicStructureFactory.cpp md/MD.cpp mc/MC.cpp rpmd/RPMD.cpp nasco/NASCO.cpp optimization/Optimizer.cpp optimization/ConjugateGradient.cpp optimization/SteepestDescent.cpp optimization/BFGS.cpp optimization/GEDIIS.cpp base/factories/OptimizerFactory.cpp  base/MolDS.cpp     Main.cpp -I/usr/local/boost//include/ | sed 's/^\([^ ]\)/obj\/\1/g' | sed 's/\($*\)\.o[ :]*/\1.o : /g' > obj/objfile.dep
/bin/sh: 1: mpiicpc: not found
make[3]: Leaving directory `/«PKGBUILDDIR»/src'

Running regular make then fails like this:

(cd src; make -f Makefile_GNU)
make[2]: Entering directory `/«PKGBUILDDIR»/src'
g++ -I/usr//include/ -I/usr/lib/openblas-base//include/ -o obj/Enums.o  -g -Wall -fopenmp -O2 -fopenmp -c
g++: fatal error: no input files
compilation terminated.
make[2]: *** [obj/Enums.o] Error 4

This is unfortunately not very well reproducible, but it should be made more robust I think

チケットの履歴 (7 件中 3 件表示)

2013-12-22 23:14 更新者: mbanck
  • 新しいチケット "Makefile_GNU depend target calls main Makefile" が作成されました
2013-12-23 07:22 更新者: mbanck
コメント

I think the problem happens when one runs "make depend" explicitly, rather than implicitly via "make". I have now removed this explicit "make depend" command, and then I no longer see this bug.

Nevertheless, I believe this could be made more robust.

2013-12-23 09:54 更新者: mikiya_fujii
  • 担当者(未割り当て) から mikiya_fujii に更新されました
  • マイルストーン(未割り当て) から ver0.3.1 (完了済み) に更新されました
2013-12-23 09:57 更新者: mikiya_fujii
コメント

Thanks mbanck! I could reproduce this.

>I think the problem happens when one runs "make depend" explicitly

YES. "make depend" was changed to be called implicity. Users usulally can build with "make -f Makefile_GNU" only. Anyway, This will be fixed by 0.3.1 to make molds be more robust and to keep compatibility with 0.2.0.

2013-12-25 15:58 更新者: mikiya_fujii
  • 解決法なし から 修正済み に更新されました
  • 状況オープン から 完了 に更新されました
  • チケット完了時刻2013-12-25 15:58 に更新されました
コメント

fixed at r1591

2013-12-25 17:17 更新者: mikiya_fujii
コメント

merged to trunk at r1598

2013-12-25 17:36 更新者: mikiya_fujii
コメント

merged to fx10 at r1599 and Makefile_FX10 is also modified at r1600

添付ファイルリスト

添付ファイルはありません

編集

このチケットにコメントを追加するには、ログインが必要です » ログインする