尝试编译亮度(Phillips Hue 的开源控制系统)时出错

尝试编译亮度(Phillips Hue 的开源控制系统)时出错

首先我要声明,我是一个新手,什么都不懂,所以请详细解释一下。这里的主要问题是我不明白发生了什么。

我正在尝试在 Ubuntu 16.04 上安装 luminance。github 在此处https://github.com/craigcabrey/luminance(如果你查看问题,你会发现其他人也遇到了同样的问题,但从未得到解答)

安装请求的软件包后,README 会提示:

  1. 克隆此存储库。
  2. 在克隆的存储库中,运行 ./autogen.sh。
  3. 如果一切正常,运行./configure --prefix=/usr && make && sudo make install。

运行 ./autogen.sh 时出现问题,弹出以下错误-

autogen.sh: reconfigure with autoreconf
autoreconf: Entering directory `.'
autoreconf: configure.ac: not using Gettext
autoreconf: running: aclocal -I m4 --force
fatal: Not a git repository (or any of the parent directories): .git
configure.ac:8: error: AC_INIT should be called with package and version arguments
/usr/share/aclocal-1.15/init.m4:29: AM_INIT_AUTOMAKE is expanded from...
configure.ac:8: the top level
autom4te: /usr/bin/m4 failed with exit status: 1
aclocal: error: echo failed with exit status: 1
autoreconf: aclocal failed with exit status: 1
autogen.sh: autoreconf has failed (1)!
autogen.sh: for the next step, run ./configure

我可能是错的,但我相信这就是为什么我在尝试运行 ./configure- 时出现此错误的原因

bash: ./configure: No such file or directory

更新:我已经通过从 git 克隆而不是下载 zip 文件解决了这个问题。

答案1

问题似乎是该luminance-master.zip文件在没有其目录的情况下创建.git- 并configure.ac尝试使用git describe将软件的版本号传递给AC_INIT

AC_PREREQ([2.69])
AC_INIT([luminance],
        m4_esyscmd(echo -n `git describe --always --tags`),
        [https://github.com/craigcabrey/luminance/issues],
        [luminance],
        [https://craigcabrey.github.io/luminance/])

一个相当简单的修复方法是编辑configure.ac模板以对版本字符串进行硬编码:

AC_INIT([luminance],
        [v1.0.1],
        [https://github.com/craigcabrey/luminance/issues],
        [luminance],
        [https://craigcabrey.github.io/luminance/])

区别很简单

$ diff configure.ac.bak configure.ac
3c3
<         m4_esyscmd(echo -n `git describe --always --tags`),
---
>         [v1.0.1],

或者,忘记 master.zip 文件并克隆存储库:

git clone https://github.com/craigcabrey/luminance.git

相关内容