chromium 10.0.648.45 doesn't build with libpng 1.5. It seems to be an issue within webkit, though I tried porting the webkit-gtk-patch (bug #355015), but it's nontrivial. Also found a patch for chromium, but that didn't work either. It's attached to the upstream bug: http://code.google.com/p/chromium/issues/detail?id=73019 Error: x86_64-pc-linux-gnu-g++ '-DNO_HEAPCHECKER' '-DCHROMIUM_BUILD' '-DENABLE_REMOTING=1' '-DUSE_PROPRIETARY_CODECS' '-DENABLE_GPU=1' '-DWEBCORE_NAVIGATOR_VENDOR="Google Inc."' '-DENABLE_3D_CANVAS=1' '-DENABLE_3D_PLUGIN=1' '-DENABLE_BLOB=1' '-DENABLE_BLOB_SLICE=1' '-DENABLE_CHANNEL_MESSAGING=1' '-DENABLE_CLIENT_BASED_GEOLOCATION=1' '-DENABLE_DASHBOARD_SUPPORT=0' '-DENABLE_DATABASE=1' '-DENABLE_DATAGRID=0' '-DENABLE_DEVICE_ORIENTATION=1' '-DENABLE_DIRECTORY_UPLOAD=1' '-DENABLE_DOM_STORAGE=1' '-DENABLE_EVENTSOURCE=1' '-DENABLE_FILE_SYSTEM=1' '-DENABLE_FILTERS=1' '-DENABLE_GEOLOCATION=1' '-DENABLE_ICONDATABASE=0' '-DENABLE_INDEXED_DATABASE=1' '-DENABLE_INPUT_SPEECH=1' '-DENABLE_JAVASCRIPT_DEBUGGER=1' '-DENABLE_JSC_MULTIPLE_THREADS=0' '-DENABLE_LINK_PREFETCH=1' '-DENABLE_METER_TAG=1' '-DENABLE_NOTIFICATIONS=1' '-DENABLE_OFFLINE_WEB_APPLICATIONS=1' '-DENABLE_OPENTYPE_SANITIZER=1' '-DENABLE_ORIENTATION_EVENTS=0' '-DENABLE_PROGRESS_TAG=1' '-DENABLE_REQUEST_ANIMATION_FRAME=1' '-DENABLE_RUBY=1' '-DENABLE_SANDBOX=1' '-DENABLE_SHARED_WORKERS=1' '-DENABLE_SVG=1' '-DENABLE_SVG_ANIMATION=1' '-DENABLE_SVG_AS_IMAGE=1' '-DENABLE_SVG_FONTS=1' '-DENABLE_SVG_FOREIGN_OBJECT=1' '-DENABLE_SVG_USE=1' '-DENABLE_TOUCH_EVENTS=1' '-DENABLE_V8_SCRIPT_DEBUG_SERVER=1' '-DENABLE_VIDEO=1' '-DENABLE_WEB_SOCKETS=1' '-DENABLE_WEB_TIMING=1' '-DENABLE_WORKERS=1' '-DENABLE_XHR_RESPONSE_BLOB=1' '-DENABLE_XPATH=1' '-DENABLE_XSLT=1' '-DWTF_USE_WEBP=1' '-DWTF_USE_WEBKIT_IMAGE_DECODERS=1' '-DWTF_USE_ACCELERATED_COMPOSITING=1' '-DENABLE_3D_RENDERING=1' '-DENABLE_ACCELERATED_2D_CANVAS=1' '-DBUILDING_CHROMIUM__=1' '-DUSE_SYSTEM_MALLOC=1' '-DWTF_USE_PTHREADS=1' '-DUSE_SYSTEM_ICU' '-DSK_BUILD_NO_IMAGE_ENCODE' '-DGR_GL_CUSTOM_SETUP_HEADER="GrGLConfig_chrome.h"' '-DGR_SKIP_2POINTRADIAL_PROGRAMS' '-DUSE_SYSTEM_LIBPNG' '-DUSE_SYSTEM_LIBXML' '-DUSE_SYSTEM_LIBJPEG' '-D__STDC_FORMAT_MACROS' '-DNDEBUG' '-DNVALGRIND' '-DDYNAMIC_ANNOTATIONS_ENABLED=0' -Igpu -Iout/Release/obj.target/geni -Ithird_party/WebKit/Source/WebCore -Ithird_party/WebKit/Source/WebCore/accessibility -Ithird_party/WebKit/Source/WebCore/accessibility/chromium -Ithird_party/WebKit/Source/WebCore/bindings -Ithird_party/WebKit/Source/WebCore/bindings/generic -Ithird_party/WebKit/Source/WebCore/bindings/v8 -Ithird_party/WebKit/Source/WebCore/bindings/v8/custom -Ithird_party/WebKit/Source/WebCore/bindings/v8/specialization -Ithird_party/WebKit/Source/WebCore/css -Ithird_party/WebKit/Source/WebCore/dom -Ithird_party/WebKit/Source/WebCore/dom/default -Ithird_party/WebKit/Source/WebCore/editing -Ithird_party/WebKit/Source/WebCore/fileapi -Ithird_party/WebKit/Source/WebCore/history -Ithird_party/WebKit/Source/WebCore/html -Ithird_party/WebKit/Source/WebCore/html/canvas -Ithird_party/WebKit/Source/WebCore/html/parser -Ithird_party/WebKit/Source/WebCore/html/shadow -Ithird_party/WebKit/Source/WebCore/inspector -Ithird_party/WebKit/Source/WebCore/loader -Ithird_party/WebKit/Source/WebCore/loader/appcache -Ithird_party/WebKit/Source/WebCore/loader/archive -Ithird_party/WebKit/Source/WebCore/loader/cache -Ithird_party/WebKit/Source/WebCore/loader/icon -Ithird_party/WebKit/Source/WebCore/mathml -Ithird_party/WebKit/Source/WebCore/notifications -Ithird_party/WebKit/Source/WebCore/page -Ithird_party/WebKit/Source/WebCore/page/animation -Ithird_party/WebKit/Source/WebCore/page/chromium -Ithird_party/WebKit/Source/WebCore/platform -Ithird_party/WebKit/Source/WebCore/platform/animation -Ithird_party/WebKit/Source/WebCore/platform/audio -Ithird_party/WebKit/Source/WebCore/platform/audio/chromium -Ithird_party/WebKit/Source/WebCore/platform/chromium -Ithird_party/WebKit/Source/WebCore/platform/graphics -Ithird_party/WebKit/Source/WebCore/platform/graphics/chromium -Ithird_party/WebKit/Source/WebCore/platform/graphics/filters -Ithird_party/WebKit/Source/WebCore/platform/graphics/gpu -Ithird_party/WebKit/Source/WebCore/platform/graphics/opentype -Ithird_party/WebKit/Source/WebCore/platform/graphics/skia -Ithird_party/WebKit/Source/WebCore/platform/graphics/transforms -Ithird_party/WebKit/Source/WebCore/platform/image-decoders -Ithird_party/WebKit/Source/WebCore/platform/image-decoders/bmp -Ithird_party/WebKit/Source/WebCore/platform/image-decoders/gif -Ithird_party/WebKit/Source/WebCore/platform/image-decoders/ico -Ithird_party/WebKit/Source/WebCore/platform/image-decoders/jpeg -Ithird_party/WebKit/Source/WebCore/platform/image-decoders/png -Ithird_party/WebKit/Source/WebCore/platform/image-decoders/skia -Ithird_party/WebKit/Source/WebCore/platform/image-decoders/xbm -Ithird_party/WebKit/Source/WebCore/platform/image-decoders/webp -Ithird_party/WebKit/Source/WebCore/platform/image-encoders/skia -Ithird_party/WebKit/Source/WebCore/platform/mock -Ithird_party/WebKit/Source/WebCore/platform/network -Ithird_party/WebKit/Source/WebCore/platform/network/chromium -Ithird_party/WebKit/Source/WebCore/platform/sql -Ithird_party/WebKit/Source/WebCore/platform/text -Ithird_party/WebKit/Source/WebCore/platform/text/transcoder -Ithird_party/WebKit/Source/WebCore/plugins -Ithird_party/WebKit/Source/WebCore/plugins/chromium -Ithird_party/WebKit/Source/WebCore/rendering -Ithird_party/WebKit/Source/WebCore/rendering/style -Ithird_party/WebKit/Source/WebCore/rendering/svg -Ithird_party/WebKit/Source/WebCore/storage -Ithird_party/WebKit/Source/WebCore/storage/chromium -Ithird_party/WebKit/Source/WebCore/svg -Ithird_party/WebKit/Source/WebCore/svg/animation -Ithird_party/WebKit/Source/WebCore/svg/graphics -Ithird_party/WebKit/Source/WebCore/svg/graphics/filters -Ithird_party/WebKit/Source/WebCore/svg/properties -Ithird_party/WebKit/Source/WebCore/thirdparty/glu -Ithird_party/WebKit/Source/WebCore/webaudio -Ithird_party/WebKit/Source/WebCore/websockets -Ithird_party/WebKit/Source/WebCore/workers -Ithird_party/WebKit/Source/WebCore/xml -Ithird_party/angle/include/GLSLANG -Iout/Release/obj/gen/webkit -Iout/Release/obj/gen/webkit/bindings -Ithird_party/WebKit/Source/JavaScriptCore -Ithird_party/WebKit/Source/JavaScriptCore/wtf -I. -Iskia/config -Ithird_party/skia/include/config -Ithird_party/skia/include/core -Ithird_party/skia/include/effects -Ithird_party/skia/include/gpu -Ithird_party/skia/gpu/include -Iskia/ext -Ithird_party/iccjpeg -Ithird_party/libwebp -Ithird_party/libwebp/webp -Ithird_party/npapi -Ithird_party/npapi/bindings -Ithird_party/ots/include -Ithird_party/sqlite -Ithird_party/harfbuzz/contrib -Ithird_party/harfbuzz/src -pthread -fno-exceptions -Wall -Wno-unused-parameter -Wno-missing-field-initializers -D_FILE_OFFSET_BITS=64 -fvisibility=hidden -pipe -fPIC -fno-strict-aliasing -I/usr/include/libpng15 -I/usr/include/libxml2 -I/usr/include/libxml2 -pthread -DQT_SHARED -I/usr/include/gtk-2.0 -I/usr/lib64/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng15 -I/usr/include/qt4 -I/usr/include/qt4/QtGui -I/usr/include/libdrm -I/usr/include/qt4/QtCore -O2 -fno-ident -fdata-sections -ffunction-sections -fno-rtti -fno-threadsafe-statics -fvisibility-inlines-hidden -MMD -MF out/Release/.deps/out/Release/obj.target/webcore_platform/third_party/WebKit/Source/WebCore/platform/image-decoders/png/PNGImageDecoder.o.d.raw -O2 -march=core2 -pipe -DGENTOO_CHROMIUM_ENABLE_GECKO_MEDIAPLAYER -c -o out/Release/obj.target/webcore_platform/third_party/WebKit/Source/WebCore/platform/image-decoders/png/PNGImageDecoder.o third_party/WebKit/Source/WebCore/platform/image-decoders/png/PNGImageDecoder.cpp third_party/WebKit/Source/WebCore/platform/image-decoders/png/PNGImageDecoder.cpp: In function 'WebCore::ColorProfile WebCore::readColorProfile(png_struct*, png_info*)': third_party/WebKit/Source/WebCore/platform/image-decoders/png/PNGImageDecoder.cpp:231:89: error: invalid conversion from 'char**' to 'png_byte**' third_party/WebKit/Source/WebCore/platform/image-decoders/png/PNGImageDecoder.cpp:231:89: error: initializing argument 5 of 'png_uint_32 png_get_iCCP(const png_struct*, const png_info*, char**, int*, png_byte**, png_uint_32*)' third_party/WebKit/Source/WebCore/platform/image-decoders/png/PNGImageDecoder.cpp: In member function 'void WebCore::PNGImageDecoder::headerAvailable()': third_party/WebKit/Source/WebCore/platform/image-decoders/png/PNGImageDecoder.cpp:244:28: error: invalid use of incomplete type 'struct png_struct' /usr/include/libpng15/png.h:803:16: error: forward declaration of 'struct png_struct' third_party/WebKit/Source/WebCore/platform/image-decoders/png/PNGImageDecoder.cpp:245:29: error: invalid use of incomplete type 'struct png_struct' /usr/include/libpng15/png.h:803:16: error: forward declaration of 'struct png_struct' third_party/WebKit/Source/WebCore/platform/image-decoders/png/PNGImageDecoder.cpp:248:12: error: invalid use of incomplete type 'struct png_struct' /usr/include/libpng15/png.h:803:16: error: forward declaration of 'struct png_struct' third_party/WebKit/Source/WebCore/platform/image-decoders/png/PNGImageDecoder.cpp:248:40: error: invalid use of incomplete type 'struct png_struct' /usr/include/libpng15/png.h:803:16: error: forward declaration of 'struct png_struct' third_party/WebKit/Source/WebCore/platform/image-decoders/png/PNGImageDecoder.cpp:322:68: error: invalid use of incomplete type 'struct png_struct' /usr/include/libpng15/png.h:803:16: error: forward declaration of 'struct png_struct' third_party/WebKit/Source/WebCore/platform/image-decoders/png/PNGImageDecoder.cpp:323:12: error: invalid use of incomplete type 'struct png_struct' /usr/include/libpng15/png.h:803:16: error: forward declaration of 'struct png_struct' third_party/WebKit/Source/WebCore/platform/image-decoders/png/PNGImageDecoder.cpp: In member function 'void WebCore::PNGImageDecoder::rowAvailable(unsigned char*, unsigned int, int)': third_party/WebKit/Source/WebCore/platform/image-decoders/png/PNGImageDecoder.cpp:346:31: error: invalid use of incomplete type 'struct png_struct' /usr/include/libpng15/png.h:803:16: error: forward declaration of 'struct png_struct'
Created attachment 267541 [details, diff] chromium-webkit-libpng15.patch
Patches have landed upstream. Please let me know if you'd like them to be backported. Note that Chromium has very short release cycles, so I'd expect it to be available in stable channel releases within about 8 weeks.
The upstream patch http://trac.webkit.org/changeset/82344 has landed about 5 weeks ago. I'd expect it to be in at least the dev channel releases. If anyone wants to verify it (test which version of www-client/chromium compiles against libpng-1.5), great.
I can build aganst libpng-1.5 with the chromium trunk, but not the dev channel. Works: 14.0.804.0 (Developer Build f78fd02 Linux) Broken: www-client/chromium-14.0.797.0 third_party/WebKit/Source/WebCore/platform/image-encoders/skia/PNGImageEncoder.cpp:47:44: error: invalid use of incomplete type ‘struct png_struct’ /usr/include/libpng15/png.h:811:16: error: forward declaration of ‘struct png_struct’ make: *** [out/Release/obj.target/webcore_platform/third_party/WebKit/Source/WebCore/platform/image-encoders/skia/PNGImageEncoder.o] Error 1
Looks like this was fixed by angelos in a recent webkit change. https://bugs.webkit.org/show_bug.cgi?id=61738
my patch is in 14.0.803.0, which Paweł added yesterday
also, emerge just finished here. 14.0.803.0 builds fine against libpng-1.5 (and with gcc-4.6 btw)
(In reply to comment #7) > also, emerge just finished here. 14.0.803.0 builds fine against libpng-1.5 (and > with gcc-4.6 btw) Excellent. Thank you for testing. I'll keep the bugs open until 14.x moves into ~arch, which should happen within a few weeks.
Just tested here: www-client/chromium-13.0.782.109 fails with libpng-1.5 www-client/chromium-14.0.835.18 is fine with libpng-1.5 So waiting for 14.x to hit ~arch.
chromium-14.x is now in ~arch, closing