Skip to content

Compile bug: Failed to compile on centos8 system #12092

@hbuxiaofei

Description

@hbuxiaofei

Git commit

# git rev-parse HEAD
b95c8af37ccf169b0a3216b7ed691af0534e5091

Operating systems

Linux

GGML backends

CPU

Problem description & steps to reproduce

OS info :

# cat /etc/os-release 
NAME="CentOS Linux"
VERSION="8"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="8"
PLATFORM_ID="platform:el8"
PRETTY_NAME="CentOS Linux 8"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:8"
HOME_URL="https://centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"
CENTOS_MANTISBT_PROJECT="CentOS-8"
CENTOS_MANTISBT_PROJECT_VERSION="8"

Compiler version :

# cmake --version
cmake version 3.20.2

CMake suite maintained and supported by Kitware (kitware.com/cmake).

# g++ --version
g++ (GCC) 8.5.0 20210514 (Red Hat 8.5.0-4)
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

When I execute these steps, I get an error :

# mkdir build && cd build 
# cmake .. &&  make -j $(nproc)

[ 14%] Building CXX object src/CMakeFiles/llama.dir/llama-adapter.cpp.o
[ 14%] Linking CXX executable ../../bin/llama-gguf
../../bin/libggml.so: undefined reference to `vtable for std::filesystem::__cxx11::filesystem_error'
../../bin/libggml.so: undefined reference to `std::filesystem::__cxx11::directory_iterator::operator*() const'
../../bin/libggml.so: undefined reference to `typeinfo for std::filesystem::__cxx11::filesystem_error'
../../bin/libggml.so: undefined reference to `std::filesystem::__cxx11::path::_M_find_extension() const'
../../bin/libggml.so: undefined reference to `std::filesystem::__cxx11::filesystem_error::~filesystem_error()'
../../bin/libggml.so: undefined reference to `std::filesystem::status(std::filesystem::__cxx11::path const&)'
../../bin/libggml.so: undefined reference to `std::filesystem::__cxx11::path::_M_split_cmpts()'
../../bin/libggml.so: undefined reference to `std::filesystem::__cxx11::directory_iterator::operator++()'
../../bin/libggml.so: undefined reference to `std::filesystem::__cxx11::directory_iterator::directory_iterator(std::filesystem::__cxx11::path const&, std::filesystem::directory_options, std::error_code*)'
../../bin/libggml.so: undefined reference to `std::filesystem::__cxx11::filesystem_error::_M_gen_what()'
collect2: error: ld returned 1 exit status
make[2]: *** [examples/gguf/CMakeFiles/llama-gguf.dir/build.make:100: bin/llama-gguf] Error 1
make[1]: *** [CMakeFiles/Makefile2:2799: examples/gguf/CMakeFiles/llama-gguf.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....

First Bad Commit

No response

Compile command

# mkdir build && cd build 
# cmake .. &&  make -j $(nproc)

Relevant log output

[ 14%] Building CXX object src/CMakeFiles/llama.dir/llama-adapter.cpp.o
[ 14%] Linking CXX executable ../../bin/llama-gguf
../../bin/libggml.so: undefined reference to `vtable for std::filesystem::__cxx11::filesystem_error'
../../bin/libggml.so: undefined reference to `std::filesystem::__cxx11::directory_iterator::operator*() const'
../../bin/libggml.so: undefined reference to `typeinfo for std::filesystem::__cxx11::filesystem_error'
../../bin/libggml.so: undefined reference to `std::filesystem::__cxx11::path::_M_find_extension() const'
../../bin/libggml.so: undefined reference to `std::filesystem::__cxx11::filesystem_error::~filesystem_error()'
../../bin/libggml.so: undefined reference to `std::filesystem::status(std::filesystem::__cxx11::path const&)'
../../bin/libggml.so: undefined reference to `std::filesystem::__cxx11::path::_M_split_cmpts()'
../../bin/libggml.so: undefined reference to `std::filesystem::__cxx11::directory_iterator::operator++()'
../../bin/libggml.so: undefined reference to `std::filesystem::__cxx11::directory_iterator::directory_iterator(std::filesystem::__cxx11::path const&, std::filesystem::directory_options, std::error_code*)'
../../bin/libggml.so: undefined reference to `std::filesystem::__cxx11::filesystem_error::_M_gen_what()'
collect2: error: ld returned 1 exit status
make[2]: *** [examples/gguf/CMakeFiles/llama-gguf.dir/build.make:100: bin/llama-gguf] Error 1
make[1]: *** [CMakeFiles/Makefile2:2799: examples/gguf/CMakeFiles/llama-gguf.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions