Le Fri, May 24, 2002, ā 11:01:31PM +0200, Mårten Svantesson a écrit:
> I had a few problems with building dia 0.90RC1 on Solaris 8, mostly
> problems with the configure script:
>
> The test for xml2 failed due to a syntax error. I fixed this problem
> by editing the configure script to be run by bash instead of Bourne
> shell.
Bashisms are the disease of Linux-originated scripts. It is very possible
that this specific bashism is due to the libxml2 M4 macros; it may be our
usage of them. Can you track down the exact changes ?
> The configure script didn't find an implementation to isinf, but
> neither took any action to compensate, nor did it issue an error
> message. Because of this the symbol isinf ended up being undefined in
> the linking. This is a bit odd since the configure script found the
> ieeefp.h header-file (wich include the function finite) and could
> therefore have set a macro to activate a snippet in dia_xml.c like:
>
> #ifdef IEEEFP
> #include <ieeefp.h>
> #define isinf(a) (! finite(a))
> #endif
Yes, indeed. I'll try to fix that before the next tarball.
> A problem that is really a bug in libtool has to do with hard
> linking. The filesystem I mostly use is AFS. AFS has the peculiarity
> that hard linking is possible within a directory but not between
> directories. In the configure script there is a test wether hard
> linking is possible, unfortunately this is done within a directory. In
> the build process on the other hand linking is done between
> directories. Go figure. :-(
Hard linking is a Bad Thing generally speaking (there are situations where
it is okay, but I'm hard pressed to find one). Hard linking across
directories is almost always a no-no, because each directory could
potentially be a mount point. I guess libtool is doing it because it
hardlinks between a directory an a subdirectory of it it has mkdir'd itself,
which makes it believe it's on the same partition. I'm afraid this means
libtool expects some POSIX behaviour AFS doesn't have. Which version of
libtool are you using (if you ran autogen.sh; if you didn't, I know which
libtool you've used) ?
If we can't fix this issue with libtool on solaris (by talking to the
libtool guys), I'm afraid the only fix is to document against building on an
AFS partition (just like you don't build on a vfat partition).
> There also seem to be a bug in the check for libpng. After that check
> all compilations done by configure is done with "-lpng -lz" on the
> command-line. This leads failings in all these compilations:
>
> "configure:9508: gcc -o conftest conftest.c -lpng -lz 1>&5
> Undefined first referenced
> symbol in file
> pow /opt/gnome-1.4/lib/libpng.so
> ld: fatal: Symbol referencing errors. No output written to conftest"
what version of libpng, and what version of the libpng-devel stuff ?
(assuming there is a mismatch).
> The simplest hack to go around this problem was to set CFLAG=-lm prior
> to running configure.
Uh. This means your #define isinf will have trouble as well, since finite()
is defined in libm, isn't it? Looks like we need to include libm for dia
proper, anyway.
-- Cyrille
--
Grumpf.