Summary: | powerpc64: failed to save ICC file, requested 20993800142848bytes and limit is 16Mb | ||
---|---|---|---|
Product: | colord | Reporter: | Dinar Valeev <k0da> |
Component: | libcolord | Assignee: | Richard Hughes <richard> |
Status: | RESOLVED FIXED | QA Contact: | |
Severity: | normal | ||
Priority: | medium | CC: | jasper |
Version: | unspecified | ||
Hardware: | PowerPC | ||
OS: | Linux (All) | ||
Whiteboard: | |||
i915 platform: | i915 features: | ||
Attachments: |
full build log
Verbose build log Proposed fix, works for me on OpenBSD/sparc64. |
Can you build with V=1 and repost the log please? Thanks. Created attachment 78257 [details]
Verbose build log
0.1.33 also fails to build the same on OpenBSD/sparc64 and OpenBSD/mips64. amd64 seems fine. colord 0.1.30 was fine. see http://dawn.rhaalovely.net/~landry/build-failures/mips64/2013-04-17/graphics/colord.log Hmm, thanks. That's coming from cmsSaveProfileToMem -- I wonder if lcms2 has some kind of alignment error. Is there a way to detect anything fishy using tools like valgrind? I've only got i386, x64 and armhf here, and those all seem to work fine. (In reply to comment #4) > Hmm, thanks. That's coming from cmsSaveProfileToMem -- I wonder if lcms2 has > some kind of alignment error. Is there a way to detect anything fishy using > tools like valgrind? No valgrind on OpenBSD, sorry.. With the default compiler flags there are few warnings when compiling lcms2 on OpenBSD/mips64, except for these: cc -std=gnu99 -DPACKAGE_NAME="lcms2" -DPACKAGE_TARNAME="lcms2" -DPACKAGE_VERSION="2.4" -DPACKAGE_STRING="lcms2 2.4" -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/" -DWORDS_BIGENDIAN=1 -DHasJPEG=1 -DHasZLIB=1 -DHasTIFF=1 -DHAVE_TIFFCONF_H=1 -I. -I../include -I../include -I/usr/local/include -O2 -pipe -MT cmstypes.lo -MD -MP -MF .deps/cmstypes.Tpo -c cmstypes.c -fPIC -DPIC -o .libs/cmstypes.o cmstypes.c: In function 'Type_LUT8_Read': cmstypes.c:1780: warning: comparison is always false due to limited range of data type cmstypes.c: In function 'Type_LUT8_Write': cmstypes.c:1908: warning: comparison is always false due to limited range of data type cmstypes.c: In function 'Type_LUT16_Read': cmstypes.c:2084: warning: comparison is always false due to limited range of data type cmstypes.c: In function 'Type_LUT16_Write': cmstypes.c:2225: warning: comparison is always false due to limited range of data type cc -std=gnu99 -DPACKAGE_NAME="lcms2" -DPACKAGE_TARNAME="lcms2" -DPACKAGE_VERSION="2.4" -DPACKAGE_STRING="lcms2 2.4" -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/" -DWORDS_BIGENDIAN=1 -DHasJPEG=1 -DHasZLIB=1 -DHasTIFF=1 -DHAVE_TIFFCONF_H=1 -I. -I../include -I../include -I/usr/local/include -O2 -pipe -MT cmstypes.lo -MD -MP -MF .deps/cmstypes.Tpo -c cmstypes.c -o cmstypes.o cmstypes.c: In function 'Type_LUT8_Read': cmstypes.c:1780: warning: comparison is always false due to limited range of data type cmstypes.c: In function 'Type_LUT8_Write': cmstypes.c:1908: warning: comparison is always false due to limited range of data type cmstypes.c: In function 'Type_LUT16_Read': cmstypes.c:2084: warning: comparison is always false due to limited range of data type cmstypes.c: In function 'Type_LUT16_Write': cmstypes.c:2225: warning: comparison is always false due to limited range of data type Also, we do have some patches against the lcms2 port in OpenBSD, they can be found here: http://www.openbsd.org/cgi-bin/cvsweb/ports/graphics/lcms2/ They're all yours :) Created attachment 78599 [details] [review] Proposed fix, works for me on OpenBSD/sparc64. sizeof(size_t) is 8 on OpenBSD/sparc64, so it cannot be written via a pointer to an unsigned 32 bit integer: (gdb) 1274 *BytesNeeded = cmsSaveProfileToIOhandler(hProfile, NULL); (gdb) 1275 return TRUE; (gdb) p *BytesNeeded $2 = 4888 (gdb) up #1 0x0000002926de4b84 in cd_icc_save_file (icc=0x292bad1810, file=0x2932535ce0, flags=CD_ICC_SAVE_FLAGS_NONE, cancellable=0x0, error=0xfffffffffffd2478) at cd-icc.c:1286 1286 ret = cmsSaveProfileToMem (priv->lcms_profile, (gdb) p length $3 = 20993800142848 (gdb) My proposed fix is to change the type of 'length' to cmsUInt32Number. Thanks Stephan, this fixes colord for me on OpenBSD/sgi. Fixes build on openSUSE/Factory ppc64 too Pushed to master, thanks all! |
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.
Created attachment 78230 [details] full build log colord 0.1.33 fails to build on ppc64. The failure is: GEN AdobeRGB1998.icc failed to save ICC file, requested 20993800142848bytes and limit is 16Mb make[3]: *** [AdobeRGB1998.icc] Error 1