Bug 139017

Summary: OS X 10.4.8 digikam fails to detect libjpeg6b during compile
Product: [Applications] digikam Reporter: Scott Miller <scottmillercomposer>
Component: Portability-CompilationAssignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED DOWNSTREAM    
Severity: normal    
Priority: NOR    
Version: 0.9.0   
Target Milestone: ---   
Platform: Fink Packages   
OS: Other   
Latest Commit: Version Fixed In: 7.6.0
Sentry Crash Report:

Description Scott Miller 2006-12-19 18:36:04 UTC
Version:           0.9.0 (using KDE KDE 3.5.5)
Installed from:    Mac OS X (Fink) Packages
Compiler:          gcc 4.0.1 apple 
OS:                OS X

I'm compiling digikam-0.9.0 in OS X 10.4.8. It finishes compiling fine, but with this one error during compile:

checking for libjpeg6b... no
checking for libjpeg... -ljpeg
configure: WARNING:
There is an installation error in jpeg support. You seem to have only one
of either the headers _or_ the libraries installed. You may need to either
provide correct --with-extra-... options, or the development package of
libjpeg6b. You can get a source package of libjpeg from http://www.ijg.org/
Disabling JPEG support.


It then fails during make with this output:

if gcc -DHAVE_CONFIG_H -I. -I. -I../../.. -I../../../digikam/digikam -I../../../digikam/libs/dimg -I/sw/include -I/sw/lib/qt3/include -I/usr/X11R6/include   -DQT_THREAD_SUPPORT -I/sw/include -Dinline= -w -O2  -I/sw/include -MT digikamdcraw-dcraw.o -MD -MP -MF ".deps/digikamdcraw-dcraw.Tpo" -c -o digikamdcraw-dcraw.o `test -f 'dcraw.c' || echo './'`dcraw.c; \
then mv -f ".deps/digikamdcraw-dcraw.Tpo" ".deps/digikamdcraw-dcraw.Po"; else rm -f ".deps/digikamdcraw-dcraw.Tpo"; exit 1; fi
/bin/sh ../../../libtool --silent --tag=CC --mode=link gcc  -O2  -I/sw/include  -L/sw/lib -o digikamdcraw -L/sw/lib -L/sw/lib/qt3/lib -L/usr/X11R6/lib     -llcms  digikamdcraw-dcraw.o  
/usr/bin/ld: Undefined symbols:
_jpeg_CreateDecompress
_jpeg_destroy_decompress
_jpeg_finish_decompress
_jpeg_read_header
_jpeg_read_scanlines
_jpeg_start_decompress
_jpeg_std_error
_jpeg_stdio_src
collect2: ld returned 1 exit status
make[4]: *** [digikamdcraw] Error 1
make[3]: *** [all-recursive] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2


I've installed all fink libjpeg packages, as well as compiled the libjpeg library from www.ijg.org and it is installed:

$ ls /sw/include/ | grep jpeg
jpeglib.h

$ ls /sw/lib/ | grep jpeg
libimlib-jpeg.so
libjpeg.62.0.0.dylib
libjpeg.62.dylib
libjpeg.a
libjpeg.dylib
libjpeg.la



All other needed components are installed and detected:

-- digiKam configure results -------------------
-- sqlite3 found.................. YES
-- libgphoto2 found............... YES
-- libkipi found.................. YES
-- libtiff found.................. YES
-- libpng found................... YES
-- lcms found..................... YES
-- Exiv2 library found............ YES
------------------------------------------------

Good - your configure finished. Start make now
Comment 1 caulier.gilles 2006-12-20 07:19:53 UTC
Scott,

This sound is very interressing. We haven't a real report from a guy to have compiled digiKam & co under OSX.

libjpeg detection is not include in automake rules actually because all Linux dist provide libjpeg developement package by default. Of course we can add a check for that.

Are you installed this one on your computer ?

Gilles Caulier
Comment 2 Scott Miller 2006-12-20 07:37:42 UTC
Yes all of the needed components seems to compile fine, amazingly enough.

I got this help from the gphoto list, which helped libgphoto2 compile:

"nmedit -s .libs/libgphoto2-symbols.expsym .libs/libgphoto2.2.2.0.dylib
nmedit: symbols names listed in: .libs/libgphoto2-symbols.expsym not  
in: /Users/stmiller/Desktop/libgphoto2-2.3.0/libgphoto2/.libs/ 
libgphoto2.2.2.0.dylib
_gpi_gphoto_port_type_map
make[2]: *** [libgphoto2.la] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
stmiller:~/Desktop/libgphoto2-2.3.0 stmiller$


I compiled with: $ ./configure --disable-nls

I've searched for errors of this kind and cannot find any help.

Can you remove the "gpi_gphoto_port_type_map" line from libgphoto2/libgphoto2.sym?

Ciao, Marcus"

----

That did the trick.

I then compiled Exiv2 from source with ./configure --prefix=/sw

And the other components came from fink unstable, I believe.

And so far so good! Except for the above error described in my initial report. Digikam finishes the configure, but will not make.

Any suggestions would be great. Seems very close to success.



Comment 3 caulier.gilles 2007-04-12 12:10:53 UTC
Scott,

Look this PDF file :

http://www.linuxdays.lu/agenda/linuxdays-2007/pres-linuxdays_digikam-20070111_v0_1.pdf

It can be instructive...

Gilles
Comment 4 Bro 2007-12-16 04:50:06 UTC
Hi,

I had the same problem (would not compile because of libjpeg...), on MacOSX 10.4.10 with fink.

After several try/miss, I add a -ljpeg in the Makefile.in in libkdcraw/dcraw, rigth before the make (after the configure, I am using the compiling script from the digikam web site to compile cvs, it's a pain in the ass, no other choice on macos).

Still not compiling but, it's a new pb: 
acquireimagedialog.cpp:124: error: invalid conversion from 'void*' to 'const char*'

I'll try to track it down but... not so confident.

Cheers,


Bruno D.
Comment 5 Bro 2007-12-16 06:20:11 UTC
Hi (again)

Some more details:
in libkdcraw/dcraw/Makefile.am
-   kdcraw_LDFLAGS = $(all_libraries) $(LIBJPEG) $(LCMS_LIBS)
+   kdcraw_LDFLAGS = $(all_libraries) -ljpeg $(LIBJPEG) $(LCMS_LIBS)
at line 445

Then some plugins did not compile, so I just removed them (acquireimage, imageviewer), by comment proper lines in kipi-plugins/Makefile.am.

This is not a very clean hack but it compiles!

My guess about libjpeg: it seems other project than digikam have the same problem, and -ljpeg seems to miss in the compiling/linking line of the make. So because macosx is some how different from linux the handling of libjpeg has to be clean which does not seem to be the case with linux where it works nice in every case (must be handled by a more low level component).

About the plugins: I don't know (for the imageviewer it has to do with GL...), and I don't want to know.

Cheers.


Keep going the great job.


Bruno D. 
Comment 6 caulier.gilles 2008-12-04 16:02:59 UTC
Bruno,

digiKam 0.10.0 and kipi-plugins 0.2.0 compile in native under MacOSX. Forget 0.9.x release which use Fink.

Can you test using these version on your computer. Thanks in advance.

Gilles Caulier
Comment 7 Andi Clemens 2008-12-04 16:12:42 UTC
Also (this is just my opinion) compile errors should not be posted in bugzilla, since those are not digiKam's fault (if they were, we devs would not be able to compile, too).
Maybe we can mark this as DOWNSTREAM?

Andi
Comment 8 Andi Clemens 2008-12-30 14:14:11 UTC
This report is rather old, I will close it now as DOWNSTREAM.

Andi