So, for those with the ps.map problem with d.m in grass 5.7, it is possible to
fix by installing fftw2.15, which will provide libfftw.so.2, and will be
necessary to make a link to it named lidfftw.so.2, in /usr/lib.
the package can be found in rpm format (I guess that mandrake uses it) and in
tgz (for slack users).
if anyone needs the tgz package, I can send it.
cheers
Carlos
--
+-------------------------------------------------+
Carlos Henrique Grohmann - Guano
Geologist M.Sc - PhD Student at IGc-USP - Brazil
Linux User #89721 - guano at usp dot br -
+-------------------------------------------------+
Citando Glynn Clements <glynn.clements@virgin.net>:
Carlos Henrique Grohmann wrote:
> I am trying to make GRASS 5.7 run on Slackware 10.0. until
> yesterday, I couldn't compile it, so I download the CVS-HEAD for 5.3
> and 5.7, used the configuration script and it compiled OK. the
> problem now is that d.m won't run. here is the error msg:
>
> GRASS 5.7.cvs:~ > d.m &
> [1] 25635
> GRASS 5.7.cvs:~ > Error in startup script: ps.map: error while loading
shared
> libraries: libdfftw.so.2: cannot open shared object file: No such file or
> directory
> while executing
> "exec ps.map -p"
> So, why it have to call ps.map?
It runs "ps.map -p", which outputs a list of the paper sizes which
ps.map understands. This list is used to initialise the "Paper format"
combo box in the print dialog.
> and why ps.map needs fftw?
It is linked against the gmath library, which in turn requires FFTW.
However, I can't see an obvious reason for the gmath dependency.
> I have ftw versions 2.15 and 3.0.1 installed, but no libdfftw.so.2.
One possibility is that libfftw was compiled as libdfftw.so.2 then
renamed to something else (e.g. libfftw.so.2). That won't work. Shared
libraries have their "soname" (shared object name) compiled into them,
and that name is stored in any executables which are linked against
it, and that is the name which the loader will look for when loading
the executables.
> if I made a link to other file will it work?
Yes.
> (like I have to do with
> tcl and tk 8.3 to get NVIZ working). I yes, from what file
Whichever file the linker used when it linked libgrass_gmath.so. Look
for the definition of FFTWLIB in include/Make/Platform.make. That will
contain either "-lfftw" or "-ldfftw", possibly in addition to a -L
switch. For the former, you need to locate a symlink or file named
libfftw.so, typically in /usr/lib or /usr/local/lib; for the latter,
you need to locate libdfftw.so.
> and where should the link be?
Anywhere that the loader will find it, i.e. in /usr/lib or in any of
the directories listed in /etc/ld.so.conf. Also, you need to run
ldconfig once the link has been added.
--
Glynn Clements <glynn.clements@virgin.net>