(file) Return to LugWine.txt CVS log (file) (dir) Up to [RizwankCVS] / geekymedia_web / twiki / data / WineDev

  1 rizwank 1.1 %META:TOPICINFO{author="RizwanKassim" date="1107307849" format="1.0" version="1.5"}%
  2             %META:TOPICPARENT{name="WebHome"}%
  3             Submitted to Wine-devel on Jan 31.
  4             
  5             <blockquote>
  6             An update to my previous posting:
  7             
  8             Steps:
  9             1) Install debian-stable-latest.
 10             2) get Wine directly off the CVS server (version used Jan 31 2005 22:52p PST)
 11             3) configure, make depend, make.
 12             
 13             The following results in dlls/oleaut32:
 14             
 15             gcc -c -I. -I. -I../../include -I../../include  -D__WINESRC__  -D_OLEAUT32_ -DCOM_NO_WINDOWS_H -D_REENTRANT -fPIC -Wall -pipe -mpreferred-stack-boundary=2 -fno-strict-aliasing -gstabs+ -Wpointer-arith  -g -O2 -o olepicture.o olepicture.c
 16             In file included from /usr/include/jpeglib.h:24,
 17             					 from olepicture.c:85:
 18             /usr/include/jconfig.h:12: warning: `HAVE_STDLIB_H' redefined
 19             ../../include/config.h:541: warning: this is the location of the previous definition
 20             olepicture.c:898: `DGifOpen' undeclared here (not in a function)
 21             olepicture.c:898: warning: type defaults to `int' in declaration of `pDGifOpen'
 22 rizwank 1.1 olepicture.c: In function `_gif_inputfunc':
 23             olepicture.c:930: structure has no member named `UserData'
 24             olepicture.c: In function `OLEPictureImpl_Load':
 25             olepicture.c:1040: called object is not a function
 26             olepicture.c:1070: structure has no member named `Function'
 27             olepicture.c:1018: warning: `gif' might be used uninitialized in this function
 28             make[2]: *** [olepicture.o] Error 1
 29             
 30             jconfig.h just seems like a "bad citizen" - #undef HAVE_STDLIB_H before it redefines it works fine. 
 31             
 32             Of greater concern is the issues with DGifOpen.
 33             
 34             It seems that configure approves of vesrion 3.0.0 of libungif.so / gif_lib.h, but compile fails using 3.0.0. DGifOpen 
 35             gif_lib.h 4.0.0 compiles correctly (even without updating libungif.so, but afaik thats pretty poor practice)
 36             
 37             The gif_lib.h that configure approves of is labeled version 3.0 by Eric S Raymond.
 38             
 39             (from gif_lib.h - 4.0.0 : 
 40             GifFileType *DGifOpen(void *userPtr, InputFunc readFunc);	 /* new one
 41             
 42             Interestingly, it seems that configure DOES show the failure during the test compile:
 43 rizwank 1.1 
 44             
 45             config.log:
 46             configure:15570: test -s conftest
 47             configure:15573: $? = 0
 48             configure:15590: result: libjpeg.so.62
 49             configure:15599: checking for -lungif soname
 50             configure:15629: gcc -o conftest -g -O2	conftest.c -lungif	>&5
 51             /tmp/ccdg49tg.o: In function `main':
 52             /home/rizwank/wine/conftest.c:155: undefined reference to `DGifOpen'
 53             collect2: ld returned 1 exit status
 54             configure:15635: $? = 1
 55             configure: failed program was:
 56             <snip confdefs.h and a few more lines>
 57             configure:15738: result: libgif.so
 58             
 59             [[http://sources.redhat.com/ml/cygwin/1999-11/msg00232.html How GCC finds its libraries and includes]]
 60             
 61             =======
 62             
 63             Now, looking through config.log, I noticed a number of various errors that didn't lead to compile errors in wine, but this one did. (its easy to quelch the error, copy a new lib_gif.h to dlls/oleaut32. I'd assume that new libraries would be smart; while oleauto32/tests doesn't report any errors with using 4.0 of lib_gif.h and 3.0 of libungif.so, it doesn't seem to actually test any of the olepicture calls just yet). 
 64 rizwank 1.1 
 65             So, whats the next step? Should it be a critical error for configure? Should configure report the incorrect gif_lib.h (and old libungif)? I'm new enough to OSS projects that I'm not sure if I should :
 66             a) attempt to patch configure to report the error and stop the configure process
 67             b) patch olepicture.c to stop using DGifOpen
 68             c) submit gif_lib.h to the tree in dlls/oleaut32
 69             
 70             This has been (partially) reported as Bug 1730 and 2437.
 71             
 72             Any input would be totally appreciated! 
 73             
 74             Rizwan
 75             
 76             (outputs of configure, make depend, make and make test, as well as config.log and config.status are available at http://www.geekymedia.com/twiki/bin/view.cgi/WineDev/LugWine )
 77             </blockquote>
 78             
 79             	* [[%ATTACHURL%/Jan31.cvs.txt][Jan31.cvs.txt]]: Jan 31 Wine Rebuild - CVS log
 80             	* [[%ATTACHURL%/Jan31.configure.txt][Jan31.configure.txt]]: Jan 31 Wine Rebuild - Configure log
 81             	* [[%ATTACHURL%/config.log][config.log]]: Jan 31 Wine Rebuild - config.log
 82             	* [[%ATTACHURL%/config.status][config.status]]: Jan 31 Wine Rebuild - config.status
 83             	* [[%ATTACHURL%/Jan31.depend.txt][Jan31.depend.txt]]: Jan 31 Wine Rebuild - 'make depend' log
 84             	* [[%ATTACHURL%/Jan31.make-wogif.txt][Jan31.make-wogif.txt]]: Jan 31 Wine Rebuild - 'make' log
 85 rizwank 1.1 	* [[%ATTACHURL%/Jan31.depend2.txt][Jan31.depend2.txt]]: Jan 31 Wine Rebuild - 'make depend' log #2 - post gif_lib.h fix
 86             	* [[%ATTACHURL%/Jan31.make.txt][Jan31.make.txt]]: Jan 31 Wine Rebuild - 'make' log #2 - post gif_lib.h fix
 87             
 88             
 89             
 90             OLD !!!! =============
 91             
 92             Run the following commands in your wine source directory to be able to compile wine properly on linux.ucla.edu. This is for an in-tree build, but should work for an out-of-tree build.
 93             
 94             %begin sh%
 95             #! /bin/sh
 96             # Make sure that we are in the wine directory, basic test
 97             if [ -d dlls/oleaut32 ] ; then
 98             	 cd dlls/oleaut32
 99             	 cp /usr/include/jconfig.h .
100             	 cp /usr/include/jpeglib.h .
101             	 export LD_LIBRARY_PATH=$PWD
102             	 sed 's/^#define HAVE_STDLIB_H/#undef HAVE_STDLIB_H\
103             #define HAVE_STDLIB_H/' jconfig.h > jconfig.new
104             	 rm jconfig.h
105             	 mv jconfig.new jconfig.h
106 rizwank 1.1 	 echo "For the moment, this pollutes the oleaut32 directory"
107             	 wget http://belnet.dl.sourceforge.net/sourceforge/libungif/giflib-4.1.3.tar.bz2
108             	 tar -jxvf giflib-4.1.3.tar.bz2 giflib-4.1.3/lib/gif_lib.h
109             	 mv giflib-4.1.3/lib/gif_lib.h .
110             fi;
111             %end%
112             
113             Yes, I probably could have found a better way of doing the newline, but nothing sprung out at me. (http://www.computing.net/unix/wwwboard/forum/5640.html)
114             Oh, I just found http://sed.sourceforge.net/#docs ... useful!
115             
116             
117             
118             TODO : Add install/config options.
119             
120             
121             
122             -- Main.RizwanKassim - 19 Jan 2005
123             
124             %META:FILEATTACHMENT{name="Jan31.cvs.txt" attr="" comment="Jan 31 Wine Rebuild - CVS log" date="1107248758" path="C:\cygwin\home\rizwank\log\Jan31.cvs.txt" size="128886" user="RizwanKassim" version="1.1"}%
125             %META:FILEATTACHMENT{name="Jan31.configure.txt" attr="" comment="Jan 31 Wine Rebuild - Configure log" date="1107248785" path="C:\cygwin\home\rizwank\log\Jan31.configure.txt" size="33128" user="RizwanKassim" version="1.1"}%
126             %META:FILEATTACHMENT{name="Jan31.depend.txt" attr="" comment="Jan 31 Wine Rebuild - 'make depend' log" date="1107248821" path="C:\cygwin\home\rizwank\log\Jan31.depend.txt" size="85090" user="RizwanKassim" version="1.1"}%
127 rizwank 1.1 %META:FILEATTACHMENT{name="Jan31.depend2.txt" attr="" comment="Jan 31 Wine Rebuild - 'make depend' log #2 - post gif_lib.h fix" date="1107248931" path="C:\cygwin\home\rizwank\log\Jan31.depend2.txt" size="125060" user="RizwanKassim" version="1.1"}%
128             %META:FILEATTACHMENT{name="Jan31.make-wogif.txt" attr="" comment="Jan 31 Wine Rebuild - 'make' log" date="1107248959" path="C:\cygwin\home\rizwank\log\Jan31.make-wogif.txt" size="155474" user="RizwanKassim" version="1.1"}%
129             %META:FILEATTACHMENT{name="Jan31.make.txt" attr="" comment="Jan 31 Wine Rebuild - 'make' log #2 - post gif_lib.h fix" date="1107249008" path="C:\cygwin\home\rizwank\log\Jan31.make.txt" size="543213" user="RizwanKassim" version="1.1"}%
130             %META:FILEATTACHMENT{name="config.log" attr="" comment="Jan 31 Wine Rebuild - config.log" date="1107249064" path="C:\cygwin\home\rizwank\log\config.log" size="565389" user="RizwanKassim" version="1.1"}%
131             %META:FILEATTACHMENT{name="config.status" attr="" comment="Jan 31 Wine Rebuild - config.status" date="1107249086" path="C:\cygwin\home\rizwank\log\config.status" size="95379" user="RizwanKassim" version="1.1"}%

Rizwan Kassim
Powered by
ViewCVS 0.9.2