计算化学公社

标题: ABCluster 3.3版本编译后Release里为何只有两个文件夹 [打印本页]

作者
Author:
pikachuupup    时间: 2025-6-4 15:48
标题: ABCluster 3.3版本编译后Release里为何只有两个文件夹
本帖最后由 pikachuupup 于 2025-6-22 16:33 编辑

请问各位老师,使用ABCluster Source Code with Environment包编译3.3版本,结束后Release里并未出现可执行文件,而是只有misc和testfiles两个文件夹,接下来应该如何操作呢?
临近结束有个warning,最后有一个报错,请问老师应该如何解决?
warning内容:
  1. src/ForceFieldTersoff.cpp: In member function ‘int abcluster::ForceFieldTersoff::index2up(int, int) const’:
  2. src/ForceFieldTersoff.cpp:246:1: warning: control reaches end of non-void function [-Wreturn-type]
  3. }
  4. ^
复制代码
error内容:
  1. abcinp.cpp:13:10: fatal error: boost/spirit/include/classic.hpp: No such file or directory
  2. #include <boost/spirit/include/classic.hpp>
  3.           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  4. compilation terminated.
  5. make: *** [Makefile:12: ../bin/abcinp] Error 1
  6. ABCluster is built successfully!
复制代码

更新一下解决方法:换成Ubuntu系统后按照二楼老师的方法编译成功了~


作者
Author:
liuyuje714    时间: 2025-6-4 19:10
本帖最后由 liuyuje714 于 2025-6-4 19:15 编辑

我虽然对这个软件用法不懂,但是我编译了一下,有个解决方案。
把atom/misc和isomer/misc文件夹的Makefile都加上boost的相对路径,比如:
  1. $(BINS)/%: $(SRCS)/%.cpp
  2.         $(CXX) $(CXXFLAG) $(CODEINFO) -I../../../third-party/boost_1_78_0
复制代码

主要就是这个-I../../../third-party/boost_1_78_0 这个东西


作者
Author:
pikachuupup    时间: 2025-6-4 20:13
本帖最后由 pikachuupup 于 2025-6-4 20:15 编辑
liuyuje714 发表于 2025-6-4 19:10
我虽然对这个软件用法不懂,但是我编译了一下,有个解决方案。
把atom/misc和isomer/misc文件夹的Makefile ...

请问老师,是直接把atom/misc和isomer/misc文件夹中Makefile的如下

$(BINS)/%: $(SRCS)/%.cpp
$(CXX) $(CXXFLAG) $(CODEINFO) -o $@ $<

改为如下吗?
  1. $(BINS)/%: $(SRCS)/%.cpp
  2. $(CXX) $(CXXFLAG) $(CODEINFO) -I../../../third-party/boost_1_78_0
复制代码
我改完后先./build.sh clean再./build.sh,warning没变,但是最后报错变成了
  1. g++: fatal error: no input files
  2. compilation terminated.
  3. make: *** [Makefile:12: ../bin/abcinp] Error 1
  4. ABCluster is built successfully!
复制代码
希望老师不吝赐教,谢谢老师!



作者
Author:
liuyuje714    时间: 2025-6-4 22:30
pikachuupup 发表于 2025-6-4 20:13
请问老师,是直接把atom/misc和isomer/misc文件夹中Makefile的如下

$(BINS)/%: $(SRCS)/%.cpp

不要删除其他任何东西,直接加-I../../../third-party/boost_1_78_0到-o的前面,用空格隔开就行了。我是因为粘贴以后乱码所以没有写全而已。
作者
Author:
pikachuupup    时间: 2025-6-5 10:49
本帖最后由 pikachuupup 于 2025-6-5 10:54 编辑
liuyuje714 发表于 2025-6-4 22:30
不要删除其他任何东西,直接加-I../../../third-party/boost_1_78_0到-o的前面,用空格隔开就行了。我是 ...

不好意思老师,我重新试了一下,直接添加这个路径到-o前面并用空格隔开,但是最后出现了很多warning,err变成了
  1. g++: error: ../../third-party/xtb-6.5.0/lib/libxtb.a: No such file or directory
  2. g++: error: ../../third-party/xtb-6.5.0/lib/libmctc-lib.a: No such file or directory
  3. make: *** [Makefile:43: bin/geom] Error 1
复制代码
两个Makefile现在都是这个样子,请问老师是我改的不对吗?


作者
Author:
liuyuje714    时间: 2025-6-5 11:55
pikachuupup 发表于 2025-6-5 10:49
不好意思老师,我重新试了一下,直接添加这个路径到-o前面并用空格隔开,但是最后出现了很多warning,err ...

你之前的xtb是不是没有编译成功哦,自行看下abcluster-source-env/third-party/xtb-6.5.0/lib是不是有这个路径和文件
作者
Author:
pikachuupup    时间: 2025-6-5 19:08
本帖最后由 pikachuupup 于 2025-6-22 16:34 编辑
liuyuje714 发表于 2025-6-5 11:55
你之前的xtb是不是没有编译成功哦,自行看下abcluster-source-env/third-party/xtb-6.5.0/lib是不是有这 ...

确实是这样,不知道为什么xtb没有编译成功,我在总的build.sh里删去关于xtb的那一小节跳过xtb编译,但是也不行

已解决:换成Ubuntu系统后按照二楼老师的方法编译成功了~





欢迎光临 计算化学公社 (http://bbs.keinsci.com/) Powered by Discuz! X3.3