标签: compiling

./configure:什么是疯狂的构建环境?

./configure 总是检查 whether the build environment is sane...

我不禁想知道什么是疯狂的构建环境。此检查会引发哪些错误?

compiling configure

58
推荐指数
1
解决办法
3736
查看次数

将 CFLAGS 和 LDFLAGS 添加到“配置”的正确语法是什么?

我希望使用 OpenVPN 源 tarball 在 OpenBSD 5.5 上安装 OpenVPN。

根据这里的说明,我必须安装lzo

CFLAGS="-I/usr/local/include" LDFLAGS="-L/usr/local/lib" 指令添加到“配置”,因为gcc否则将找不到它们。

我已经广泛搜索了有关如何在 OpenBSD 上执行上述操作的指南,但没有。

这是我打算做的:

  1. 将源 tarball 解压到新创建的目录
  2. 发出命令
    ./configure CFLAGS="-I/usr/local/include" LDFLAGS="-L/usr/local/lib"
    
    Run Code Online (Sandbox Code Playgroud)
  3. 发出命令 make
  4. 发出命令 make install

以下哪个语法是正确的?

./configure CFLAGS="-I/usr/local/include" LDFLAGS="-L/usr/local/lib"
Run Code Online (Sandbox Code Playgroud)

或者

./configure --CFLAGS="-I/usr/local/include" LDFLAGS="-L/usr/local/lib"
Run Code Online (Sandbox Code Playgroud)

或者

./configure --CFLAGS="-I/usr/local/include" --LDFLAGS="-L/usr/local/lib"
Run Code Online (Sandbox Code Playgroud)

compiling configure

52
推荐指数
2
解决办法
18万
查看次数

如何从源代码编译和安装程序

这个问题确实限制了我对 Linux 的享受。如果应用程序不在存储库中,或者它没有安装程序脚本,那么我真的很纠结在哪里以及如何从源代码安装应用程序。

与Windows相比,这很容易。您(几乎)需要使用在向导中完成所有工作的安装程序应用程序。使用 Linux... 没那么多。

那么,您是否对此有任何提示或说明,或者是否有任何网站明确解释了从源代码安装 Linux 程序的方式、原因和位置?

compiling source software-installation

47
推荐指数
2
解决办法
8万
查看次数

配置:错误:C 编译器无法创建可执行文件

我正在尝试将 apache 2.2.15 升级到 2.2.27。在运行从 apache2.2.15/build 获取的 config.nice 时,我收到以下错误:

checking whether the C compiler works... no
configure: error: in `/home/vkuser/httpd-2.2.27/srclib/apr':
configure: error: C compiler cannot create executables
Run Code Online (Sandbox Code Playgroud)

我试图在网上搜索但没有运气。我还通过运行一个小的 test.c 脚本测试了 c 编译器,它运行良好。在线提供的解决方案很少,例如安装“kernel-devel”软件包,但没有解决问题。我怎样才能让它发挥作用?

以下是生成的 config.log:

    This file contains any messages produced by compilers while
    running configure, to aid debugging if configure makes a mistake.

    It was created by configure, which was
    generated by GNU Autoconf 2.67.  Invocation command line was

      $ ./configure --prefix=/opt/myapp/apache2.2 --with-mpm=worker --enable-static-support --enable-ssl=static --enable-modules=most --disable-authndbd --disable-authn-dbm --disable-dbd --enable-static-logresolve …
Run Code Online (Sandbox Code Playgroud)

compiling gcc 32bit apache-httpd

46
推荐指数
2
解决办法
20万
查看次数

强制目录始终在缓存中

我一直在测试不同的方法来缩短编译整个 C++ 项目所需的时间。目前大约需要 5 分钟。我试验了 distcc、ccache 和其他。最近,我发现如果我将整个项目复制到 RAM 驱动器上,然后从那里编译,它会将编译时间减少到原来的 30% —— 只需 1.5 分钟。

显然,从 RAM 驱动器工作是不切实际的。那么,有谁知道我可以强制操作系统始终缓存某个目录的方法吗?我仍然希望目录像往常一样同步回磁盘,但我也总是希望在内存中复制一份数据。这可能吗?

编辑: 作为一种可能的解决方案,我们只是想启动一个rsync每 10 秒左右运行一次的守护程序,以将磁盘驱动器与 RAM 驱动器同步。然后我们从 RAM 驱动器运行编译。该rsync是极快的,但这样做真的有用吗?当然,操作系统可以做得更好......

linux performance compiling ubuntu

41
推荐指数
5
解决办法
2万
查看次数

Linux 内核头文件到底是什么?

可能的重复:
内核源代码树包含什么?这与 Linux 内核头文件有关吗?

我知道如果我想编译我自己的 Linux 内核,我需要 Linux 内核头文件,但它们到底有什么用?

我发现下面/usr/src/似乎有几十个 C 头文件。但是它们的目的是什么,它们不是直接包含在内核源代码中吗?

linux compiling header-file linux-kernel

39
推荐指数
3
解决办法
9万
查看次数

配置、编译和安装自定义 Linux 内核

我想尝试使用我的发行版提供的内核以外的内核——或者来自其他地方,或者是我定制的。这是困难还是危险?

我从哪里开始?

compiling linux-kernel

39
推荐指数
1
解决办法
3万
查看次数

无法运行配置命令:“没有那个文件或目录”

我正在尝试从源代码(通过 git)安装 Debian 软件包。我下载了包,更改到包的目录并运行./configure命令,但它返回bash: ./configure: No such file or directory. 可能是什么问题?一个configure.ac文件位于程序文件夹。

./configure
make
sudo make install
Run Code Online (Sandbox Code Playgroud)

compiling configure autotools

37
推荐指数
2
解决办法
17万
查看次数

什么是 .in 文件?

有时在项目源中我会看到“*.in”文件。例如,一堆“Makefile.in”。它们是什么和/或“.in”部分是什么意思?我认为这与autoconfmake或类似的事情有关,但我不确定。

我试过搜索“.in 文件扩展名”、“autoconf .in 文件扩展名”、“autoconf .in”、“autoconf dot in”和其他变体,但没有成功。

compiling make configure autoconf

36
推荐指数
3
解决办法
5万
查看次数

当静态链接到 .a 文件时,C 编译器是否会丢弃未使用的函数?

假设我有一个静态main.c链接到libmine.a. 静态链接到库会导致库函数在编译时嵌入到主可执行文件中。

如果libmine.a要提供 未使用的函数main.c,编译器(例如 GCC)会丢弃这些函数吗?

这个问题的灵感来自于“常见消息传递”,即使用静态库会使可执行文件更大,所以我很好奇编译器是否至少从存档文件中删除未使用的代码。

compiling c compiler libraries static-linking

35
推荐指数
2
解决办法
9482
查看次数