全新安装,安装了 ss-dev、gcc-dev、sunstudio,以及我认为根据我所读内容相关的其他一些软件包。只是想从源代码编译 LXDE,因为当我查看从组件安装时(http://lxde.org/download)好吧,并不是所有基于 QT 的新东西都在那里,而且我在配置时遇到错误,所以它更不容易。所以我用http://lxde.git.sourceforge.net/git/gitweb-index.cgi相反,让我们从 lxde-common-qt 开始。克隆那个。 autogen.sh 抱怨 automake 不存在。 export AUTOMAKE="automake-1.10" 尝试 automake+tab 会产生这样的结果(我知道这不是最好的方法,但使用导出保证我不会以任何持久的方式搞砸)。随着 autogen 的进一步发展,这是有效的。这里开始:
+ [ x != x ]
+ aclocal ./autogen.sh[25]: aclocal: not found [No such file or directory]
+ automake-1.10 --add-missing --copy --include-deps configure.ac: no proper invocation of AM_INIT_AUTOMAKE was found. configure.ac: You should verify that configure.ac invokes AM_INIT_AUTOMAKE, configure.ac: that aclocal.m4 is present in the top-level directory, configure.ac: and that aclocal.m4 was recently regenerated (using aclocal). configure.ac:8: installing `./install-sh' man/Makefile.am:5: ENABLE_REGENERATE_MAN does not appear in AM_CONDITIONAL
+ autoconf configure.ac:3: error: possibly undefined macro: AM_INIT_AUTOMAKE
If this token and others are legitimate, please use m4_pattern_allow.
See the Autoconf documentation. configure.ac:40: error: possibly undefined macro: AM_CONDITIONAL
+ rm -rf autom4te.cache
那么我们来看看configure.ac:
C_PREREQ([2.57])
AC_INIT(lxde-common-qt,[0.5.5], [],lxde-common-qt)
AM_INIT_AUTOMAKE()
dnl AC_PROG_INTLTOOL(, [no-xml])
dnl AM_MAINTAINER_MODE
Checks for programs. AC_PROG_INSTALL AC_PROG_LN_S
AC_ARG_ENABLE(man,
[AC_HELP_STRING([--enable-man],
[regenerate roff man pages from Docbook @<:@default=no@:>@])],
[enable_man="${enableval}"],
[enable_man=no] ) xsessions data of path for GDM AC_ARG_WITH([xsession-path],
AS_HELP_STRING(
[--with-xsession-path=PATH],
[set the install path of xsession data [[DATAROOTDIR/xsessions]]]),
[test x$withval != x && xsesspath="$withval"],
[xsesspath="\${datarootdir}/xsessions"]) AC_SUBST(xsesspath)
if test x"$enable_man" = x"yes"; then
AC_PATH_PROG([XSLTPROC], [xsltproc])
if test -z "$XSLTPROC"; then
enable_man=no
fi
dnl check for DocBook DTD and stylesheets in the local catalog.
JH_CHECK_XML_CATALOG([-//OASIS//DTD DocBook XML V4.1.2//EN],
[DocBook XML DTD V4.1.2], [], enable_man=no)
JH_CHECK_XML_CATALOG([http://docbook.sourceforge.net/release
/xsl/current/manpages/docbook.xsl],
[DocBook XSL Stylesheets >= 1.70.1], [], enable_man=no) fi
AM_CONDITIONAL(ENABLE_REGENERATE_MAN, test "x$enable_man" != "xno")
AC_OUTPUT([ Makefile startlxde-qt lxde-logout-qt LXDE-Qt.desktop lxde-logout-qt.desktop lxpanel/panel openbox/rc.xml man/Makefile ])
if test x"$sysconfdir" != x'/etc'; then
echo
echo
echo 'Error: sysconfdir is not /etc.'
echo 'Please consider passing --sysconfdir=/etc to configure.';
echo 'Otherwise default config files will be installed to wrong place.'
echo
echo fi
当然,我看到 AM_INIT_AUTOMAKE 是空的,所以我尝试放置“[lxde-common-qt 0.5.5]”的各种变体,但没有成功......
我的意思是不,没有任何关于这方面的资料,而且我没有太多经验。通常我会尝试安装丢失的软件包,使用导出来处理明显的事情,但是那些 automake 错误......那是什么。项目文件夹中没有 aclocal.m4 文件:
AUTHORS
lxde-logout-qt.desktop.in
autogen.shlxde-logout-qt.in
autostart
LXDE-Qt.desktop.in
ChangeLog
lxpanel config.h.in
Makefile.am configure
man configure.ac
NEWS
COPYING
openbox
desktop.conf
cmanfm-qt
imagesREADME
INSTALL
startlxde-qt.in
install-sh
wallpapers
我需要使用类似的东西吗m4_pattern_allow([^m4_cv_])配置.ac 文件中的条目?
答案1
解决方案是从configure.ac 文件中的AM_INIT_AUTOMAKE() 行中删除这两个括号,这样剩下的就只是AM_INIT_AUTOMAKE。之后我就可以拥有配置文件并安装了!为什么会这样仍然是个谜!
好吧,当您必须手动更改这些时,也可能是您的 PATH 变量设置不正确等,因此无法找到或正确链接工具。这是我的新 PATH 的示例,它似乎可以处理这些 AM 错误,而无需编辑 configure.ac 文件...:
PATH="/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/SUNWspro/bin:/usr/ccs/bin:/opt/onbld/bin:/opt/onbld/bin/i386:/opt/sfw/bin:/usr/sfw/bin:/usr/dt/bin:/usr/openwin/bin:/usr/sbin:/usr/gnu/bin/:/usr/sbin/:/sbin:/usr/local/bin:/usr/bin:/usr/ccs/bin:/opt/onbld/bin:/opt/onbld/bin/i386:/opt/sfw/bin:/usr/sfw/bin:/usr/dt/bin:/usr/openwin/bin:/usr/gnu/bin/"