Cross compile error

I'm trying to cross compile Inkscape 0.44. I just re-tested this with a freshly un-tarred download to make sure I hadn't broken something while looking at the code.
The error including the last compiler call is (line breaks added for easier reading):
i686-pc-mingw32-g++ -g -O3 -Wall -mms-bitfields -DVERSION="0.44" -DXP_WIN -D_INTL_REDIRECT_INLINE -DHAVE_CONFIG_H -I. -I.. -I../.. -I../cxxtest -DGLIBMM_DLL -I/target/include/glibmm-2.4 -I/target/lib/glibmm-2.4/include -I/target/include/gtkmm-2.4 -I/target/lib/gtkmm-2.4/include -I/target/include/gdkmm-2.4 -I/target/lib/gdkmm-2.4/include -I/target/include/pangomm-1.4 -I/target/include/atkmm-1.6 -I/target/include/cairo -I/target/include/sigc++-2.0 -I/target/lib/sigc++-2.0/include -I/target/include/gtk-2.0 -I/target/lib/gtk-2.0/include -I/target/include/atk-1.0 -I/target/include/pango-1.0 -I/target/include/glib-2.0 -I/target/lib/glib-2.0/include -I/target/include -Wno-comment -I/target/perl/lib/CORE -I/target/python/include-I/target/include/loudmouth-1.0 -I/target/include/libxml2 -I/target/include/freetype2 -Ialgorithms -Iapplication -Idebug -Idialogs -Idisplay -Idom -Idom/io -Idom -Idom/odf -Idom -Idom/svg -Idom -Idom/util -Idom -Iextension -Iextension/implementation -Iextension -Iextension/internal -Iextension -Iextension/script -Iextension -Igraphlayout -Ihelper -Iinkjar -Iio -Ilibavoid -Ilibcroco -Ilibnr -Ilibnrtype -Ilivarot -Ipixmaps -Iremoveoverlap -Iremoveoverlap/pairingheap -Iremoveoverlap -Isvg -Itrace -Itrace/potrace -Itrace -Itraits -Iui -Iui/dialog -Iui -Iui/view -Iui/widget -Iutil -Iwidgets -Ixml/ -c -o debug/sysv-heap.o debug/sysv-heap.cpp
debug/sysv-heap.cpp: In member function 'virtual Inkscape::Debug::Heap::Stats Inkscape::Debug::SysVHeap::stats() const':
debug/sysv-heap.cpp:37: error: variable 'Inkscape::Debug::mallinfo info' has initializer but incomplete type
debug/sysv-heap.cpp:37: error: invalid use of undefined type 'struct Inkscape::Debug::mallinfo'
debug/sysv-heap.cpp:37: error: forward declaration of 'struct Inkscape::Debug::mallinfo'
make[1]: *** [debug/sysv-heap.o] Error 1
make[1]: Leaving directory `/home/stuporglue/Desktop/inkscape-0.44/src'
make: *** [all] Error 2
The options I used for ./configure were: ./configure --host=mingw32 --disable-mmx --without-gnome-vfs --without-xft --disable-lcms --without-inkjar
followed by a "make -f Makefile.mingw".
Is there a problem in debug/sysv-heap.cpp, or am I doing something wrong?
Thanks,

Michael:
I'm not sure how it did it, but it looks as if somehow autoconf messed up some files used by the win32 build. You should not run ./configure at all. Rather, from a pristine unpacking of that tarball, just run
make -f Makefile.mingw make -f Makefile.mingw dist
We went through a lot of effort to try to make the build experience on the cross-compiler to be as close to that of the native compiler as possible.
I don't think it needs to be run, but if the link part reports "missing symbol" for anything, then cd into /src and run deptool again. Note that when using deptool with the cross-compiler, deptool itself needs to be built with the native compiler.
Drop by the inkscape chat group if you still have problems and one of us will likely be there to walk you through it.
bob
Michael Moore wrote:
I'm trying to cross compile Inkscape 0.44. I just re-tested this with a freshly un-tarred download to make sure I hadn't broken something while looking at the code.
The error including the last compiler call is (line breaks added for easier reading):
i686-pc-mingw32-g++ -g -O3 -Wall -mms-bitfields -DVERSION="0.44" -DXP_WIN -D_INTL_REDIRECT_INLINE -DHAVE_CONFIG_H -I. -I.. -I../.. -I../cxxtest -DGLIBMM_DLL -I/target/include/glibmm-2.4 -I/target/lib/glibmm-2.4/include -I/target/include/gtkmm-2.4 -I/target/lib/gtkmm-2.4/include -I/target/include/gdkmm-2.4 -I/target/lib/gdkmm-2.4/include -I/target/include/pangomm-1.4 -I/target/include/atkmm-1.6 -I/target/include/cairo -I/target/include/sigc++-2.0 -I/target/lib/sigc++-2.0/include -I/target/include/gtk-2.0 -I/target/lib/gtk-2.0/include -I/target/include/atk-1.0 -I/target/include/pango-1.0 -I/target/include/glib-2.0 -I/target/lib/glib-2.0/include -I/target/include -Wno-comment -I/target/perl/lib/CORE -I/target/python/include-I/target/include/loudmouth-1.0 -I/target/include/libxml2 -I/target/include/freetype2 -Ialgorithms -Iapplication -Idebug -Idialogs -Idisplay -Idom -Idom/io -Idom -Idom/odf -Idom -Idom/svg -Idom -Idom/util -Idom -Iextension -Iextension/implementation -Iextension -Iextension/internal -Iextension -Iextension/script -Iextension -Igraphlayout -Ihelper -Iinkjar -Iio -Ilibavoid -Ilibcroco -Ilibnr -Ilibnrtype -Ilivarot -Ipixmaps -Iremoveoverlap -Iremoveoverlap/pairingheap -Iremoveoverlap -Isvg -Itrace -Itrace/potrace -Itrace -Itraits -Iui -Iui/dialog -Iui -Iui/view -Iui/widget -Iutil -Iwidgets -Ixml/ -c -o debug/sysv-heap.o debug/sysv-heap.cpp
debug/sysv-heap.cpp: In member function 'virtual Inkscape::Debug::Heap::Stats Inkscape::Debug::SysVHeap::stats() const':
debug/sysv-heap.cpp:37: error: variable 'Inkscape::Debug::mallinfo info' has initializer but incomplete type
debug/sysv-heap.cpp:37: error: invalid use of undefined type 'struct Inkscape::Debug::mallinfo'
debug/sysv-heap.cpp:37: error: forward declaration of 'struct Inkscape::Debug::mallinfo'
make[1]: *** [debug/sysv-heap.o] Error 1
make[1]: Leaving directory `/home/stuporglue/Desktop/inkscape-0.44/src'
make: *** [all] Error 2
The options I used for ./configure were: ./configure --host=mingw32 --disable-mmx --without-gnome-vfs --without-xft --disable-lcms --without-inkjar
followed by a "make -f Makefile.mingw".
Is there a problem in debug/sysv-heap.cpp, or am I doing something wrong?
Thanks,
participants (2)
-
Bob Jamison
-
Michael Moore