Lxde

如何在 OpenIndiana 上編譯 LXDE - 如何處理 lxde-common-qt 中的那些 AM 錯誤?

  • August 21, 2018

全新安裝,安裝 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 $$“但不是成功… 我的意思是不,從來沒有對此進行過編譯,我也沒有太多經驗。通常我會嘗試安裝失去的軟體包,對明顯的事情使用 export 一點,但是那些 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_ $$) configure.ac 文件中的條目?

解決方案是從 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/"

引用自:https://unix.stackexchange.com/questions/85271