问题标签 [gnulib]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
mingw - 在 MinGW 上开始使用 gnulib 并且不熟悉(足够)自动工具
我有一些为 Linux 编写的 C 代码,依赖于套接字和 arpa/inet.h 以及 libusb.h,我想在 MinGW 下为 Windows 编译它。(请注意,当前项目只有一个非常简单的 Makefile,根本不依赖自动工具)。
看起来使用 gnulib 将是能够在 MinGW 下为 Windows 编译它的好方法,我已经朝着这个方向开始,但似乎如果你对自动工具不是很熟悉,你真的会陷入困境迅速地。
所以这就是我尝试过的:
它运行并在最后给我以下消息:
好的,我没有 configure.ac 也没有 Makefile.am,所以我按如下方式创建它们(按照上面的说明):
和...
现在在这一点上,gnulib 文档似乎假设您非常熟悉自动工具,因此它们省略了您接下来需要使用自动工具做什么的所有说明。
从我通过阅读各种论坛了解到的情况来看,接下来的步骤似乎是运行:
但是...当我运行 automake 时,我得到了:
'lib/Makefile.am:30: to configure.ac' and run
autoconf' 再次。
嗯...好吧,这可能只是我在 Makefile.am 中缺少的一些东西(因为我不完全确定 Makefile.am 应该包含什么内容)...所以退后一步...我应该能够运行上面在 autoconf 步骤中创建的配置文件:
根据我通过谷歌搜索所读到的内容,似乎 gl_EARLY 和 gl_INIT 应该由添加到 Makefile.am 文件(ACLOCAL_AMFLAGS = -I m4)的行来处理,但此时我并不完全确定我正在正确地做这部分的自动工具。谁能指出我在这里做错了什么?
c - libpipeline 无法在 Mac OS X 上编译
我正在尝试libpipeline
在 Mac OS X 上构建,但我遇到了其他使用autotools
.
这是我得到的第一个错误:
第二个错误更加神秘:
最后,我得到了这个错误,推测这是以前错误的高潮。
完整日志:https ://gist.github.com/ahyattdev/7e4da95d48a6d25ad77aad926a14e7b0
重现步骤:获取源码libpipeline 1.4.1
,运行configure; make
。
linux - 可以使用 gnulib-tool 获取 netinet/in.h 吗?
我最终遇到了与 MinGW 上的 gnulib 入门相同的问题,并且对 autotools 不熟悉(足够) ——也就是说,想要netinet/in.h
在 MinGW Windows 项目中包含标头;那是我第一次听说的地方gnulib
。
正如上面的帖子所述,主要目的gnulib
是用正确的文件对现有autoconf
项目进行“修补”;但是,我使用的项目的构建系统我不太了解 - 所以起初,我只想复制标题。
现在,我不太确定,但在我看来,好像gnulib
会根据运行它的系统生成这些标头 - 这就是为什么它没有netinet/in.h
逐字包含,而是包含:
事实上,这个文件有类似的东西@PRAGMA_SYSTEM_HEADER@
,我只能假设是一些宏。
所以,我发现有一个命令--create-testdir
,所以我这样尝试:
我已经在 Linux 上试过了,它运行良好,但是:
...我仍然没有逐字逐句地得到任何标题(而且那个标题里面仍然有宏)?原来我不能在我的 MinGW-w64 上尝试这个,因为那里没有aclocal
程序......
那么任何人都可以解释是否可以使用 生成完整的标头--create-testdir
,或者在此过程中如何/何时可以期望获得实际的标头(以及它是否依赖于主机操作系统)?
cross-platform - 如何使用 gnulib-tool 确定要导入的内容
autoscan
产生了一系列的功能检查(AC_FUNC_*
和AC_CHECK_FUNCS
),和AC_CHECK_HEADERS
。现在我需要引入 gnulib 代码。我是否只是尝试导入自动扫描识别的每个函数和标题?其中一半没有出现在gnulib-tool --list
输出中。还是我要等到./configure
在某个平台上失败?
c - Cross-compile a gnulib based project to MinGW
I am trying to cross-compile this project to MinGW.
The project uses autotools as the build system, and depends on libcurl, CUnit, Jansson and some gnulib modules.
I have all the dependancies compiled for x86_64-w64-mingw32
and installed under /home/user/mingw64
I run:
And I get this error:
errno.h
is part of the gnulib modules. So I think that the problem comes from this section in the Makefile.am:
But I can't figure out the solution. I followed exactly the instructions described in the gnulib manual.
gnulib - `gnulib-tool --update` 不改变 `.gitignore` 文件
我在我的项目中使用了一些 gnulib 模块。我选择不在我的存储库中携带它们。每次我做一个新的克隆时,我都会跑。
我已经准备好了!
一个问题。我.gitignore
已经设置了我的文件,我对它们非常满意。我不想gnulib-tool
搞砸他们。
知道如何摆脱这种副作用吗?
编辑:该--no-vc-files
选项不适用于--update
.
linux - GNU C 库和驱动程序开发
我是一名 Linux 新手,我正在尝试了解其中一些库和设备是如何链接在一起的。我想直接访问内存。我应该使用 DMA 驱动程序,我应该编写一个 DMA 驱动程序并将其包装在用户空间 C 应用程序中,还是应该只使用像 mmap 这样的函数?/usr/include/sys 头文件和我总是在驱动程序中看到的 linux 头文件之间是否有任何链接?字符驱动程序不是通过读写特殊文件来工作吗?是否允许在 GNU C 库中发生这种情况的读取和写入函数?我想让 Linux C 在我的脑海中理顺,尤其是当它与嵌入式 Linux 有关时。提前致谢
makefile - autoconf:如何替换库前缀?
CLISP的PARI接口配置有包含from 。configure.in
AC_LIB_LINKFLAGS([pari])
lib-link.m4
构建过程还需要Makefile
知道datadir
ofPARI
的位置。为此,Makefile.in
已
并期望找到$(DATADIR)/pari/pari.desc
(通常
/usr/share/pari/pari.desc
或/usr/local/share/pari/pari.desc
)。
这似乎适用于PARI
由homebrew安装在/usr/local
(and LIBPARI_PREFIX=/usr/local
) 中的 Mac OS X,但不适用于 Ubuntu 上,其中PARI
是 in /usr
,并且LIBPARI_PREFIX
是empty。
如何将PARI
's的位置datadir
插入Makefile
?
PS。我还在autoconf 邮件列表上问过这个问题。
聚苯乙烯。响应@BrunoHaible 的建议,这是在Linux 上调试的微不足道的尝试(其中LIBPARI_PREFIX
为空)。
makefile - Gnulib config.h 丢失错误
我正在尝试将libisofs移植到 Windows。我的环境是安装了 mingw-w64-i686 工具链的 MSYS2。
我已经使用 gnulib 来缺少带有
gnulib-tool --import
命令的标头:
我已经完成了指导中的所有步骤:
尽管configure.ac中没有AC_PROG_CC
,所以我在之后添加gl_EARLY
了AM_PROG_CC_C_O
并且没有SUBDIRS
变量,Makefile.am
所以我在底部手动添加了它,如下所示:
我所做的所有配置:
运行 make 后,我收到错误:
据我了解,该文件必须由创建./configure
,但我不明白为什么编译器找不到它。
configure.ac:https://pastebin.com/JbWRqjEv
Makefile.am:https://pastebin.com/V6ZBq8Vd
所有输出:https : //pastebin.com/WFu5aJU7
gnulib - 为什么当我使用 gcc 3.4.3 在 x86 Solaris 10 上构建 ratpoison 时会出现以下错误
为什么当我使用 gcc 3.4.3 在 x86 Solaris 10 上构建 ratpoison 时会出现以下错误
文件 strcasestr completions.old 中未定义的第一个引用符号:致命:符号引用错误。没有输出写入ratpoison collect2:ld返回1退出状态gmake [2]:*** [ratpoison]错误1
但是 _GNU_SOURCE 在 completions.c 中。