[GRASSLIST:1906] RE: configuring Grass5.03 on Debian

Glynn Clements glynn.clements at virgin.net
Fri Nov 28 11:36:13 EST 2003


Jim Browne wrote:

> configure:4535: gcc -o conftest -g -O2    conftest.c  1>&5
> configure:4597: checking for socket
> Glynn,
> 
>   Yes, this is a mystery. I use Debian because it is low on quirks and 
> glitches.
> 
>   The problem is with the -lz switch. When I compile my test code with:
>    cc -lz testdeflate.c
> it also returns:
>    cannot find -lz
> 
>   It seems like everything is where it should be. zlib is in /usr/lib. I added 
> additional links to /usr/liblibz.so and /usr/lib/libz to 
> /usr/lib/libz.so.1.1.4 just in case that was the problem.

There should be a file (or symlink to one) called either libz.a or
libz.so. The usual situation on Linux is that libz.so is a symlink to
the actual file, and the actual file includes the version number,
e.g.:

$ ls -l /usr/lib/libz.so
lrwxrwxrwx    1 root     root           13 Apr  2  2002 /usr/lib/libz.so -> libz.so.1.1.3

There will normally be another symlink which only contains the major
version number, e.g.:

$ ls -l /usr/lib/libz.so.?
lrwxrwxrwx    1 root     root           13 Apr  2  2002 /usr/lib/libz.so.1 -> libz.so.1.1.3

The unversioned link (libz.so) is needed for compilation. FWIW, RedHat
puts these links in the *-devel (development) packages (e.g. 
zlib-devel), along with the headers. The versioned link (libz.so.1) is
needed at run-time. The actual file (e.g. libz.so.1.1.3) is needed for
both.

I don't know how Debian organises packages. If, like RedHat, it has
separate development packages, you will need these in order to compile
GRASS.

-- 
Glynn Clements <glynn.clements at virgin.net>




More information about the grass-user mailing list