endgame/MudCore — Issue #1: Linking error
Author: vadi2
Created: 2012-02-21 08:52:47+00:00
State: open

Hi,

On Ubuntu 11.10, MudCore builds successfully but seems to have a small linking issue with libtelnet. It detects it fine during the configure stage, but not at runtime:

```

vadi@vadi-11:~/Programs/MudCore$ ./configure
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for style of include used by make... GNU
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking dependency style of gcc... gcc3
checking for gcc option to accept ISO C99... -std=gnu99
checking for a sed that does not truncate output... /bin/sed
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for GLib... yes
checking for libtelnet... yes
checking for Lua... yes
checking for ZeroMQ... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating doc/Makefile
config.status: creating src/Makefile
config.status: creating config.h
config.status: config.h is unchanged
config.status: executing depfiles commands
vadi@vadi-11:~/Programs/MudCore$ make
make all-recursive
make[1]: Entering directory `/home/vadi/Programs/MudCore'
Making all in doc
make[2]: Entering directory `/home/vadi/Programs/MudCore/doc'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/home/vadi/Programs/MudCore/doc'
Making all in src
make[2]: Entering directory `/home/vadi/Programs/MudCore/src'
CC arg_parse.o
CC buffer.o
CC descriptor.o
CC io.o
CC log.o
CC lua_api.o
CC lua_args.o
CC lua_descriptor.o
CC lua_log.o
CC lua_timer.o
CC lua_zmq.o
CC mudcore.o
CC options.o
CC queue.o
CC socket.o
CC timeval.o
CCLD mudcore
make[2]: Leaving directory `/home/vadi/Programs/MudCore/src'
make[2]: Entering directory `/home/vadi/Programs/MudCore'
make[2]: Leaving directory `/home/vadi/Programs/MudCore'
make[1]: Leaving directory `/home/vadi/Programs/MudCore'
vadi@vadi-11:~/Programs/MudCore$ sudo make install
Making install in doc
make[1]: Entering directory `/home/vadi/Programs/MudCore/doc'
make[2]: Entering directory `/home/vadi/Programs/MudCore/doc'
make[2]: Nothing to be done for `install-exec-am'.
test -z "/usr/local/share/info" || /bin/mkdir -p "/usr/local/share/info"
/usr/bin/install -c -m 644 ./mudcore.info '/usr/local/share/info'
install-info --info-dir='/usr/local/share/info' '/usr/local/share/info/mudcore.info'
This is not dpkg install-info anymore, but GNU install-info
See the man page for ginstall-info for command line arguments
make[2]: Leaving directory `/home/vadi/Programs/MudCore/doc'
make[1]: Leaving directory `/home/vadi/Programs/MudCore/doc'
Making install in src
make[1]: Entering directory `/home/vadi/Programs/MudCore/src'
make[2]: Entering directory `/home/vadi/Programs/MudCore/src'
test -z "/usr/local/bin" || /bin/mkdir -p "/usr/local/bin"
/usr/bin/install -c mudcore '/usr/local/bin'
make[2]: Nothing to be done for `install-data-am'.
make[2]: Leaving directory `/home/vadi/Programs/MudCore/src'
make[1]: Leaving directory `/home/vadi/Programs/MudCore/src'
make[1]: Entering directory `/home/vadi/Programs/MudCore'
make[2]: Entering directory `/home/vadi/Programs/MudCore'
make[2]: Nothing to be done for `install-exec-am'.
make[2]: Nothing to be done for `install-data-am'.
make[2]: Leaving directory `/home/vadi/Programs/MudCore'
make[1]: Leaving directory `/home/vadi/Programs/MudCore'
vadi@vadi-11:~/Programs/MudCore$ mudcore
mudcore: error while loading shared libraries: libtelnet.so.2: cannot open shared object file: No such file or directory
vadi@vadi-11:~/Programs/MudCore$ ldd src/mudcore
linux-vdso.so.1 => (0x00007ffffdfff000)
libglib-2.0.so.0 => /lib/x86_64-linux-gnu/libglib-2.0.so.0 (0x00007f57a6b45000)
libtelnet.so.2 => not found
liblua5.1.so.0 => /usr/lib/x86_64-linux-gnu/liblua5.1.so.0 (0x00007f57a6917000)
libzmq.so.1 => /usr/lib/libzmq.so.1 (0x00007f57a66df000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f57a6340000)
libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0x00007f57a6103000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f57a5efb000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f57a5c77000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f57a5a72000)
libpgm-5.1.so.0 => /usr/lib/libpgm-5.1.so.0 (0x00007f57a5825000)
libuuid.so.1 => /lib/x86_64-linux-gnu/libuuid.so.1 (0x00007f57a5620000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f57a5402000)
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f57a50fb000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f57a4ee5000)
/lib64/ld-linux-x86-64.so.2 (0x00007f57a6e67000)
```

Note that I do have the file in /usr/local/lib/libtelnet.so.2