Updating to media-libs/jpeg-9 prompts the rebuild of quite a few packages. One example is lcms, which fails: x86_64-pc-linux-gnu-gcc -std=gnu99 -DPACKAGE_NAME=\"lcms2\" - DPACKAGE_TARNAME=\"lcms2\" -DPACKAGE_VERSION=\"2.5\" -DPACKAGE_STRING=\"lcms2\ 2.5\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DHasJPEG=1 -DHasZLIB=1 -I. -I/var/tmp/portage/media-libs/lcms-2.5/work/lcms2-2.5/utils/jpgicc -I../../include -I/var/tmp/portage/media-libs/lcms-2.5/work/lcms2-2.5/include -I/var/tmp/portage/media-libs/lcms-2.5/work/lcms2-2.5/utils/common -I../../utils/common -O2 -pipe -march=native -c -o vprf.o `test -f '../common/vprf.c' || echo '/var/tmp/portage/media-libs/lcms-2.5/work/lcms2-2.5/utils/jpgicc/'`../common/vprf.c In file included from /usr/include/jpeglib.h:27:0, from /var/tmp/portage/media-libs/lcms-2.5/work/lcms2-2.5/utils/jpgicc/jpgicc.c:30: /usr/include/jmorecfg.h:263:16: error: expected identifier before numeric constant make[1]: *** [jpgicc.o] Error 1 make[1]: *** Waiting for unfinished jobs.... make[1]: Leaving directory `/var/tmp/portage/media-libs/lcms-2.5/work/lcms-2.5_build/utils/jpgicc' make: *** [all-recursive] Error 1 This is not the only example, others include qemu and sane-backends.
There's a patch: http://lists.linuxtogo.org/pipermail/openembedded-core/2013-February/036049.html
Actually, the header is correct. The problem is that some programs, when presented with a particular installation setup, will choose a combination of headers that are incompatible. I've unmerged virtual/jpeg and all versions of media-libs/jpeg and its turbo sibling. Then, doing a world update and preserved-libs run resulted in stuff building properly. Marking as resolved, since I doubt we can provide for all the odd setups. Well, not more than: "please unmerge all jpeg libs and do a world update".