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"}%
|