Whilst talking to Mental, I noticed one thing about the Boehm-GC libs that might be a problem on Win32. gc6.2 and gc6.3 have similarly-named .h files in their include directory, but they are in -different places-. This means that an upgrade from 6.2 to 6.3 will not overwrite the .h files, and a mismatch between the .h definitions, and the actual object in libgc.a, is very possible.
To reduce the number of candidate sources of bugs in GC by one more, I have repackaged gtk24.zip to contain only the .h files supplied by gc6.3.
The cleaned-up gtk24.zip is here: http://troi.hous.es3.titan.com/~rjamison/inkscape/gtk24.zip ...and a complete rebuild of Inkscape is here: http://troi.hous.es3.titan.com/~rjamison/inkscape/builds/Inkscape0409010635....
Again, I am not saying that this is going to fix the problems, but as Forrest Gump would say, "that's one less thing."
Bob
Bob wrote...
...and a complete rebuild of Inkscape is here:
http://troi.hous.es3.titan.com/~rjamison/inkscape/builds/Inkscape0409010635....
I brought this down this morning. It crashed on startup.
I have been away for six weeks. Can someone please point me to the latest working w32 copy?
Thanks, vellum.
vellum wrote:
http://troi.hous.es3.titan.com/~rjamison/inkscape/builds/Inkscape0409010635....
I brought this down this morning. It crashed on startup.
I have been away for six weeks. Can someone please point me to the latest working w32 copy?
Thanks, vellum.
I have put up two version: Thre real working old version I use: http://sudhan.ath.cx/inkscape0408051000.zip (From http://cortijodelrio.net/~inkscape/win32/)
The latest one I could get to compile and work (minus the text elements) http://sudhan.ath.cx/inkscape040830_self.zip
I will leave the stuff up for a day or two.
Sudhan.
I have rebuilt all of the C++ libs: gccpp glibmm gtkmm sigc++
...to be static. I am now tweaking the libs and the Inkscape win32 makefiles to get the link to work again. Once I have them done, I will post them on the web site.
Bob
Bob Jamison wrote:
I have rebuilt all of the C++ libs: gccpp glibmm gtkmm sigc++
...to be static. I am now tweaking the libs and the Inkscape win32 makefiles to get the link to work again. Once I have them done, I will post them on the web site.
Bob
Well, apparently, the gurus think that if you are on Win32, then you really want DLLs, whether you know it or not. --enable-static --disable-shared does not affect this, GLIBMM_DLL still gets hardcoded into glibmmconfig.h. So, I'm hacking the file to #undef it.. Ouch. Need to rebuild everything. (Since Gtkmm has refs to Glibmm).
Bob
Bob Jamison wrote:
Well, apparently, the gurus think that if you are on Win32, then you really want DLLs, whether you know it or not. --enable-static --disable-shared does not affect this, GLIBMM_DLL still gets hardcoded into glibmmconfig.h. So, I'm hacking the file to #undef it.. Ouch. Need to rebuild everything. (Since Gtkmm has refs to Glibmm).
Fun, isn't it?
There's a lot of subtle things to get straight for Win32, especially if Win98 support is still needed. We should probably get all we can together as far as people to test, suggest and code. I have a feeling that we can push to improve a lot of things better just by making Inkscape keep Win32 as a first-class citizen.
I've got more time freed up now, so can help a little more on the Win32 front myself. For some of the stuff I wanted to fix, I'd already been in touch with the proper glib people and I'm pretty sure that anything we work out can get pushed upstream. I'd even been threatened with being given CVS commit access. :-)
So, Bob, think you can round up our Win32 troops for both building and testing? I'll look at probably setting up a short page on the wiki to cover the different aspects.
I'll take any volunteers at all. :)
Ok. I rebuilt all of the C++ libs to be static. There are no longer any C++ DLLs. A test build using this new package of libs is: http://troi.hous.es3.titan.com/~rjamison/inkscape/builds/Inkscape0409021512.... and the new gtk24.zip is: http://troi.hous.es3.titan.com/~rjamison/inkscape/gtk24.zip
Notice its new and improved size. Much larger, but not as bad as the 100mb that I had feared. gcc3.4.1 makes a difference, I guess.
Bob
Jon A. Cruz wrote:
There's a lot of subtle things to get straight for Win32, especially if Win98 support is still needed. We should probably get all we can together as far as people to test, suggest and code. I have a feeling that we can push to improve a lot of things better just by making Inkscape keep Win32 as a first-class citizen.
I've got more time freed up now, so can help a little more on the Win32 front myself. For some of the stuff I wanted to fix, I'd already been in touch with the proper glib people and I'm pretty sure that anything we work out can get pushed upstream. I'd even been threatened with being given CVS commit access. :-)
So, Bob, think you can round up our Win32 troops for both building and testing? I'll look at probably setting up a short page on the wiki to cover the different aspects.
It works.
Party time!!!
Virtue has been rewarded. (well, someone else's, if not mine)
Bob Jamison wrote:
Ok. I rebuilt all of the C++ libs to be static. There are no longer any C++ DLLs. A test build using this new package of libs is: http://troi.hous.es3.titan.com/~rjamison/inkscape/builds/Inkscape0409021512....
and the new gtk24.zip is: http://troi.hous.es3.titan.com/~rjamison/inkscape/gtk24.zip
Cool! Does this solve the crash issues? Are we ready to pop out of freeze mode?
Bryce
On Thu, 2 Sep 2004, Bob Jamison wrote:
It works.
Party time!!!
Virtue has been rewarded. (well, someone else's, if not mine)
Bob Jamison wrote:
Ok. I rebuilt all of the C++ libs to be static. There are no longer any C++ DLLs. A test build using this new package of libs is: http://troi.hous.es3.titan.com/~rjamison/inkscape/builds/Inkscape0409021512....
and the new gtk24.zip is: http://troi.hous.es3.titan.com/~rjamison/inkscape/gtk24.zip
This SF.Net email is sponsored by BEA Weblogic Workshop FREE Java Enterprise J2EE developer tools! Get your free copy of BEA WebLogic Workshop 8.1 today. http://ads.osdn.com/?ad_id=5047&alloc_id=10808&op=click _______________________________________________ Inkscape-devel mailing list Inkscape-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-devel
On Thu, 2004-09-02 at 16:37, Bob Jamison wrote:
It works.
Party time!!!
Virtue has been rewarded. (well, someone else's, if not mine)
Now we just need to find out whether it was because we statically linked, or because we turned off optimization.
Obviously if the latter it most likely indicates a compiler bug.
-mental
Bob Jamison wrote
" A test build using this new package
of libs is:
http://troi.hous.es3.titan.com/~rjamison/inkscape/builds/Inkscape0409021512...."
I tested it this morning and it works for w2k. Will not be able to really play for a few days but certainly it opened and drew some scribs and the buttons that I tried worked. Great news.
vellum
Bob Jamison wrote:
and the new gtk24.zip is: http://troi.hous.es3.titan.com/~rjamison/inkscape/gtk24.zip
I noticed this morning that one of the tweaks that I made to Glibmm to make it static, did not make it into the .zip file. I made the fix, tested, and uploaded another copy. You will need this one. Sorry!
I also uploaded another InkscapeXXX.zip .
On another note, an FYI, that you probably already know --- one practice that I once knew, but forgot, and relearned this week to find our errors, is finding out where in all of the messy #includes a certain thing might be defined. It's very simple. Take the compile line that makes your target file, and modify it to use the -E flag. For example, this line is invoked by the makefile:
if g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/local/include/gtk-2.0 -I/usr/local/lib/gtk-2.0/include -I/usr/local/include/atk-1.0 -I/usr/local/include/pango-1.0 -I/usr/X11R6/include -I/usr/include/freetype2 -I/usr/include/freetype2/config -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -I/usr/local/include/sigc++-2.0 -I/usr/local/lib/sigc++-2.0/include -I/usr/local/include/gtkmm-2.4 -I/usr/local/lib/gtkmm-2.4/include -I/usr/local/include/glibmm-2.4 -I/usr/local/lib/glibmm-2.4/include -I/usr/local/include/gdkmm-2.4 -I/usr/local/lib/gdkmm-2.4/include -I/usr/local/include/pangomm-1.4 -I/usr/local/include/atkmm-1.6 -I/usr/include/libxml2 -Wall -W -Wpointer-arith -Wcast-align -Wsign-compare -Woverloaded-virtual -Wswitch -Wno-unused-parameter -g -O2 -MT inkview.o -MD -MP -MF ".deps/inkview.Tpo" \ -c -o inkview.o `test -f 'inkview.cpp' || echo './'`inkview.cpp; \ then mv -f ".deps/inkview.Tpo" ".deps/inkview.Po"; \ else rm -f ".deps/inkview.Tpo"; exit 1; \ fi
...copy/paste, and modify it to be .....
g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/local/include/gtk-2.0 -I/usr/local/lib/gtk-2.0/include -I/usr/local/include/atk-1.0 -I/usr/local/include/pango-1.0 -I/usr/X11R6/include -I/usr/include/freetype2 -I/usr/include/freetype2/config -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -I/usr/local/include/sigc++-2.0 -I/usr/local/lib/sigc++-2.0/include -I/usr/local/include/gtkmm-2.4 -I/usr/local/lib/gtkmm-2.4/include -I/usr/local/include/glibmm-2.4 -I/usr/local/lib/glibmm-2.4/include -I/usr/local/include/gdkmm-2.4 -I/usr/local/lib/gdkmm-2.4/include -I/usr/local/include/pangomm-1.4 -I/usr/local/include/atkmm-1.6 -I/usr/include/libxml2 -Wall -W -Wpointer-arith -Wcast-align -Wsign-compare -Woverloaded-virtual -Wswitch -Wno-unused-parameter -g -O2 -MT inkview.o -MD -MP -MF ".deps/inkview.Tpo" \ -E inkview.cpp > myfile.txt
And you will have a (very large) file with all of the C code defining your file, -INCLUDING- every file that was #included. A quick search will reveal where your symbol was defined.
Bob
participants (6)
-
Bob Jamison
-
Bryce Harrington
-
Jon A. Cruz
-
MenTaLguY
-
Sudhan
-
vellum