如果“sudo make install”对 tar.gz 文件不起作用该怎么办?

如果“sudo make install”对 tar.gz 文件不起作用该怎么办?

我从 google 代码存储库下载了 galaxium 聊天客户端 tar.gz 包。

但是,我无法使用正常sudo make install命令安装它说明书中描述,它会给出一个错误:

make: *** No rule to make target `install'.  Stop.

我怎样才能解决这个问题?


Makefile.am的内容:

SUBDIRS = build src docs

ASSEMBLY_WRAPPER = galaxium
ASSEMBLY_WRAPPER_IN = galaxium.in

PC_FILES =
PC_FILES_IN =

bin_SCRIPTS = $(ASSEMBLY_WRAPPER)

all:

desktopdir = $(datadir)/applications
desktop_DATA = galaxium.desktop

pixmapdir = $(datadir)/pixmaps
pixmap_DATA = galaxium.png

GALAXIUM_LAUNCH_SETUP= \
    cd build && \
    MOZILLA_FIVE_HOME=$(MOZILLA_HOME) \
    LD_LIBRARY_PATH=`echo "$(LD_LIBRARY_PATH):$(MOZILLA_HOME)" | sed 's/^://g'` \
    PKG_CONFIG_PATH=`echo "$(PKG_CONFIG_PATH):$(MD_PKG_CONFIG_PATH)" | sed 's/^://g'`

GALAXIUM_LAUNCH=$(GALAXIUM_LAUNCH_SETUP) exec -a "galaxium" mono

run: rungalaxium

rungalaxium: $(PROGRAM)
    $(GALAXIUM_LAUNCH) --debug Galaxium.Startup.exe

EXTRA_DIST = $(bin_SCRIPTS) $(desktop_DATA) $(pixmap_DATA)

DISTCLEANFILES = $(bin_SCRIPTS)

答案1

当构建失败时,几乎总是必要的(或者至少很有帮助) 提供全部来自终端的信息,包括你运行 时的信息./configure。当这些信息超出 Ask Ubuntu 帖子的最大长度或变得过长(这种情况经常发生)时,你可以使用http://paste.ubuntu.com并提供链接。

一般来说,如果你只是跑了sudo make install而你没跑./configuremake首先,跑他们(按此顺序)。

一些解压源代码档案将允许您运行sudo make install而无需明确运行make。有些则不行。无论哪种方式,您都应该make在运行 之前将运行作为单独的步骤sudo make install。有时您必须这样做,即使您没有这样做,这也可以让您在安装之前看到最后显示的任何警告消息,并且它会将创建的文件保留在您拥有的源目录中,而不是 root 拥有的源目录中。

答案2

Galaxium 的实际说明(隐藏在INSTALL文件中)有一个额外的步骤:

as normal user:
sh autogen.sh --prefix=/usr
make

as root:
make install

如果您没有运行 autogen,那么您将无法为 make 目标做好准备。这也许可以解释为什么它不起作用。

相关内容