【问题标题】:Makefile.in:12: *** commands commence before first target. StopMakefile.in:12: *** 命令在第一个目标之前开始。停止
【发布时间】:2013-10-12 03:10:00
【问题描述】:

当我尝试运行“make clean”时,它给了我make: ** No rule to make target clean'. Stop.

所以我做make -f Makefile.in clean

它告诉我Makefile.in:12: *** commands commence before first target. Stop.

我进入 Makefile.in 并删除了第 12 行的选项卡并重试 make -f Makefile.in clean

但它给了我Makefile.in:12: *** missing separator. Stop.

有人知道这里发生了什么吗?非常感谢您的帮助。

评论太长了:

检查 Tcl 库...未找到检查 Tcl 头文件...找到 /usr/local/include/tcl.h 检查 Tcl 系统是否已更改...是配置:错误:

在这个系统上找不到 Tcl。

Eggdrop 需要 Tcl 和 Tcl 开发文件来编译。如果您已经在这个系统上安装了 Tcl,请确保您也有开发文件(常见的包名称包括 'tcl-dev' 和 'tcl-devel')。如果我只是没有在正确的位置寻找它,请使用 --with-tcllib='/path/to/libtcl.so' 和 --with-tclinc='/path/to 重新运行 ./configure /tcl.h' 选项。

有关详细信息,请参阅 doc/COMPILE-GUIDE 的“Tcl 检测和安装”部分。

我正在按照本指南正确安装 tcl。 http://botlending.com/docs/eggdrop/compile/19#19

【问题讨论】:

  • sudo apt-get install tcl tcl-dev?
  • 这是一个完全不同的问题,因此您应该将原始问题标记为已解决并打开一个包含完整详细信息的新问题。确保包含您正在构建的平台、您的环境、您运行的命令以及您收到的错误,并使用 SO 的格式规则,以便您的问题可读。但是,如果您在系统上找到libtcl8.5.so.0 而没有找到libtcl8.5.so,则表示您尚未安装开发包。该软件包的名称取决于您使用的系统类型:在 Debian/Ubuntu 上是 tcl8.5-dev

标签: makefile debian eggdrop


【解决方案1】:

Makefile.in 不是生成文件。它是configure 脚本的输入,该脚本会将其转换为makefile。

请阅读软件随附的INSTALLREADME 文件以获取说明,但通常您需要先运行configure

./configure

然后你可以运行make 和/或make install

make

【讨论】:

  • 我添加到原帖中。有什么想法吗?
  • 好吧,我通过了 ./configure,现在我被困在 make 上了。 /usr/bin/ld: 找不到 -ltcl8.5.so
  • 链接器是否应该接触共享库?我确信它使用了一个静态导入库,并且 .so 直到运行时才被查找。无论哪种方式,这都是一个非常奇怪的错误。 -ltcl8.5.so?
  • 我不太确定是否诚实。链接 Eggdrop(标准构建)。 gcc -o ../eggdrop bg.o botcmd.o botmsg.o botnet.o chanprog.o cmds.o dcc.o dccutil.o dns.o flags.o language.o match.o main.o mem.o misc .o misc_file.o modules.o net.o rfc1459.o tcl.o tcldcc.o tclhash.o tclmisc.o tcluser.o userent.o userrec.o users.o -L/usr/lib -ltcl8.5.so -lm -ldl -lnsl md5/md5c.o compat/*.o cat mod/mod.xlibs /usr/bin/ld: 找不到 -ltcl8.5.so collect2: 错误: ld 返回 1 退出状态 make[1]: ** * [../eggdrop] 错误 1 ​​make[1]: 离开目录 `/home/fubar/eggdrop1.6.21/src' make: *** [modegg] 错误 2
  • @user2873047:我认为我们需要查看 make 过程的最后几行(即:就在它死之前)才能理解该错误。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-02-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-10
  • 1970-01-01
相关资源
最近更新 更多