aMule Forum

Please login or register.

Login with username, password and session length
Advanced search  

News:

We're back! (IN POG FORM)

Author Topic: Error message during compilation [Solved]  (Read 2431 times)

Wapush

  • Approved Newbie
  • *
  • Karma: 0
  • Offline Offline
  • Posts: 9
Error message during compilation [Solved]
« on: November 07, 2006, 11:24:12 PM »

Sorry for my bad english !  :)

Hello and thank you for your excellent work !

I explain my problem: When I try to compile aMule-CVS-20061106(and other cvs versions) under Debian Etch, I do not cease receiving(thousands and thousands) warning messages like this:

warning: dereferencing type-punned pointer will break strict-aliasing rules

Some lines of the make output:
Code: [Select]
/usr/include/wx-2.7/wx/image.h: In member function ‘wxImageHistogramBase_wxImplementation_HashTable::Node** wxImageHistogramBase_wxImplementation_HashTable::GetNodePtr(const long unsigned int&) const’:
/usr/include/wx-2.7/wx/image.h:120: warning: dereferencing type-punned pointer will break strict-aliasing rules

...

/usr/include/wx-2.7/wx/hashmap.h: In member function ‘wxLongToLongHashMap_wxImplementation_HashTable::Node** wxLongToLongHashMap_wxImplementation_HashTable::GetNodePtr(const long int&) const’:
/usr/include/wx-2.7/wx/hashmap.h:706: warning: dereferencing type-punned pointer will break strict-aliasing rules
/usr/include/wx-2.7/wx/clntdata.h: In member function ‘wxShadowObjectMethods_wxImplementation_HashTable::Node** wxShadowObjectMethods_wxImplementation_HashTable::GetNodePtr(const wxString&) const’:
/usr/include/wx-2.7/wx/clntdata.h:20: warning: dereferencing type-punned pointer will break strict-aliasing rules
/usr/include/wx-2.7/wx/clntdata.h: In member function ‘wxShadowObjectFields_wxImplementation_HashTable::Node** wxShadowObjectFields_wxImplementation_HashTable::GetNodePtr(const wxString&) const’:
/usr/include/wx-2.7/wx/clntdata.h:25: warning: dereferencing type-punned pointer will break strict-aliasing rules
amule.cpp: In member function ‘wxString CamuleApp::GetLog(bool)’:
amule.cpp:1658: warning: dereferencing type-punned pointer will break strict-aliasing rules

...

/usr/include/wx-2.7/wx/hashmap.h: In member function ‘wxLongToLongHashMap_wxImplementation_HashTable::Node** wxLongToLongHashMap_wxImplementation_HashTable::GetNodePtr(const long int&) const’:
/usr/include/wx-2.7/wx/hashmap.h:706: warning: dereferencing type-punned pointer will break strict-aliasing rules
/usr/include/wx-2.7/wx/clntdata.h: In member function ‘wxShadowObjectMethods_wxImplementation_HashTable::Node** wxShadowObjectMethods_wxImplementation_HashTable::GetNodePtr(const wxString&) const’:
/usr/include/wx-2.7/wx/clntdata.h:20: warning: dereferencing type-punned pointer will break strict-aliasing rules
/usr/include/wx-2.7/wx/clntdata.h: In member function ‘wxShadowObjectFields_wxImplementation_HashTable::Node** wxShadowObjectFields_wxImplementation_HashTable::GetNodePtr(const wxString&) const’:
/usr/include/wx-2.7/wx/clntdata.h:25: warning: dereferencing type-punned pointer will break strict-aliasing rules
ExternalConn.cpp: In member function ‘void CPartFile_Encoder::Encode(CECTag*)’:
ExternalConn.cpp:881: warning: dereferencing type-punned pointer will break strict-aliasing rules
I use wxgtk 2.7.0.1 which I compiled myself with this configure option:
Code: [Select]
./configure --prefix=/usr --with-gtk --enable-unicode --disable-compat24 --enable-optimiseI did not keep the wxgtk configure output but I know that I did not receive any warning or error message and that all the dependences are satisfied.

The configure output for amule:
Code: [Select]
~/project/amule-cvs$ ./configure --prefix=/usr --enable-amule-daemon --enable-amulecmd --enable-webserver --enable-amule-gui --disable-debug --enable-optimize
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking whether to enable maintainer-specific portions of Makefiles... no
checking for g++... g++
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 g++ accepts -g... yes
checking for style of include used by make... GNU
checking dependency style of g++... gcc3
checking how to run the C++ preprocessor... g++ -E
checking for gcc... gcc
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 how to run the C preprocessor... gcc -E
checking for egrep... grep -E
checking whether make sets $(MAKE)... (cached) yes
checking for flex... no
checking for lex... no
checking for yywrap in -lfl... no
checking for yywrap in -ll... no
checking for a BSD-compatible install... /usr/bin/install -c
checking for ranlib... ranlib
checking for bison... no
checking for byacc... no
checking for ranlib... (cached) ranlib
checking for strip... strip
checking for ar... ar
checking for ld... ld
checking for zlib >= 1.1.4... yes (version 1.2.3)
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 for gdlib-config... /usr/bin/gdlib-config
checking for gdlib version >= 2.0.0... yes (version 2.0.33)
checking gd.h usability... yes
checking gd.h presence... yes
checking for gd.h... yes
checking for libpng-config... /usr/bin/libpng-config
checking for libpng version >= 1.2.0... yes (version 1.2.8)
checking for gd.h... (cached) yes
checking whether we need the GUI... yes
checking for wx-config... /usr/bin/wx-config
checking for wxWidgets version >= 2.6.0... yes (version 2.7.0)
checking for wxWidgets static library... no
checking that wxWidgets has support for large files... yes
checking that wxWidgets was compiled with unicode support... yes
checking whether to use embedded Crypto... yes
checking for bfd headers... yes
checking for autopoint... yes (0.14.6)
checking for X... libraries , headers
checking for working alloca.h... yes
checking for alloca... yes
checking for dirent.h that defines DIR... yes
checking for library containing opendir... none required
checking for ANSI C header files... (cached) yes
checking argz.h usability... yes
checking argz.h presence... yes
checking for argz.h... yes
checking arpa/inet.h usability... yes
checking arpa/inet.h presence... yes
checking for arpa/inet.h... yes
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking for inttypes.h... (cached) yes
checking langinfo.h usability... yes
checking langinfo.h presence... yes
checking for langinfo.h... yes
checking libintl.h usability... yes
checking libintl.h presence... yes
checking for libintl.h... yes
checking limits.h usability... yes
checking limits.h presence... yes
checking for limits.h... yes
checking locale.h usability... yes
checking locale.h presence... yes
checking for locale.h... yes
checking malloc.h usability... yes
checking malloc.h presence... yes
checking for malloc.h... yes
checking mntent.h usability... yes
checking mntent.h presence... yes
checking for mntent.h... yes
checking netdb.h usability... yes
checking netdb.h presence... yes
checking for netdb.h... yes
checking netinet/in.h usability... yes
checking netinet/in.h presence... yes
checking for netinet/in.h... yes
checking stddef.h usability... yes
checking stddef.h presence... yes
checking for stddef.h... yes
checking nl_types.h usability... yes
checking nl_types.h presence... yes
checking for nl_types.h... yes
checking for stdint.h... (cached) yes
checking stdio_ext.h usability... yes
checking stdio_ext.h presence... yes
checking for stdio_ext.h... yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking for strings.h... (cached) yes
checking sys/ioctl.h usability... yes
checking sys/ioctl.h presence... yes
checking for sys/ioctl.h... yes
checking sys/mount.h usability... yes
checking sys/mount.h presence... yes
checking for sys/mount.h... yes
checking sys/param.h usability... yes
checking sys/param.h presence... yes
checking for sys/param.h... yes
checking sys/resource.h usability... yes
checking sys/resource.h presence... yes
checking for sys/resource.h... yes
checking sys/select.h usability... yes
checking sys/select.h presence... yes
checking for sys/select.h... yes
checking sys/socket.h usability... yes
checking sys/socket.h presence... yes
checking for sys/socket.h... yes
checking sys/statvfs.h usability... yes
checking sys/statvfs.h presence... yes
checking for sys/statvfs.h... yes
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking sys/timeb.h usability... yes
checking sys/timeb.h presence... yes
checking for sys/timeb.h... yes
checking for sys/types.h... (cached) yes
checking for unistd.h... (cached) yes
checking for sys/wait.h that is POSIX.1 compatible... yes
checking for stdbool.h that conforms to C99... yes
checking for _Bool... yes
checking for an ANSI C-conforming const... yes
checking for inline... inline
checking for mode_t... yes
checking for off_t... yes
checking for size_t... yes
checking whether time.h and sys/time.h may both be included... yes
checking whether struct tm is in sys/time.h or time.h... time.h
checking for uid_t in sys/types.h... yes
checking for working volatile... yes
checking for ptrdiff_t... yes
checking whether closedir returns void... no
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 library containing strerror... none required
checking for stdlib.h... (cached) yes
checking for unistd.h... (cached) yes
checking for getpagesize... yes
checking for working mmap... yes
checking whether we are using the GNU C Library 2.1 or newer... yes
checking whether integer division by zero raises SIGFPE... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unsigned long long... yes
checking for inttypes.h... yes
checking whether the inttypes.h PRIxNN macros are broken... no
checking for ld used by GCC... ld
checking if the linker (ld) is GNU ld... yes
checking for shared library run path origin... done
checking for argz.h... (cached) yes
checking for limits.h... (cached) yes
checking for locale.h... (cached) yes
checking for nl_types.h... (cached) yes
checking for malloc.h... (cached) yes
checking for stddef.h... (cached) yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking for unistd.h... (cached) yes
checking for sys/param.h... (cached) yes
checking for feof_unlocked... yes
checking for fgets_unlocked... yes
checking for getc_unlocked... yes
checking for getcwd... yes
checking for getegid... yes
checking for geteuid... yes
checking for getgid... yes
checking for getuid... yes
checking for mempcpy... yes
checking for munmap... yes
checking for putenv... yes
checking for setenv... yes
checking for setlocale... yes
checking for stpcpy... yes
checking for strcasecmp... yes
checking for strdup... yes
checking for strtoul... yes
checking for tsearch... yes
checking for __argz_count... yes
checking for __argz_stringify... yes
checking for __argz_next... yes
checking for iconv... yes
checking for iconv declaration...
         extern size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
checking for nl_langinfo and CODESET... yes
checking for LC_MESSAGES... yes
checking for bison... no
checking whether NLS is requested... yes
checking whether included gettext is requested... no
checking for GNU gettext in libc... yes
checking for getmntent in -lsun... no
checking for getmntent in -lseq... no
checking for getmntent in -lgen... no
checking for getmntent... yes
checking whether gcc needs -traditional... no
checking for pid_t... yes
checking for unistd.h... (cached) yes
checking vfork.h usability... no
checking vfork.h presence... no
checking for vfork.h... no
checking for fork... yes
checking for vfork... yes
checking for working fork... yes
checking for working vfork... (cached) yes
checking whether lstat dereferences a symlink specified with a trailing slash... yes
checking whether lstat accepts an empty string... no
checking whether lstat dereferences a symlink specified with a trailing slash... (cached) yes
checking for stdlib.h... (cached) yes
checking for GNU libc compatible malloc... yes
checking for working memcmp... yes
checking for stdlib.h... (cached) yes
checking for unistd.h... (cached) yes
checking for getpagesize... (cached) yes
checking for working mmap... (cached) yes
checking for stdlib.h... (cached) yes
checking for GNU libc compatible realloc... yes
checking for sys/select.h... (cached) yes
checking for sys/socket.h... (cached) yes
checking types of arguments for select... int,fd_set *,struct timeval *
checking for function prototypes... yes
checking whether setvbuf arguments are reversed... no
checking return type of signal handlers... void
checking whether stat accepts an empty string... no
checking for strftime... yes
checking for working strtod... yes
checking for vprintf... yes
checking for _doprnt... no
checking for __argz_count... (cached) yes
checking for __argz_next... (cached) yes
checking for __argz_stringify... (cached) yes
checking for endpwent... yes
checking for floor... no
checking for ftruncate... yes
checking for getcwd... (cached) yes
checking for gethostbyaddr... yes
checking for gethostbyname... yes
checking for gethostname... yes
checking for getmntent... (cached) yes
checking for getmntinfo... no
checking for getpass... yes
checking for gettimeofday... yes
checking for inet_ntoa... yes
checking for localeconv... yes
checking for memmove... yes
checking for mempcpy... (cached) yes
checking for memset... yes
checking for munmap... (cached) yes
checking for nl_langinfo... yes
checking for pow... no
checking for select... yes
checking for setlocale... (cached) yes
checking for socket... yes
checking for sqrt... no
checking for stpcpy... (cached) yes
checking for strcasecmp... (cached) yes
checking for strchr... yes
checking for strcspn... yes
checking for strdup... (cached) yes
checking for strerror... yes
checking for strncasecmp... yes
checking for strstr... yes
checking for strtoul... (cached) yes
checking for mkdir... yes
checking for getrlimit... yes
checking for setrlimit... yes
checking if the applications should be statically linked... no
checking for CVSDATE... Mon Nov  6 07:01:54 CET 2006
checking if this is a FreeBSD 4 or earlier system... no
checking denoising level... 0
checking for a readline compatible library... no
checking whether ccache support should be added... no
configure: creating ./config.status
config.status: creating Makefile
config.status: creating docs/Makefile
config.status: creating docs/man/Makefile
config.status: creating intl/Makefile
config.status: creating m4/Makefile
config.status: creating src/Makefile
config.status: creating src/kademlia/Makefile
config.status: creating src/kademlia/utils/Makefile
config.status: creating src/kademlia/kademlia/Makefile
config.status: creating src/kademlia/routing/Makefile
config.status: creating src/kademlia/net/Makefile
config.status: creating src/pixmaps/Makefile
config.status: creating src/libs/Makefile
config.status: creating src/libs/ec/Makefile
config.status: creating src/libs/common/Makefile
config.status: creating src/utils/Makefile
config.status: creating src/utils/aLinkCreator/Makefile
config.status: creating src/utils/aLinkCreator/docs/Makefile
config.status: creating src/utils/aLinkCreator/src/Makefile
config.status: creating src/utils/cas/Makefile
config.status: creating src/utils/cas/docs/Makefile
config.status: creating src/utils/wxCas/Makefile
config.status: creating src/utils/wxCas/docs/Makefile
config.status: creating src/utils/wxCas/src/Makefile
config.status: creating src/utils/xas/Makefile
config.status: creating src/utils/xas/autostart-xas
config.status: creating src/utils/xas/docs/Makefile
config.status: creating src/webserver/Makefile
config.status: creating src/webserver/src/Makefile
config.status: creating src/webserver/default/Makefile
config.status: creating src/webserver/php-default/Makefile
config.status: creating src/webserver/chicane/Makefile
config.status: creating unittests/Makefile
config.status: creating unittests/muleunit/Makefile
config.status: creating unittests/tests/Makefile
config.status: creating po/Makefile.in
config.status: creating Compilation.flags
config.status: creating config.h
config.status: executing depfiles commands
config.status: executing default-1 commands
config.status: creating po/POTFILES
config.status: creating po/Makefile
config.status: executing denoiser commands


  Configure script has finished system check.

  Configured aMule CVS for 'i686-pc-linux-gnu'.

  aMule enabled options:

  **** aMule Core ****
  Prefix where aMule should be installed?                    /usr
  Should aMule be compiled with i18n support?                yes
  Should aMule be compiled in debug mode?                    no
  Should aMule be compiled with profiling?                   no
  Should aMule be compiled with optimizations?               yes
  Should aMule monolithic application be built?              yes
  Should aMule daemon version be built?                      yes
  Should aMule remote gui be built? (EXPERIMENTAL)           yes
  Crypto++ library/headers style?                            embedded

  **** aMule TextClient ****
  Should aMule Command Line Client be built?                 yes

  **** aMule WebServer ****
  Should aMule WebServer be built?                           yes

  **** aMule ED2K Links Handler ****
  Should aMule ED2K Links Handler be built?                  yes

  **** aMuleLinkCreator ****
  Should aMuleLinkCreator GUI version (alc) be built?        no
  Should aMuleLinkCreator for console (alcc) be built?       no

  **** aMule Statistics ****
  Should C aMule Statistics (CAS) be built?                  no
  Should aMule GUI Statistics (wxCas) be built?              no

  **** General Libraries and Tools ****
  Should ccache support be enabled?                          no
  Libraries aMule will use to build:
                                       wxWidgets             2.7.0
                                       crypto++              embedded
                                       libpng                1.2.8
                                       libgd                 2.0.33
                                       zlib                  1.2.3
After some research on the forum, I have to find only these 2 threads without answers or solutions:
http://www.amule.org/amule/search.php?searchid=370419
http://www.amule.org/amule/thread.php?postid=57345

If you have time, would you have kindness to explain me what causes these thousands of warning messages, and if I can take the risk to continue to compile and use amule in spite of these messages ?

Thanks
« Last Edit: November 08, 2006, 08:05:40 AM by Wapush »
Logged

Gerd78

  • Hero Member
  • *****
  • Karma: 9
  • Offline Offline
  • Posts: 681
Re: Error message during compilation [Solved]
« Reply #1 on: November 08, 2006, 05:24:04 AM »

This is just a warning, not an error.

It comes from the wxWidgets headers. You can silence the warning in the following ways:
Code: [Select]
export CXXFLAGS=-O0
export CXXFLAGS=-Wno-strict-aliasing
export CXXFLAGS=-fno-strict-aliasing
The latter (-fno-strict-aliasing) is the most accurate workaround.
Logged

Wapush

  • Approved Newbie
  • *
  • Karma: 0
  • Offline Offline
  • Posts: 9
Re: Error message during compilation [Solved]
« Reply #2 on: November 08, 2006, 08:04:53 AM »

Hi

I will try that later when I compile another cvs. I put the message in solved

Thanks
Logged