Problem in compiling Xara 0.5 b1199
Dear all, I strongly need to compile Xara from the source code for maintaining the translation into Russian. However, I have a problem here. I followed the instruction from http://www.xaraxtreme.org/developers...tructions.html
I installed all the prerequisites, downloaded and compiled (seemingly successfully) wxWidgets 2.6.3, but I get errors when compiling Xara 0.5 b1199 itself. Please find below the output from autoreconf, ./configure and make. Any help is greatly appreciated.
Code:
yasha@monstr:/home/Linux/XaraLX/XaraLX-0.5r1199> autoreconf -f -i -s
Copying file config.rpath
Copying file m4/codeset.m4
Copying file m4/gettext.m4
Copying file m4/glibc2.m4
Copying file m4/glibc21.m4
Copying file m4/iconv.m4
Copying file m4/intdiv0.m4
Copying file m4/intmax.m4
Copying file m4/inttypes-pri.m4
Copying file m4/inttypes.m4
Copying file m4/inttypes_h.m4
Copying file m4/isc-posix.m4
Copying file m4/lcmessage.m4
Copying file m4/lib-ld.m4
Copying file m4/lib-link.m4
Copying file m4/lib-prefix.m4
Copying file m4/longdouble.m4
Copying file m4/longlong.m4
Copying file m4/nls.m4
Copying file m4/po.m4
Copying file m4/printf-posix.m4
Copying file m4/progtest.m4
Copying file m4/signed.m4
Copying file m4/size_max.m4
Copying file m4/stdint_h.m4
Copying file m4/uintmax_t.m4
Copying file m4/ulonglong.m4
Copying file m4/wchar_t.m4
Copying file m4/wint_t.m4
Copying file m4/xsize.m4
Copying file mkinstalldirs
Copying file po/Makefile.in.in
/usr/share/aclocal/libstroke.m4:29: warning: underquoted definition of smr_ARG_WITHLIB
run info '(automake)Extending aclocal'
or see http://sources.redhat.com/automake/automake.html#Extending-aclocal
/usr/share/aclocal/libstroke.m4:77: warning: underquoted definition of smr_ARG_WITHINCLUDES
/usr/share/aclocal/libstroke.m4:119: warning: underquoted definition of smr_CHECK_LIB
/usr/share/aclocal/libgstroke.m4:29: warning: underquoted definition of smr_ARG_WITHLIB
/usr/share/aclocal/libgstroke.m4:77: warning: underquoted definition of smr_ARG_WITHINCLUDES
/usr/share/aclocal/libgstroke.m4:119: warning: underquoted definition of smr_CHECK_LIB
aclocal:configure.in:9: warning: macro `AM_BINRELOC' not found in library
/usr/share/aclocal/libstroke.m4:29: warning: underquoted definition of smr_ARG_WITHLIB
run info '(automake)Extending aclocal'
or see http://sources.redhat.com/automake/automake.html#Extending-aclocal
/usr/share/aclocal/libstroke.m4:77: warning: underquoted definition of smr_ARG_WITHINCLUDES
/usr/share/aclocal/libstroke.m4:119: warning: underquoted definition of smr_CHECK_LIB
/usr/share/aclocal/libgstroke.m4:29: warning: underquoted definition of smr_ARG_WITHLIB
/usr/share/aclocal/libgstroke.m4:77: warning: underquoted definition of smr_ARG_WITHINCLUDES
/usr/share/aclocal/libgstroke.m4:119: warning: underquoted definition of smr_CHECK_LIB
aclocal:configure.in:9: warning: macro `AM_BINRELOC' not found in library
configure.in: installing `./install-sh'
configure.in: installing `./missing'
Kernel/Makefile.am: installing `./depcomp'
Makefile.am: installing `./INSTALL'
Code:
yasha@monstr:/home/Linux/XaraLX/XaraLX-0.5r1199> ./configure
checking build system type... i686-suse-linux
checking host system type... i686-suse-linux
checking target system type... i686-suse-linux
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for style of include used by make... GNU
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ANSI C... none needed
checking dependency style of gcc... gcc3
checking for /proc/self/maps... yes
checking whether everything is installed to the same prefix... yes
checking whether binary relocation support should be enabled... yes
checking for pthread_getspecific in -lpthread... yes
checking whether binary relocation should use threads... yes
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... gcc3
checking for a BSD-compatible install... /usr/bin/install -c
checking for a sed that does not truncate output... /usr/bin/sed
checking for egrep... grep -E
checking for ld used by gcc... /usr/i586-suse-linux/bin/ld
checking if the linker (/usr/i586-suse-linux/bin/ld) is GNU ld... yes
checking for /usr/i586-suse-linux/bin/ld option to reload object files... -r
checking for BSD-compatible nm... /usr/bin/nm -B
checking whether ln -s works... yes
checking how to recognise dependent libraries... pass_all
checking how to run the C preprocessor... gcc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking dlfcn.h usability... yes
checking dlfcn.h presence... yes
checking for dlfcn.h... yes
checking how to run the C++ preprocessor... g++ -E
checking for g77... no
checking for f77... no
checking for xlf... no
checking for frt... no
checking for pgf77... no
checking for fort77... no
checking for fl32... no
checking for af77... no
checking for f90... no
checking for xlf90... no
checking for pgf90... no
checking for epcf90... no
checking for f95... no
checking for fort... no
checking for xlf95... no
checking for ifc... no
checking for efc... no
checking for pgf95... no
checking for lf95... no
checking for gfortran... no
checking whether we are using the GNU Fortran 77 compiler... no
checking whether accepts -g... no
checking the maximum length of command line arguments... 32768
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for objdir... .libs
checking for ar... ar
checking for ranlib... ranlib
checking for strip... strip
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC
checking if gcc PIC flag -fPIC works... yes
checking if gcc static flag -static works... yes
checking if gcc supports -c -o file.o... yes
checking whether the gcc linker (/usr/i586-suse-linux/bin/ld) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... cat: /etc/ld.so.conf.d/*.conf: No such file or directory
GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
configure: creating libtool
appending configuration tag "CXX" to libtool
checking for ld used by g++... /usr/i586-suse-linux/bin/ld
checking if the linker (/usr/i586-suse-linux/bin/ld) is GNU ld... yes
checking whether the g++ linker (/usr/i586-suse-linux/bin/ld) supports shared libraries... yes
checking for g++ option to produce PIC... -fPIC
checking if g++ PIC flag -fPIC works... yes
checking if g++ static flag -static works... yes
checking if g++ supports -c -o file.o... yes
checking whether the g++ linker (/usr/i586-suse-linux/bin/ld) supports shared libraries... yes
checking dynamic linker characteristics... cat: /etc/ld.so.conf.d/*.conf: No such file or directory
GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
appending configuration tag "F77" to libtool
checking whether byte ordering is bigendian... no
checking for void*... yes
checking size of void*... 4
checking for long long... yes
checking size of long long... 8
checking for long... yes
checking size of long... 4
checking for int... yes
checking size of int... 4
checking for short... yes
checking size of short... 2
checking for __int64... no
checking size of __int64... 0
checking Automake (1.9.6)... Version OK
checking Compiler... gcc >= 3.4.0, PreCompiled headers enabled
checking wxWidgets version... 2.6.3
checking wxWidgets GTK usage... found
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for GTK... yes
checking libxml2 version... 2.6.23
checking freetype version... 9.8.3
checking for PANGOX... yes
checking Linker... GNU ld
checking CDraw location... libs/x86
checking whether NLS is requested... yes
checking for msgfmt... /usr/bin/msgfmt
checking for gmsgfmt... /usr/bin/msgfmt
checking for xgettext... /usr/bin/xgettext
checking for msgmerge... /usr/bin/msgmerge
checking for ld used by GCC... /usr/i586-suse-linux/bin/ld
checking if the linker (/usr/i586-suse-linux/bin/ld) is GNU ld... yes
checking for shared library run path origin... done
checking for CFPreferencesCopyAppValue... no
checking for CFLocaleCopyCurrent... no
checking whether NLS is requested... yes
checking for GNU gettext in libc... yes
checking whether to use NLS... yes
checking where the gettext function comes from... libc
configure: creating ./config.status
config.status: creating Makefile
config.status: creating PreComp/Makefile
config.status: creating Kernel/Makefile
config.status: creating wxOil/Makefile
config.status: creating tools/Makefile
config.status: creating wxXtra/Makefile
config.status: creating po/Makefile.in
config.status: executing depfiles commands
config.status: executing default-1 commands
config.status: creating po/POTFILES
config.status: creating po/Makefile
Code:
yasha@monstr:/home/Linux/XaraLX/XaraLX-0.5r1199> make
Making all in PreComp
make[1]: Entering directory `/home/Linux/XaraLX/XaraLX-0.5r1199/PreComp'
if g++ -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"XaraLX\" -DVERSION=\"0.5\" -DENABLE_BINRELOC= -DHAVE_LIBPTHREAD=1 -DBR_PTHREAD=1 -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DSIZEOF_VOIDP=4 -DSIZEOF_LONG_LONG=8 -DSIZEOF_LONG=4 -DSIZEOF_INT=4 -DSIZEOF_SHORT=2 -DSIZEOF___INT64=0 -DENABLE_NLS=1 -DHAVE_GETTEXT=1 -DHAVE_DCGETTEXT=1 -I/usr/local/lib/wx/include/gtk2-unicode-release-2.6 -I/usr/local/include/wx-2.6 -DGTK_NO_CHECK_CASTS -D__WXGTK__ -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -DNO_GCC_PRAGMA -I/opt/gnome/include/pango-1.0 -I/usr/X11R6/include -I/opt/gnome/include/glib-2.0 -I/opt/gnome/lib/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/cairo -I/usr/include/freetype2 -I/usr/X11R6/include -I/usr/include/libpng12 -I/opt/gnome/include/gtk-2.0 -I/opt/gnome/lib/gtk-2.0/include -I/opt/gnome/include/atk-1.0 -I/opt/gnome/include/pango-1.0 -I/opt/gnome/include/glib-2.0 -I/opt/gnome/lib/glib-2.0/include -I/usr/include/libxml2 -Wall -Wno-unknown-pragmas -g -fexceptions -O3 -I/usr/local/lib/wx/include/gtk2-unicode-release-2.6 -I/usr/local/include/wx-2.6 -DGTK_NO_CHECK_CASTS -D__WXGTK__ -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -DNO_GCC_PRAGMA -I/opt/gnome/include/pango-1.0 -I/usr/X11R6/include -I/opt/gnome/include/glib-2.0 -I/opt/gnome/lib/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/cairo -I/usr/include/freetype2 -I/usr/X11R6/include -I/usr/include/libpng12 -I/opt/gnome/include/gtk-2.0 -I/opt/gnome/lib/gtk-2.0/include -I/opt/gnome/include/atk-1.0 -I/opt/gnome/include/pango-1.0 -I/opt/gnome/include/glib-2.0 -I/opt/gnome/lib/glib-2.0/include -I/usr/include/libxml2 -I../PreComp -I../wxOil -I.././Kernel -I.././wxOil -I.././wxOil/Res -I.././tools -I.././GDraw -I.././PreComp -I.././wxXtra -DUSE_NATIVE_XLONG -DBUILDSHADOWS -DOLD_MATRIX_TRANSFORMATIONS -DVECTOR_STROKING -DEXCLUDE_FROM_XARALX -DNEW_SHADOW_RENDER -DNO_XARACMS -DNEW_FEATURES -DSHOWPORTNOTE -DDO_EXPORT -x c++-header -MT camtypes.h.gch -MD -MP -MF ".deps/camtypes.h.Tpo" -c -o camtypes.h.gch camtypes.h; \
then mv -f ".deps/camtypes.h.Tpo" ".deps/camtypes.h.Po"; else rm -f ".deps/camtypes.h.Tpo"; exit 1; fi
/usr/local/include/wx-2.6/wx/hashmap.h: In member function ‘wxLongToLongHashMap_wxImplementation_HashTable::Node** wxLongToLongHashMap_wxImplementation_HashTable::GetNodePtr(const long int&) const’:
/usr/local/include/wx-2.6/wx/hashmap.h:705: warning: dereferencing type-punned pointer will break strict-aliasing rules
/usr/local/include/wx-2.6/wx/clntdata.h: In member function ‘wxShadowObjectMethods_wxImplementation_HashTable::Node** wxShadowObjectMethods_wxImplementation_HashTable::GetNodePtr(const wxString&) const’:
/usr/local/include/wx-2.6/wx/clntdata.h:26: warning: dereferencing type-punned pointer will break strict-aliasing rules
/usr/local/include/wx-2.6/wx/clntdata.h: In member function ‘wxShadowObjectFields_wxImplementation_HashTable::Node** wxShadowObjectFields_wxImplementation_HashTable::GetNodePtr(const wxString&) const’:
/usr/local/include/wx-2.6/wx/clntdata.h:31: warning: dereferencing type-punned pointer will break strict-aliasing rules
/usr/local/include/wx-2.6/wx/gdicmn.h: In member function ‘wxStringToColourHashMap_wxImplementation_HashTable::Node** wxStringToColourHashMap_wxImplementation_HashTable::GetNodePtr(const wxString&) const’:
/usr/local/include/wx-2.6/wx/gdicmn.h:476: warning: dereferencing type-punned pointer will break strict-aliasing rules
/usr/local/include/wx-2.6/wx/image.h: In member function ‘wxImageHistogramBase_wxImplementation_HashTable::Node** wxImageHistogramBase_wxImplementation_HashTable::GetNodePtr(const long unsigned int&) const’:
/usr/local/include/wx-2.6/wx/image.h:123: warning: dereferencing type-punned pointer will break strict-aliasing rules
/usr/local/include/wx-2.6/wx/cshelp.h: In member function ‘wxLongToStringHashMap_wxImplementation_HashTable::Node** wxLongToStringHashMap_wxImplementation_HashTable::GetNodePtr(const long int&) const’:
/usr/local/include/wx-2.6/wx/cshelp.h:144: warning: dereferencing type-punned pointer will break strict-aliasing rules
/usr/local/include/wx-2.6/wx/fs_zip.h: In member function ‘wxZipFilenameHashMap_wxImplementation_HashTable::Node** wxZipFilenameHashMap_wxImplementation_HashTable::GetNodePtr(const wxString&) const’:
/usr/local/include/wx-2.6/wx/fs_zip.h:25: warning: dereferencing type-punned pointer will break strict-aliasing rules
/usr/include/libxml2/libxml/xmlerror.h: At global scope:
/usr/include/libxml2/libxml/xmlerror.h:837: error: typedef ‘xmlGenericErrorFunc’ is initialized (use __typeof__ instead)
/usr/include/libxml2/libxml/xmlerror.h:868: error: function ‘void xmlParserError(void*, const char*, ...)’ is initialized like a variable
/usr/include/libxml2/libxml/xmlerror.h:872: error: function ‘void xmlParserWarning(void*, const char*, ...)’ is initialized like a variable
/usr/include/libxml2/libxml/xmlerror.h:876: error: function ‘void xmlParserValidityError(void*, const char*, ...)’ is initialized like a variable
/usr/include/libxml2/libxml/xmlerror.h:880: error: function ‘void xmlParserValidityWarning(void*, const char*, ...)’ is initialized like a variable
/usr/include/libxml2/libxml/valid.h:44: error: typedef ‘xmlValidityErrorFunc’ is initialized (use __typeof__ instead)
/usr/include/libxml2/libxml/valid.h:59: error: typedef ‘xmlValidityWarningFunc’ is initialized (use __typeof__ instead)
/usr/include/libxml2/libxml/parser.h:595: error: typedef ‘warningSAXFunc’ is initialized (use __typeof__ instead)
/usr/include/libxml2/libxml/parser.h:605: error: typedef ‘errorSAXFunc’ is initialized (use __typeof__ instead)
/usr/include/libxml2/libxml/parser.h:617: error: typedef ‘fatalErrorSAXFunc’ is initialized (use __typeof__ instead)
../wxOil/camresource.h: In member function ‘ResIDToString_wxImplementation_HashTable::Node** ResIDToString_wxImplementation_HashTable::GetNodePtr(const ResourceID&) const’:
../wxOil/camresource.h:125: warning: dereferencing type-punned pointer will break strict-aliasing rules
../wxOil/camresource.h: In member function ‘ResourceStringToBitmap_wxImplementation_HashTable::Node** ResourceStringToBitmap_wxImplementation_HashTable::GetNodePtr(const TCHAR* const&) const’:
../wxOil/camresource.h:126: warning: dereferencing type-punned pointer will break strict-aliasing rules
make[1]: *** [camtypes.h.gch] Error 1
make[1]: Leaving directory `/home/Linux/XaraLX/XaraLX-0.5r1199/PreComp'
make: *** [all-recursive] Error 1
My system is Suse 10.1
Code:
yasha@monstr:/home/Linux/XaraLX/XaraLX-0.5r1199> uname -a
Linux monstr 2.6.16.13-4-default #1 Wed May 3 04:53:23 UTC 2006 i686 athlon i386 GNU/Linux
Re: Problem in compiling Xara 0.5 b1199
Do you have a file: binreloc.m4 ?
Are you using an experimental version of gcc? At least some of your errors look like things that one is used to seeing as warnings.
The libxml errors look as though the name of a function is being used without
the function call parentheses where the the latter are required (some sort of typo).
You might want to check whether other packages that need libxml can be compiled. Are there any similar reports on the Suse fora?
Although some may be, it does not seem likely that most of these problems are within Xara LX
Ben
Re: Problem in compiling Xara 0.5 b1199
>Do you have a file: binreloc.m4 ?
Yes, I do.
>Are you using an experimental version of gcc?
No, I am not. I use Gcc ver 4.1.0, which goes by default in Suse 10.1
So, the problem seems to be related to libxml, does not it? And what about whWidgets warning messages in the output of make? Is there a chance that I failed to build wxWidgets correctly?
Re: Problem in compiling Xara 0.5 b1199
Quote:
Originally Posted by Dominus
>Do you have a file: binreloc.m4 ?
Yes, I do.
In that case, are you able to work out why you were not picking up the AM_BINRELOC macros. Perhaps this has suddently started to work! This is the third report that I have seen on this topic, and I have no idea what is happening!
Quote:
Originally Posted by Dominus
>Are you using an experimental version of gcc?
No, I am not. I use Gcc ver 4.1.0, which goes by default in Suse 10.1
I am using 4.0 and, IIRC, 3.3. It is possible that gcc 4.10 is producing more warnings and error messages in the case of code that is just 'over the edge' rather than close to ther edge. You may want to take this to developers' list to find out if anybody else is seeing this. If any of the messages correspond to code that has an easy and obviously correct fix, then you might want to post the patches as well!
Quote:
Originally Posted by Dominus
So, the problem seems to be related to libxml, doesn't it? And what about wxWidgets warning messages in the output of make? Is there a chance that I failed to build wxWidgets correctly?
Your build is probably OK. The type punned messages are probably harmless, but they do mean that you have allowed the compiler and the optimiser to make assumptions about the alignment or life span of variables and that correct code cannot be guaranteed.
You might want to look on the wx list.
My guess is that we will have to move onto a later version of wxWidgets rather soon ...
Ben
Re: Problem in compiling Xara 0.5 b1199
I have recently fixed the type-punned pointer stuff in svn.
One potential problem with the binreloc macro was also fixed a couple of
days ago (it didn't like being directly included).
Beyond that, normally the absence of macros which appear to be on disk (and some of the autopoint problems) boil down to there being two versions of one of the autoxxxx tools being present on the system, the wrong one being run, which is looking in the wrong directory of shared macros. You can point at specific versions of the macros like this:
AUTOCONF=/usr/somewhere/bin/autoconf-9.9.99 autoreconf -f -i -s
(etc.)
Alex
Re: Problem in compiling Xara 0.5 b1199
And Dominus' /real/ problem is some sort of libxml API compatibility problem. I /think/ that's been fixed too.