Bug 59186 - configure in poppler 0.22.0 fails to find jpeglib.h
Summary: configure in poppler 0.22.0 fails to find jpeglib.h
Status: RESOLVED FIXED
Alias: None
Product: poppler
Classification: Unclassified
Component: general (show other bugs)
Version: unspecified
Hardware: x86-64 (AMD64) Mac OS X (All)
: medium normal
Assignee: poppler-bugs
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-01-09 23:49 UTC by Peter Dyballa
Modified: 2013-01-10 23:33 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments

Description Peter Dyballa 2013-01-09 23:49:48 UTC
Configuration was:


env LANG=C PATH=${HOME}/Softwaren64/bin:/usr/bin:/opt/local/x86_64-apple-darwin10.8.0/bin:/opt/local/bin:$PATH ./configure --prefix="${HOME}/Softwaren64" --with-pic --enable-static --enable-cms=none --enable-introspection=no --disable-utils --disable-poppler-qt4 --x-includes=/usr/X11/include --x-libraries=/usr/X11/lib CPPFLAGS="-H -I${HOME}/Softwaren64/include" CFLAGS="-pipe -fPIC -fno-common -Os -march=core2 -mtune=core2 -m64 -fomit-frame-pointer -msse4.2" LDFLAGS="-m64 -Wl,-t -Wl,-dead_strip_dylibs -L${HOME}/Softwaren64/lib" PKG_CONFIG_PATH=${HOME}/Softwaren64/lib/pkgconfig:/usr/lib/pkgconfig:/usr/X11/share/pkgconfig:/usr/X11/lib/pkgconfig

In ${HOME}/Softwaren64 I am preparing shared and static libraries etc. to build FontForge. There is also jpeg8d installed. No particle of libjpeg6b can be found.

The configure goes:

	checking for libjpeg6b... no
	checking for libjpeg... -ljpeg
	checking jpeglib.h usability... no
	checking jpeglib.h presence... no
	checking for jpeglib.h... no
	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.
	
	checking libjpeg.h works correctly... ok
	checking for LIBPNG... yes
	checking for FREETYPE... yes


config.log shows that the script initially works OK:

	configure:20271: checking for libjpeg
	configure:20300: gcc -std=gnu99 -o conftest -pipe -fPIC -fno-common -Os -march=core2 -mtune=core2 -m64 -fomit-frame-pointer -msse4.2    -H -I/Users/pete/Softwaren64/include -m64 -Wl,-t -Wl,-dead_strip_dylibs -L/Users/pete/Softwaren64/lib conftest.c    -ljpeg -lm >&5
	/usr/lib/crt1.10.6.o
	/var/folders/PR/PR9ZvjydEAmPxO7U5PFnBk+++TI/-Tmp-//cc7EIUOt.o
	/Users/pete/Softwaren64/lib/libjpeg.dylib
	/usr/lib/libm.dylib
	/usr/lib/libSystem.dylib
	/usr/lib/system/libmathCommon.A.dylib
	configure:20300: $? = 0
	configure:20316: result: -ljpeg

Therefore it finds the library. But for the C header file it forgets the "-I/Users/pete/Softwaren64/include" (complete CPPFLAGS) so it can't it:

	configure:20335: checking jpeglib.h usability
	configure:20335: gcc -std=gnu99 -c -pipe -fPIC -fno-common -Os -march=core2 -mtune=core2 -m64 -fomit-frame-pointer -msse4.2    -pipe -fPIC -fno-common -Os -march=core2 -mtune=core2 -m64 -fomit-frame-pointer -msse4.2    conftest.c >&5
	conftest.c:77:21: error: jpeglib.h: No such file or directory
	configure:20335: $? = 1


Mac OS X 10.5.8, Snow Leopard
Comment 1 Peter Dyballa 2013-01-09 23:52:42 UTC
Looks as if line #20333 needs to be corrected to



	CPPFLAGS="$CPPFLAGS $all_includes $USER_INCLUDES"

(instead of using $CFLAGS instead of $CPPFLAGS)
Comment 2 Albert Astals Cid 2013-01-10 17:51:42 UTC
can you confirm that with that change it works?
Comment 3 Albert Astals Cid 2013-01-10 17:59:34 UTC
Just read my comment and saw that it might be a bit ambigouus.

I am asking Peter, the reporter if the change he suggests in Comment #1 actually works for him (the "Looks as if " wording seems a bit non conclusive to me)
Comment 4 Peter Dyballa 2013-01-10 22:17:57 UTC
(In reply to comment #3)
> Just read my comment and saw that it might be a bit ambigouus.
> 
> I am asking Peter, the reporter if the change he suggests in Comment #1
> actually works for him (the "Looks as if " wording seems a bit non
> conclusive to me)

Yes, according to this output is works:

	checking for LIBOPENJPEG... no
	checking for opj_cio_open in -lopenjpeg... no
	checking openjpeg.h usability... no
	checking openjpeg.h presence... no
	checking for openjpeg.h... no
	checking for TIFFOpen in -ltiff... yes
	checking tiffio.h usability... yes
	checking tiffio.h presence... yes
	checking for tiffio.h... yes
	checking for popen... yes
	checking for mkstemp... yes
	checking for mkstemps... yes
	checking for special C compiler options needed for large files... no
	checking for _FILE_OFFSET_BITS value needed for large files... no
	checking for _LARGEFILE_SOURCE value needed for large files... no
	checking for fseek64... no
	checking for ftell64... no
	checking for inflate in -lz... yes
	checking zlib.h usability... yes
	checking zlib.h presence... yes
	checking for zlib.h... yes
	checking for libjpeg6b... no
	checking for libjpeg... -ljpeg
	checking jpeglib.h usability... yes
	checking jpeglib.h presence... yes
	checking for jpeglib.h... yes
	checking libjpeg.h works correctly... ok

and config.log shows that the C header file is found:

	configure:20335: checking jpeglib.h usability
	configure:20335: gcc -std=gnu99 -c -pipe -fPIC -fno-common -Os -march=core2 -mtune=core2 -m64 -fomit-frame-pointer -msse4.2    -H -I/Users/pete/Softwaren64/include    conftest.c >&5
	. /usr/include/stdio.h
	.. /usr/include/_types.h
	... /usr/include/sys/_types.h
	.... /usr/include/sys/cdefs.h
	.... /usr/include/machine/_types.h
	..... /usr/include/i386/_types.h
	.. /usr/include/secure/_stdio.h
	... /usr/include/secure/_common.h
	. /usr/include/sys/types.h
	.. /usr/include/sys/appleapiopts.h
	.. /usr/include/machine/types.h
	... /usr/include/i386/types.h
	.... /usr/include/i386/_types.h
	.. /usr/include/machine/endian.h
	... /usr/include/i386/endian.h
	.... /usr/include/sys/_endian.h
	..... /usr/include/libkern/_OSByteOrder.h
	...... /usr/include/libkern/i386/_OSByteOrder.h
	.. /usr/include/sys/_structs.h
	. /usr/include/sys/stat.h
	.. /usr/include/Availability.h
	... /usr/include/AvailabilityInternal.h
	.. /usr/include/sys/_structs.h
	. /usr/include/stdlib.h
	.. /usr/include/sys/wait.h
	... /usr/include/sys/signal.h
	.... /usr/include/machine/signal.h
	..... /usr/include/i386/signal.h
	...... /usr/include/i386/_structs.h
	.... /usr/include/sys/_structs.h
	..... /usr/include/machine/_structs.h
	...... /usr/include/i386/_structs.h
	....... /usr/include/mach/i386/_structs.h
	... /usr/include/sys/resource.h
	.... /usr/include/sys/_structs.h
	.. /usr/include/alloca.h
	. /usr/lib/gcc/i686-apple-darwin10/4.2.1/include/stddef.h
	. /usr/include/string.h
	.. /usr/include/secure/_string.h
	. /usr/include/strings.h
	. /usr/include/inttypes.h
	.. /usr/lib/gcc/i686-apple-darwin10/4.2.1/include/stdint.h
	. /usr/include/unistd.h
	.. /usr/include/sys/unistd.h
	.. /usr/include/sys/select.h
	... /usr/include/sys/_structs.h
	... /usr/include/sys/_select.h
	. /Users/pete/Softwaren64/include/jpeglib.h
	.. /Users/pete/Softwaren64/include/jconfig.h
	.. /Users/pete/Softwaren64/include/jmorecfg.h
	configure:20335: $? = 0
	configure:20335: result: yes
	configure:20335: checking jpeglib.h presence
	configure:20335: gcc -E -H -I/Users/pete/Softwaren64/include    conftest.c
	. /Users/pete/Softwaren64/include/jpeglib.h
	.. /Users/pete/Softwaren64/include/jconfig.h
	.. /Users/pete/Softwaren64/include/jmorecfg.h
	Multiple include guards may be useful for:
	/Users/pete/Softwaren64/include/jconfig.h
	configure:20335: $? = 0
	configure:20335: result: yes
	configure:20335: checking for jpeglib.h
	configure:20335: result: yes
	configure:20386: checking libjpeg.h works correctly
	configure:20407: gcc -std=gnu99 -c -pipe -fPIC -fno-common -Os -march=core2 -mtune=core2 -m64 -fomit-frame-pointer -msse4.2  -H -I/Users/pete/Softwaren64/include  conftest.c >&5
	. /usr/include/sys/types.h
	.. /usr/include/sys/appleapiopts.h
	.. /usr/include/sys/cdefs.h
	.. /usr/include/machine/types.h
	... /usr/include/i386/types.h
	.... /usr/include/i386/_types.h
	.. /usr/include/sys/_types.h
	... /usr/include/machine/_types.h
	.. /usr/include/machine/endian.h
	... /usr/include/i386/endian.h
	.... /usr/include/sys/_endian.h
	..... /usr/include/libkern/_OSByteOrder.h
	...... /usr/include/libkern/i386/_OSByteOrder.h
	.. /usr/include/sys/_structs.h
	. /usr/include/stdio.h
	.. /usr/include/_types.h
	.. /usr/include/secure/_stdio.h
	... /usr/include/secure/_common.h
	. /Users/pete/Softwaren64/include/jpeglib.h
	.. /Users/pete/Softwaren64/include/jconfig.h
	.. /Users/pete/Softwaren64/include/jmorecfg.h
	configure:20407: $? = 0
	configure:20409: result: ok
	configure:20485: checking for LIBPNG
Comment 5 Albert Astals Cid 2013-01-10 23:33:40 UTC
Cool, thanks for the patch!


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.