LinearTapeFileSystem/ltfs

Issue during compilation with glibc >= 2.30

开放

#389 创建于 2023年3月27日

 (1 条评论) (0 个反应) (0 位负责人)C (102 个派生)auto 404
Hacktoberfestenhancementgood first issuehelp wanted

仓库指标

星标
 (337 个星标)
PR 合并指标
 (PR 指标待抓取)

描述

On Linux systems which use glibc ≥2.30 the following will be logged during compilation:

In file included from arch/arch_info.c:52:0: /usr/include/sys/sysctl.h:21:2: error: #warning "The <sys/sysctl.h> header is deprecated and will be removed." [-Werror=cpp] #warning "The <sys/sysctl.h> header is deprecated and will be removed." ^~~~~~~ cc1: all warnings being treated as errors

The release notes for glibc 2.30 read:

“The Linux-specific <sys/sysctl.h> header and the sysctl function have been deprecated and will be removed from a future version of glibc. Application should directly access /proc instead. For obtaining random bits, the getentropy function can be used.”

(See also https://sourceware.org/ml/libc-alpha/2019-08/msg00029.html for the full release notes.)

To Reproduce

1 install glibc and glibc-dev / glibc-devel >= 2.30

2 compile ltfs v. 2.4.5.0 : ./autogen.sh ./configure --prefix=$1 --enable-message-checker --enable-warning-as-error make

Solution

Because of the deprecated sysctl() function, sysconf() should be used instead.

Source file src/libltfs/arch/arch_info.c

贡献者指南