gpt4 book ai didi

ubuntu - glob 调用中 Ubuntu 18.04 上的 GNU Make 3.82 段错误

转载 作者:行者123 更新时间:2023-12-04 18:44:50 26 4
gpt4 key购买 nike

我的第一个 SO 问题!
我正在尝试在我的 Ubuntu 18.04 发行版上安装 GNU Make 3.82。但我遇到了一个问题。
我已经尝试了解决方法(修改 glob/glob.c 的第 55 行)提到 here ,但无济于事。不过,下面的控制台输出并未反射(reflect)这种尝试。
这就是我在进行前面提到的更改后尝试在我的 Ubuntu 18.04 环境中运行 make 时发生的情况:

sgowen@stephen-Parallels-Ubuntu:~$ gdb make
GNU gdb (Ubuntu 8.1-0ubuntu3) 8.1.0.20180409-git
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from make...done.
(gdb) run
Starting program: /usr/local/bin/make

Program received signal SIGSEGV, Segmentation fault.
0x000055555579d381 in ?? ()
(gdb) bt
#0 0x000055555579d381 in ?? ()
#1 0x00007ffff7acba8b in glob_lstat (pglob=0x7fffffffc530,
fullname=0x7fffffffbc10 "./.out", flags=516) at ../posix/glob.c:204
#2 glob_in_dir (pattern=pattern@entry=0x55555579f580 ".out",
directory=directory@entry=0x7ffff7b997d8 <dot> ".", flags=flags@entry=516,
errfunc=errfunc@entry=0x0, pglob=pglob@entry=0x7fffffffc530,
alloca_used=<optimized out>, alloca_used@entry=0) at ../posix/glob.c:1299
#3 0x00007ffff7acc589 in __glob (pattern=pattern@entry=0x55555579f580 ".out",
flags=flags@entry=516, errfunc=errfunc@entry=0x0,
pglob=pglob@entry=0x7fffffffc530) at ../posix/glob.c:1096
#4 0x000055555556d246 in parse_file_seq (
stringp=stringp@entry=0x7fffffffc5c0, size=size@entry=40,
stopchar=stopchar@entry=0, prefix=prefix@entry=0x0, flags=flags@entry=0)
at read.c:3115
#5 0x000055555555ceda in set_default_suffixes () at default.c:545
#6 0x0000555555559eb2 in main (argc=<optimized out>, argv=<optimized out>,
envp=<optimized out>) at main.c:1600
(gdb)

最佳答案

纯粹出于引用目的,因为我自己遇到了段错误问题(尽管使用 Make 4.2.1),实际问题是由于 Make 对 glibc 做出假设,而这对于新版本不再适用。
除了进行 alloca 相关的更改之外,您还需要拉入上游提交哈希 193f1e81edd6b1b56b0eb0ff8aa4b41c7b4257b4
更多详细信息:
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/XCYUF5BQLICUAAI3OM7EORCNOKEYP2MF/

关于ubuntu - glob 调用中 Ubuntu 18.04 上的 GNU Make 3.82 段错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52618055/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com