在MacOS上运行glibtoolize时提示我考虑将“-I m4”添加到ACLOCAL_AMFLAGS中,但这会导致错误。

8

我正在尝试在我的MacOS 10.8.3机器上使用libtool。因为苹果提供的所有内容都已过时,所以我正在使用macports。我已经安装了最新版本:

libtool (GNU libtool) 2.4.2
automake (GNU automake) 1.13.1
autoconf (GNU Autoconf) 2.69

所有内容都安装在 /opt 目录下。

这里是 configure.ac 文件:

AC_INIT([Hello], [0.1], [bug-report@hello.example.com], [hello], [http://hello.example.com/])
AC_PREREQ([2.59])
AM_INIT_AUTOMAKE([1.10 no-define])
LT_INIT
AC_CONFIG_HEADERS([config.h])
AC_PROG_CXX
AC_CONFIG_FILES([Makefile])
AC_OUTPUT

这里是Makefile.am文件:
lib_LTLIBRARIES = libsomething-1.0.la
libsomething_1_0_la_SOURCES = something.cc


bin_PROGRAMS = hello
hello_SOURCES = hello.h hello.cc main.cc

运行glibtoolize会产生以下错误:
glibtoolize: Consider adding `AC_CONFIG_MACRO_DIR([m4])' to configure.ac and
glibtoolize: rerunning glibtoolize, to keep the correct libtool macros in-tree.
glibtoolize: Consider adding `-I m4' to ACLOCAL_AMFLAGS in Makefile.am.

当我在Makefile.am中添加这行代码时: ACLOCAL_AMFLAGS="-I m4" 我遇到了以下错误;
glibtoolize: Consider adding `-I m4' to ACLOCAL_AMFLAGS in Makefile.am.

如果我修改成这样: ACLOCAL_AMFLAGS="-Im4"
我就会得到相同的错误信息: glibtoolize: 在 Makefile.am 中 ACLOCAL_AMFLAGS 中考虑添加 `-I m4'。
我得到的第二个错误是:
 configure.ac:5: error: required file '../ltmain.sh' not found

如何消除这些错误?

2个回答

11

它需要是:

ACLOCAL_AMFLAGS = -I m4

Makefile.am文件中:

AC_CONFIG_MACRO_DIR([m4])

configure.ac 文件中。你有一个 m4 目录,位于 $(top_srcdir) 对吗?


空格起作用了!多么奇怪。多么不寻常。现在我只有这个错误: ``configure.ac:5: error: required file '../ltmain.sh' not found autoreconf: automake failed with exit status: 1` - vy32
autoreconf -fvi 应该可以解决这个问题。 - ldav1s
系统已经损坏了!我在另一台 Mac 上没有遇到这个问题。是时候清除 /opt/ 目录了。 - vy32
每当我在Mac上使用autotools构建东西时,我总是从最新的GNU源代码编译和安装autotools,因为Mac上预装的版本总是太旧了,无法用于构建。 - ldav1s
我已经做到了!我正在使用Macports。但是,似乎Macports并不能始终构建成功。 - vy32
这就像是被埋藏的宝藏,我花了很长时间才找到,但它帮助我解决了在构建适用于Ubuntu 12.04的Xenial Sudo时遇到的非常相似的问题,因为某些原因。您先生或女士是一位绅士或学者。 - Susan

0

很高兴你解决了这个问题,但是dos2unix会改变行尾符,所以看起来你可能是在Windows电脑上下载了文件,然后将其移动到Mac或其他设备上... - vy32
听起来很合理,但我执行了 git clone https://github.com/dashesy/cc-tool.git。所以他们可能使用了错误的CRLF?无论如何,也许这可以帮助其他在Mac或Linux上的人。 - Ali Alwash

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接