InferLLM icon indicating copy to clipboard operation
InferLLM copied to clipboard

make报错

Open hoyin2013 opened this issue 2 years ago • 3 comments

在centos7.8环境中编译,cmake使用的版本是 : cmake version 3.23.1 ,make过程报错: make版本: GNU Make 3.82 [root@node02 build]# make [ 2%] Building CXX object CMakeFiles/InferLLM.dir/src/core/device.cpp.o In file included from /root/InferLLM-main/src/utils.h:13:0, from /root/InferLLM-main/src/kern/kernel.h:6, from /root/InferLLM-main/src/core/device.h:6, from /root/InferLLM-main/src/core/device.cpp:2: /root/InferLLM-main/src/file.h: In destructor ‘inferllm::InputFile::~InputFile()’: /root/InferLLM-main/src/file.h:42:39: error: ‘munmap’ was not declared in this scope munmap(m_mmap_addr, m_size); ^ make[2]: *** [CMakeFiles/InferLLM.dir/src/core/device.cpp.o] Error 1 make[1]: *** [CMakeFiles/InferLLM.dir/all] Error 2

hoyin2013 avatar Jun 05 '23 09:06 hoyin2013

应该是 mmap 相关 API 的问题

chenqy4933 avatar Jun 06 '23 01:06 chenqy4933

嗯,我呀遇到这个问题了,我的解决办法是在file.h文件中最上面再加入一行 #include <sys.mman.h>就可以了。另外我经过多次尝试最后的软件版本号搭配是:gcc 7.5.0 g++ 7.5.0 cmake 3.26.4 make 4.1, 就可以顺利编译了

lilongxian avatar Jun 07 '23 07:06 lilongxian

我也遇到相同的问题,我的环境是CentOS7,默认yum install gcc g++, 问题原因是gc++编译器版本太低,不支持c++ 11的特性,解决办法是升级版本 CentOS 7升级GCC ,至少到7系列,切换版本之后,要清空build目录,重新cmake,重新make https://blog.csdn.net/b_ingram/article/details/121569398

Mignet avatar Nov 25 '23 17:11 Mignet