I started getting the following failures about two days ago:
../../tools/winegcc/winegcc -B../../tools/winebuild -shared ./mscms.spec handle.o icc.o mscms_main.o profile.o stub.o transform.o mscms.dll.dbg.o version.res -o mscms.dll.so -L../../dlls -L../../dlls/kernel32 -L../../dlls/ntdll -lkernel32 -lntdll -L../../libs/wine -lwine -L../../libs/port -lwine_port profile.o: In function `OpenColorProfileW': /test/wine/dlls/mscms/profile.c:786: undefined reference to `cmsOpenProfileFromMem' /test/wine/dlls/mscms/profile.c:835: undefined reference to `cmsOpenProfileFromMem' profile.o: In function `CloseColorProfile': /test/wine/dlls/mscms/profile.c:2246: undefined reference to `cmsCloseProfile' transform.o: In function `CreateColorTransformW': /test/wine/dlls/mscms/transform.c:72: undefined reference to `cmsCreate_sRGBProfile' /test/wine/dlls/mscms/transform.c:85: undefined reference to `cmsCreateMultiprofileTransform' /test/wine/dlls/mscms/transform.c:82: undefined reference to `cmsCreateTransform' transform.o: In function `CreateMultiProfileTransform': /test/wine/dlls/mscms/transform.c:2246: undefined reference to `cmsCreateMultiprofileTransform' transform.o: In function `DeleteColorTransform': /test/wine/dlls/mscms/transform.c:133: undefined reference to `cmsDeleteTransform' transform.o: In function `TranslateBitmapBits': /test/wine/dlls/mscms/transform.c:159: undefined reference to `cmsDoTransform' collect2: ld returned 1 exit status winegcc: /sw/gcc-3.3.4/bin/gcc failed. gmake: *** [mscms.dll.so] Error 2
The last change to transform.c was the following:
revision 1.3 date: 2005/07/15 10:09:43; author: julliard; state: Exp; lines: +1 -3 Hans Leidekker hans@it.vu.nl Link directly to liblcms. Fix typo in test.
This is on FreeBSD 4.10, but I expect it may be more related to the system still running XFree86 4.3?
Is some configure check missing somewhere?
Gerald
On Monday 18 July 2005 15:53, Gerald Pfeifer wrote:
revision 1.3 date: 2005/07/15 10:09:43; author: julliard; state: Exp; lines: +1 -3 Hans Leidekker hans@it.vu.nl Link directly to liblcms. Fix typo in test.
This is on FreeBSD 4.10, but I expect it may be more related to the system still running XFree86 4.3?
Is some configure check missing somewhere?
You have the lcms headers but somehow linking against lcms fails on your system. Can you find out why? Jacek had traced this problem to a 64-bit version of lcms on his system.
Patch below should fix your compile problems but you should realize that afterwards you will not have a functional mscms dll unless you also fix the linking problem.
-Hans
Changelog Make lcms support depend on headers _and_ libraries, not just the headers.
On Mon, 18 Jul 2005, Hans Leidekker wrote:
You have the lcms headers but somehow linking against lcms fails on your system. Can you find out why? Jacek had traced this problem to a 64-bit version of lcms on his system.
I found that on that test system lcms was installed in /usr/local:
/usr/local/include/lcms.h /usr/local/lib/liblcms.a /usr/local/lib/liblcms.so /usr/local/lib/liblcms.so.1
The compiler considers /usr/local/include for include files, but later the compiler/linker then fails to consider /usr/local/lib for libraries.
Patch below should fix your compile problems but you should realize that afterwards you will not have a functional mscms dll unless you also fix the linking problem.
Thanks a lot for the quick response and patch, Hans! I'm happy to confirm that the patch indeed addresses the build problem on that test system.
The FreeBSD port of Wine in the FreeBSD Ports Collection will consider /usr/local so the users shall get the extended functionality.
Gerald