[Digikam-devel] compile from svn problem

Arnd Baecker arnd.baecker at web.de
Thu Mar 1 16:10:53 GMT 2007



On Thu, 1 Mar 2007, Fabien wrote:

> Hi,
>
> Arnd Baecker wrote:
> > my usual install from svn
> > (using the script from http://www.digikam.org/?q=download/svn)
> > does not work.
> >
> > The problem seems to be libjasper:
> >
> > checking for jas_init in -ljasper... no
> > configure: WARNING: digiKam requires libjasper >= 1.7.0
> > configure: WARNING: digiKam requires libjasper >= 1.7.0; digiKam will not
> > be compiled.
> > configure: creating ./config.status
> > wrong input (flag != 4) at admin/conf.change.pl line 117, <> line 1261.
> > config.status: creating digikam/utilities/hotplug/digikam-download.desktop
> >
> > However, libjasper is installed
> > digikam/lib $ ls -l | grep jasper
> > -rw-r--r-- 1 abaecker abaecker 1266404 Mar  1 14:51 libjasper.a
> > -rwxr-xr-x 1 abaecker abaecker     817 Mar  1 14:51 libjasper.la
> >
> > and does contain jas_init:
> >
> > nm libjasper.a | grep jas_init
> > jas_init.o:
> > 00000010 T jas_init
> > [ptpcp3] /home/scratch/abaecker/SOFTWARE/digikam/lib $
> >
> >
> > How can I debug such configure problem in a systematic way?

In the meantime I went for the brutal solution
and overrode configure's decision,
by adding after the check for jasper in `configure`

  have_jasper=yes
  LIB_JASPER="-ljasper"
  DO_NOT_COMPILE=""

Not nice, but the compile went fine after this
and digikam runs fine now ... ;-)

> Have you checked config.log ?

yes, I did ;-) -  however, thanks for mentioning it, after
the above worked, it was definitively
worth a second, *proper*, look:

configure:36873: checking for jas_init in -ljasper
configure:36908: gcc -o conftest -std=iso9899:1990 -W -Wall
-Wchar-subscripts -Wshadow -Wpointer-arith -Wmissing-prototypes
-Wwrite-strings -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -O2   -Wformat-security
-Wmissing-format-attribute  -DQT_THREAD_SUPPORT  -D_REENTRANT
-L/usr/share/qt3/lib     -L/home/abaecker/NBB/SOFTWARE/digikam/lib
conftest.c -ljasper -ljasper  >&5
/home/abaecker/NBB/SOFTWARE/digikam/lib/libjasper.a(jas_stream.o): In
function `jas_stream_tmpfile':
/tmp/NEWTRYSVNALL/jasper-1.900.0/src/libjasper/base/jas_stream.c:368:
warning: the use of `tmpnam' is dangerous, better use `mkstemp'
/home/abaecker/NBB/SOFTWARE/digikam/lib/libjasper.a(jpc_util.o): In
function `jpc_seq_norm':
/tmp/NEWTRYSVNALL/jasper-1.900.0/src/libjasper/jpc/jpc_util.c:164:
undefined reference to `sqrt'
/home/abaecker/NBB/SOFTWARE/digikam/lib/libjasper.a(jpg_dec.o): In
function `jpg_decode':
/tmp/NEWTRYSVNALL/jasper-1.900.0/src/libjasper/jpg/jpg_dec.c:158:
undefined reference to `jpeg_std_error'
[...]
undefined reference to `ceil'
/home/abaecker/NBB/SOFTWARE/digikam/lib/libjasper.a(jas_cm.o): In function
`gammafn':
/tmp/NEWTRYSVNALL/jasper-1.900.0/src/libjasper/base/jas_cm.c:881:
undefined reference to `pow'
collect2: ld returned 1 exit status
configure:36914: $? = 1
configure: failed program was:


> Maybe you should try manually the gcc to see what's wrong...
>
> You can extract the small source code that is used (conftest.c) in
> configure script.

Good point:
Adding  `-lm -ljpeg` to the end of the gcc statement
does cure the problem.

> I tried and gcc compiled fine in my case :)
>
> Good luck.

Thanks - this was very helpful!

So, what to do with this? Of course it is no problem
for me to add the `-lm -ljpeg` to the
 LIBS="-ljasper -ljasper $LIBS"
line in configure (Haven't tried this yet, though).
Maybe this is even the clean way,
but why did it work all the compiles before for me
and also right now for you?
(I am not sure if I really want to delve into the depths
of configure, so I will leave it at this.
Anyway, we have it archived here, if the problem comes up again
for some other user ...)

Thanks a lot,

Arnd



More information about the Digikam-devel mailing list