RE: [ROOT] Installation problems

From: Christian Holm Christensen (cholm@hehi03.nbi.dk)
Date: Wed Sep 26 2001 - 12:48:25 MEST


Hi Sead, 

On Wed, 26 Sep 2001 03:18:55 +0200
Sead Dzubur <seadd1@yahoo.com> wrote
concerning "RE: [ROOT] Installation problems":
> Hi
> Well, did shoot part of the problems. Idea was that intelligent
> Mandrake 8.0 installer doesn't install some of the libraries, so I
> had to manually inastall termcap library, and to install shortcuts
> for libXpm and libg++, which was basically easy. 

You don't need libg++, only libstdc++.  libg++ is a really old (pre
ANSI/ISO standard) library from GNU that has some extra C++ features,
most of which, or similar, has been incorporated into the standard.

I guess you didn't install the xpm-devel package (or libxpm-dev). If
you did, than you'd probably have the link  

  libXpm.so => libXpm.so.<x>  

and the static library 

  libXpm.a 

> After that, gmake did well, reporting no errors, until this:
> 
> g++ -O2  -o bin/rootd rootd/src/daemon.o rootd/src/error.o rootd/src/net.o 
> rootd/src/netpar.o rootd/src/rootd.o     \
> 	   -lg++ -lm -ldl -rdynamic
> rootd/src/rootd.o: In function `RootdCheckSpecialPass(char const *)':
> rootd/src/rootd.o(.text+0x1257): undefined reference to `crypt'
> rootd/src/rootd.o: In function `RootdPass(char const *)':
> rootd/src/rootd.o(.text+0x13cb): undefined reference to `crypt'
> collect2: ld returned 1 exit status
> gmake: *** [bin/rootd] Error 1

You need to link with libcrypt (flag -lcrypt).  My guess is you're
using a rahter new glibc, where libcrypt is seperated out of libc.
Perhaps this needs to be fixed in config/Makefile.linuxmandrake or
what ever. 

libg++ should really not be needed, as stated above.  Perhaps another
fix to config/Makefile.linuxmandrake. 

> This was the last line, previous ones reported no errors, just some
> warnings. 

The reason is that libcrypt functions are not used in other places
than rootd and proofd (for obvious reasons). 

> Now what? Installing missing libraries is one thing, 

libcrypt is install on your system - it's part of glibc.  Check /lib
and/or /usr/lib 

> but this well exceeds my knowledge of Unix programming:)

Well, you could argue that this is not tied specificly to Un*x, but is
rather general, in that you need to link against libraries, objects,
ladida, to resolve all symbols :-) 
 
Yours, 

Christian Holm Christensen -------------------------------------------
Address: Sankt Hansgade 23, 1. th.           Phone:  (+45) 35 35 96 91 
         DK-2200 Copenhagen N                Cell:   (+45) 28 82 16 23
         Denmark                             Office: (+45) 353  25 305 
Email:   cholm@nbi.dk                        Web:    www.nbi.dk/~cholm



This archive was generated by hypermail 2b29 : Tue Jan 01 2002 - 17:51:00 MET