Linux GNU C库(glibc)生成错误(未找到libc modules.h)

Linux GNU C库(glibc)生成错误(未找到libc modules.h),linux,makefile,glibc,glibc222,Linux,Makefile,Glibc,Glibc222,我正在尝试构建glibc(2.22)的最新版本。我没有修改任何glibc的来源。在我的x86_64 Ubuntu 14.04.1机器上,我正在使用以下生成文件的摘录来构建: HOST ?= x86_64-linux-gnu TARGET ?= x86_64-linux-gnu CROSS_OUT = $(shell pwd)/$(TARGET) CC ?= gcc CXX ?= g++ LD ?= ld [...] CFLAGS ?= "-I$(CROSS_OUT)/include -L

我正在尝试构建glibc(2.22)的最新版本。我没有修改任何glibc的来源。在我的x86_64 Ubuntu 14.04.1机器上,我正在使用以下生成文件的摘录来构建:

HOST ?= x86_64-linux-gnu
TARGET ?= x86_64-linux-gnu

CROSS_OUT = $(shell pwd)/$(TARGET)

CC ?= gcc
CXX ?= g++
LD ?= ld

[...]

CFLAGS ?= "-I$(CROSS_OUT)/include -L$(CROSS_OUT)/lib"
CXXFLAGS ?= "-I$(CROSS_OUT)/include -L$(CROSS_OUT)/lib"
CPPFLAGS ?= "-I$(CROSS_OUT)/include -L$(CROSS_OUT)/lib"
LDFLAGS ?= "-I$(CROSS_OUT)/include -L$(CROSS_OUT)/lib"

[...]

GLIBC_PATH=$(shell pwd)/glibc
GLIBC_BUILD_PATH=$(shell pwd)/glibc-build

glibc: glibc-clean
    mkdir -p $(GLIBC_BUILD_PATH)
    cd $(GLIBC_BUILD_PATH) && \
    CC=$(CC) \
    CXX=$(CXX) \
    LD=$(LD) \
    CFLAGS=$(CFLAGS) \
    CXXFLAGS=$(CXXFLAGS) \
    CPPFLAGS=$(CPPFLAGS) \
    LDFLAGS=$(LDFLAGS) \
    $(GLIBC_PATH)/configure \
    --host=$(TARGET) \
    --build=$(HOST) \
    --prefix=$(CROSS_OUT) \
    --disable-shared \
    --enable-add-ons \
    --enable-static-nss && \
    make && \
    make install

glibc-clean:
    rm -r -f $(GLIBC_BUILD_PATH)
几乎立即停止,出现以下错误:

In file included from <command-line>:0:0:
../include/stdc-predef.h:64:1: fatal error: /home/leon/reaper/glibc-build/libc-modules.h: No such file or directory
 #endif
 ^
compilation terminated.
包含在以下文件中:0:0:
../include/stdc predef.h:64:1:致命错误:/home/leon/reaper/glibc build/libc modules.h:没有这样的文件或目录
#恩迪夫
^
编译终止。
不幸的是,该文件肯定不存在。

请尝试安装这些:

$sudo apt-get-install-build-essential

$sudo apt get install libc6


如果你想构建一个外来的libc6/一个额外的libc6,这里描述了glibc-2.22的构建

参考文献

建议:
--前缀=/opt/glibc222


标题“libc modules.h”是生成的标题。以正确的方式进行配置时出现



在中,我使用
配置的
禁用共享选项时遇到了相同的错误。
当我删除该选项时,生成正确通过。
根据glibc常见问题解答(我的操作系统是Debian),我还在CFLAGS中使用
-fno stack protector-U_FORTIFY_SOURCE
。 此外,本主题还有助于设置环境:

这是我构建glibc的脚本:

#!/bin/bash
# sudo aptitude install linux-headers-$(uname -r)
# sudo aptitude install build-essentials
# sudo aptitude install gawk
export CFLAGS="-fPIC -O2 -fno-stack-protector -U_FORTIFY_SOURCE"
mkdir glibc-build
cd glibc-build
../glibc-2.23/configure --disable-werror --prefix=/home/alexey/projects/work/build-dir/glibc-prefix
make

它们已经安装好了。我从官方的ftp下载了源代码。你解决问题了吗(我有相同的问题)-fno堆栈保护器-CFLAGS中的U_加强_源没有帮助。