gpt4 book ai didi

compilation - 编译 libptrace

转载 作者:行者123 更新时间:2023-12-01 10:44:55 25 4
gpt4 key购买 nike

正在尝试编译 libptrace ( http://sourceforge.net/projects/libptrace/ )。该项目没有公布任何请求支持的首选方式(不幸的是,该项目没有指出获得帮助的最佳方式)。任何人,我遇到的问题如下:

% ./build.sh
% ...[SUCCESS]
% ./configure
% ...[SUCCESS]
% make
Making all in src
make[2]: Entering directory `/home/xxx/build/libptrace-git.git/src'
make[2]: *** No rule to make target `../lib/libgnu.la', needed by `libptrace.la'. Stop.
make[2]: Leaving directory `/home/xxx/build/libptrace-git.git/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/xxx/build/libptrace-git.git'
make: *** [all] Error 2
%

如果您用谷歌搜索 libptrace 和 libgnu.la,您的搜索结果为零。在源代码中对其进行 Grepping,从 git 中获取新鲜信息,您将得到:

% grep -sre libgnu.la *
src/Makefile.in:libptrace_la_DEPENDENCIES = ../lib/libgnu.la
src/Makefile.in:libptrace_la_LIBADD = ../lib/libgnu.la
src/Makefile.am:libptrace_la_LIBADD = ../lib/libgnu.la
src/Makefile:libptrace_la_DEPENDENCIES = ../lib/libgnu.la
src/Makefile:libptrace_la_LIBADD = ../lib/libgnu.la

我不知道如何生成 libtool 存档文件,而且源代码似乎没有任何 make 目标或脚本可以这样做。

关于 admin 的注释:请将标签“libptrace”添加到这个问题 - 显然是一个非常受欢迎的主题 - 我不能这样做,因为我没有达到 1.5K 点数:(


响应 Mel 对 build.sh 的修改,以下是在 `make' 上产生的新错误:

gcc -DHAVE_CONFIG_H -I. -I../.. -I../../src    -g -O2 -Wall -MT test-linux-dlsym.o -MD -MP -MF                     .deps/test-linux-dlsym.Tpo -c -o test-linux-dlsym.o test-linux-dlsym.c
mv -f .deps/test-linux-dlsym.Tpo .deps/test-linux-dlsym.Po
/bin/sh ../../libtool --tag=CC --mode=link gcc -g -O2 -Wall -o test-linux-dlsym test-linux-dlsym.o ../../src/libptrace.la
libtool: link: gcc -g -O2 -Wall -o .libs/test-linux-dlsym test-linux-dlsym.o ../../src/.libs/libptrace.so -Wl,-rpath -Wl,/usr/local/lib
test-linux-dlsym.o: In function `main':
/home/XXX/dev/insecurity/build/libptrace-git/tests/linux/test-linux-dlsym.c:24: undefined reference to `ptrace_elf_get_link_map_head'
/home/XXX/dev/insecurity/build/libptrace-git/tests/linux/test-linux-dlsym.c:40: undefined reference to `ptrace_elf_get_link_map_next'
/home/XXX/dev/insecurity/build/libptrace-git/tests/linux/test-linux-dlsym.c:31: undefined reference to `ptrace_elf_get_symtab'
/home/XXX/dev/insecurity/build/libptrace-git/tests/linux/test-linux-dlsym.c:32: undefined reference to `ptrace_elf_get_strtab'
/home/XXX/dev/insecurity/build/libptrace-git/tests/linux/test-linux-dlsym.c:33: undefined reference to `ptrace_elf_get_hash'
/home/XXX/dev/insecurity/build/libptrace-git/tests/linux/test-linux-dlsym.c:34: undefined reference to `ptrace_elf_get_hash_chains'
collect2: ld returned 1 exit status
make[2]: *** [test-linux-dlsym] Error 1
make[2]: Leaving directory `/home/XXX/dev/insecurity/build/libptrace-git.git/tests/linux'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/XXX/dev/insecurity/build/libptrace-git.git'
make: *** [all] Error 2

最佳答案

这是 gnulib:http://www.gnu.org/software/gnulib/

它可以通过 apt-get install gnulib 在 Debian 中安装

关于compilation - 编译 libptrace,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5857655/

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