1

When I try to run "make clean" it gives me make: ** No rule to make target clean'. Stop.

So I do make -f Makefile.in clean

and it tells me Makefile.in:12: *** commands commence before first target. Stop.

I went into the Makefile.in and removed the tab on line 12 and retried make -f Makefile.in clean

but then it gives me Makefile.in:12: *** missing separator. Stop.

Does anyone know what is going on here? I would really appreciate some help.

This was too long for a comment:

checking for Tcl library... not found checking for Tcl header... found /usr/local/include/tcl.h checking whether the Tcl system has changed... yes configure: error:

Tcl cannot be found on this system.

Eggdrop requires Tcl and the Tcl development files to compile. If you already have Tcl installed on this system, make sure you also have the development files (common package names include 'tcl-dev' and 'tcl-devel'). If I just wasn't looking in the right place for it, re-run ./configure using the --with-tcllib='/path/to/libtcl.so' and --with-tclinc='/path/to/tcl.h' options.

See doc/COMPILE-GUIDE's 'Tcl Detection and Installation' section for more information.

I am following this guide to get tcl installed correctly. http://botlending.com/docs/eggdrop/compile/19#19

user2873047
  • 21
  • 1
  • 4
  • `sudo apt-get install tcl tcl-dev`? – cHao Oct 12 '13 at 04:11
  • This is a completely different question, so you should mark the original one as solved and open a new question with full details. Be sure you include the platform you're building on, your environment, the command you ran, and the errors you received, and use SO's formatting rules so your question is readable. However, if you find `libtcl8.5.so.0` on your system but no `libtcl8.5.so`, that means you haven't installed the developer package. The name of that package depends on the type of system you're using: on Debian/Ubuntu it's `tcl8.5-dev`. – MadScientist Oct 12 '13 at 13:29

1 Answers1

1

Makefile.in is not a makefile. It's input to for the configure script, which will convert it into a makefile.

Please read the INSTALL or README file that came with the software for instructions, but typically you need to first run configure:

./configure

Then you can run make and/or make install:

make
MadScientist
  • 92,819
  • 9
  • 109
  • 136
  • I added to the original post. Any ideas? – user2873047 Oct 12 '13 at 03:24
  • Well I got through ./configure and now I am stuck at make. /usr/bin/ld: cannot find -ltcl8.5.so – user2873047 Oct 12 '13 at 03:42
  • Should the linker even be touching shared libs? I thought for sure it used a static import library, and the .so wasn't looked up til runtime. Either way, that's a pretty freaking odd-looking error. `-ltcl8.5.so`? – cHao Oct 12 '13 at 03:59
  • I'm not too sure to be honest. Linking eggdrop (standard build). 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: cannot find -ltcl8.5.so collect2: error: ld returned 1 exit status make[1]: *** [../eggdrop] Error 1 make[1]: Leaving directory `/home/fubar/eggdrop1.6.21/src' make: *** [modegg] Error 2 – user2873047 Oct 12 '13 at 04:01
  • @user2873047: I'm thinking we'd need to see the last few lines of the make process (ie: right before it dies) in order to make any sense of that error. – cHao Oct 12 '13 at 04:02
  • Yeah, that. `-ltcl8.5.so` looks very odd to me. The name after `-l` should be the name of a static library, like `-ltcl` or even `-ltcl8.5`. Notice how the other ones are. There's something funky going on here...something beyond the scope of this question (and possibly even this site, considering you're installing software rather than creating it). – cHao Oct 12 '13 at 04:04
  • ~/eggdrop1.6.21$ make make[1]: Entering directory `/home/fubar/eggdrop1.6.21/src' This may take a while. Go get some runts. make[2]: Entering directory `/home/fubar/eggdrop1.6.21/src/md5' make[2]: Nothing to be done for `md5'. make[2]: Leaving directory `/home/fubar/eggdrop1.6.21/src/md5' make[2]: Entering directory `/home/fubar/eggdrop1.6.21/src/compat' make[2]: Nothing to be done for `compat'. make[2]: Leaving directory `/home/fubar/eggdrop1.6.21/src/compat' ---------- Yeah! That's the compiling, now the linking! ---------- – user2873047 Oct 12 '13 at 04:12
  • have you given correct path for `--with-tcllib=` while configuring – vinay hunachyal Oct 12 '13 at 04:16
  • there was no ltcl8.5.so, only ltcl8.5.so.0 – user2873047 Oct 12 '13 at 04:20
  • I did a whole system search for it and it appears that there is no such file or directory. – user2873047 Oct 12 '13 at 04:29
  • @user2873047: `libwhatever.so` is often just a symlink to the more specific version. If you made such a link, it might help. The real question, though, is why that wasn't already done. Whatever normally handles those links (i'm not sure whether it's the package maintainer, the package manager, or the OS), it's usually pretty good about that stuff. – cHao Oct 19 '13 at 04:13