Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

Build fails with gcc 12

未关闭
#86 1 条评论 1 个 reaction 已指派 1 人 在 GitHub 查看

@MarioHewardt 已经在做这个了。

开始于 2022年6月1日。

评估

这个 Issue 还没有评估数据。

描述

bug

Using procmon 1.0.1 on openSUSE Tumbleweed, with the following cmake parameters:

/usr/bin/cmake /home/abuild/rpmbuild/BUILD/ProcMon-for-Linux-1.0.1/. '-GUnix Makefiles' -DCMAKE_INSTALL_PREFIX:PATH=/usr -DINCLUDE_INSTALL_DIR:PATH=/usr/include -DLIB_INSTALL_DIR:PATH=/usr/lib64 -DSYSCONF_INSTALL_DIR:PATH=/etc -DSHARE_INSTALL_PREFIX:PATH=/usr/share -DCMAKE_INSTALL_LIBDIR:PATH=lib64 -DCMAKE_INSTALL_LIBEXECDIR=/usr/libexec -DCMAKE_BUILD_TYPE=RelWithDebInfo '-DCMAKE_C_FLAGS=-O2 -Wall -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -flto=auto -g -DNDEBUG' '-DCMAKE_CXX_FLAGS=-O2 -Wall -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -flto=auto -g -DNDEBUG' '-DCMAKE_Fortran_FLAGS=-O2 -Wall -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -flto=auto -g -DNDEBUG' '-DCMAKE_EXE_LINKER_FLAGS=-flto=auto -Wl,--as-needed -Wl,--no-undefined -Wl,-z,now' '-DCMAKE_MODULE_LINKER_FLAGS=-flto=auto -Wl,--as-needed' '-DCMAKE_SHARED_LINKER_FLAGS=-flto=auto -Wl,--as-needed -Wl,--no-undefined -Wl,-z,now' -DLIB_SUFFIX=64 -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -DBUILD_SHARED_LIBS:BOOL=ON -DBUILD_STATIC_LIBS:BOOL=OFF -DCMAKE_COLOR_MAKEFILE:BOOL=OFF -DCMAKE_INSTALL_DO_STRIP:BOOL=OFF -DCMAKE_MODULES_INSTALL_DIR=/usr/lib64/cmake/procmon

and this is where it fails:

[ 53%] Building CXX object src/tracer/CMakeFiles/tracer-static.dir/ebpf/raw_ebpf_event.cpp.o
cd /home/abuild/rpmbuild/BUILD/ProcMon-for-Linux-1.0.1/build/src/tracer && /usr/bin/c++  -I/home/abuild/rpmbuild/BUILD/ProcMon-for-Linux-1.0.1/build/src -I/usr/include/bcc/compat -I/usr/include/ncurses -O2 -Wall -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -flto=auto -g -DNDEBUG -g -fno-omit-frame-pointer -DELPP_THREAD_SAFE -D ELPP_DEFAULT_LOG_FILE='"/var/log/procmon.log"' -O2 -g -DNDEBUG -std=gnu++17 -MD -MT src/tracer/CMakeFiles/tracer-static.dir/ebpf/raw_ebpf_event.cpp.o -MF CMakeFiles/tracer-static.dir/ebpf/raw_ebpf_event.cpp.o.d -o CMakeFiles/tracer-static.dir/ebpf/raw_ebpf_event.cpp.o -c /home/abuild/rpmbuild/BUILD/ProcMon-for-Linux-1.0.1/src/tracer/ebpf/raw_ebpf_event.cpp
[ 57%] Building CXX object src/tracer/CMakeFiles/tracer-static.dir/ebpf/syscall_schema.cpp.o
cd /home/abuild/rpmbuild/BUILD/ProcMon-for-Linux-1.0.1/build/src/tracer && /usr/bin/c++  -I/home/abuild/rpmbuild/BUILD/ProcMon-for-Linux-1.0.1/build/src -I/usr/include/bcc/compat -I/usr/include/ncurses -O2 -Wall -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -flto=auto -g -DNDEBUG -g -fno-omit-frame-pointer -DELPP_THREAD_SAFE -D ELPP_DEFAULT_LOG_FILE='"/var/log/procmon.log"' -O2 -g -DNDEBUG -std=gnu++17 -MD -MT src/tracer/CMakeFiles/tracer-static.dir/ebpf/syscall_schema.cpp.o -MF CMakeFiles/tracer-static.dir/ebpf/syscall_schema.cpp.o.d -o CMakeFiles/tracer-static.dir/ebpf/syscall_schema.cpp.o -c /home/abuild/rpmbuild/BUILD/ProcMon-for-Linux-1.0.1/src/tracer/ebpf/syscall_schema.cpp
In file included from /home/abuild/rpmbuild/BUILD/ProcMon-for-Linux-1.0.1/src/tracer/ebpf/syscall_schema.cpp:4:
/home/abuild/rpmbuild/BUILD/ProcMon-for-Linux-1.0.1/src/tracer/ebpf/syscall_schema.h: In static member function 'static std::vector<SyscallSchema::SyscallSchema> SyscallSchema::Utils::CollectSyscallSchema()':
/home/abuild/rpmbuild/BUILD/ProcMon-for-Linux-1.0.1/src/tracer/ebpf/syscall_schema.h:100:26: error: 'strcpy' is not a member of 'std'
  100 |                     std::strcpy(schema.syscallName, match[2].str().c_str());
      |                          ^~~~~~
/home/abuild/rpmbuild/BUILD/ProcMon-for-Linux-1.0.1/src/tracer/ebpf/syscall_schema.h:124:34: error: 'strcpy' is not a member of 'std'
  124 |                             std::strcpy(schema.argNames[argCount], argName.c_str());
      |                                  ^~~~~~
make[2]: *** [src/tracer/CMakeFiles/tracer-static.dir/build.make:121: src/tracer/CMakeFiles/tracer-static.dir/ebpf/syscall_schema.cpp.o] Error 1

No error with gcc 11.

主要语言
C
星标
4.7k
派生
295
平均合并
4 分钟
30 天内合并 PR
8

环境准备

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

microsoft/ProcMon-for-Linux 的其他 Issue

查看 microsoft/ProcMon-for-Linux 的全部 Issue

相似的 Issue

更多 C Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。