This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
Issue with apache compilation : memmove & bcopy
- From: "Sriram Ganesan" <sriram dot bits at gmail dot com>
- To: gcc-help at gcc dot gnu dot org
- Date: Sun, 25 Nov 2007 17:55:22 -0600
- Subject: Issue with apache compilation : memmove & bcopy
- References: <d69cfab10711242246s5cba5b62h8381fc9b2124bc8f@mail.gmail.com> <d69cfab10711251553wcc61cf5o516a9f08f46c4def@mail.gmail.com>
Greetings,
I am a Graduate Student at UT-Austin and I am working on a class
project titled "Enhancing Server Availability through failure
oblivious computing methods". As part of the project, we are patching
GCC to produce a failure-oblivious compiler. We have built this
compiler based on the patch written by Richard Jones for a safe
compiler. The patch is available here:
http://sourceforge.net/projects/boundschecking/ . We are now trying to
compile apache against our compiler. On running ./configure I noticed
that there are some checks which
are different compared to the normal GCC compiler. The difference being that:
checking for memmove... no
checking for bcopy... no
checking for strncasecmp... no
checking for strcasecmp... no
checking for strdup... no
checking for strstr... no
checking for memchr... no
Further, when we go about trying to compile by typing "make" on the
command line we got the error:
Making all in srclib
make[1]: Entering directory `/home/ne0/Desktop/httpd- 2.2.6/srclib'
Making all in apr
make[2]: Entering directory `/home/ne0/Desktop/httpd-2.2.6/srclib/apr'
make[3]: Entering directory `/home/ne0/Desktop/httpd-2.2.6/srclib/apr'
/bin/bash /home/ne0/Desktop/httpd- 2.2.6/srclib/apr/libtool --silent
--mode=compile /home/ne0/gcc-4.0.2/objdir/gcc/xgcc -pthread
-B/home/ne0/gcc-4.0.2/objdir/gcc/ -fbounds-checking -fno-builtin -Wall
-O2 -g -DHAVE_CONFIG_H -DLINUX=2 -D_REENTRANT -D_GNU_SOURCE
-D_LARGEFILE64_SOURCE -I./include -I/home/ne0/Desktop/httpd-
2.2.6/srclib/apr/include/arch/unix -I./include/arch/unix
-I/home/ne0/Desktop/httpd-2.2.6/srclib/apr/include -o
passwd/apr_getpass.lo -c passwd/apr_getpass.c && touch
passwd/apr_getpass.lo
In file included from ./include/apr_want.h:63,
from ./include/apr_pools.h:41,
from
/home/ne0/Desktop/httpd-2.2.6/srclib/apr/include/arch/unix/../apr_private_common.h:24,
from
/home/ne0/Desktop/httpd-2.2.6/srclib/apr/include/arch/unix/apr_private.h:779,
from passwd/apr_getpass.c:22:
/usr/include/string.h:293: error: conflicting types for 'bcopy'
/usr/include/string.h:44: error: previous declaration of 'bcopy' was here
make[3]: *** [passwd/apr_getpass.lo] Error 1
make[3]: Leaving directory `/home/ne0/Desktop/httpd-2.2.6/srclib/apr'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/ne0/Desktop/httpd- 2.2.6/srclib/apr'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/ne0/Desktop/httpd-2.2.6/srclib'
make: *** [all-recursive] Error 1
bcopy is declared only once in string.h and it seems puzzling as to
where is being redeclared. Our xgcc compiler is being used with the
following CFLAGS:
"-B{path_of_directory containing_object_files} -fbounds-checking
-fno-builtin -Wall -O2 -g".
Both our failure-oblivious compiler and apache are installed on Ubuntu
linux. uname -a gave the following output:
Linux matrix 2.6.20-15-generic #2 SMP Sun Apr 15 07:36:31 UTC 2007
i686 GNU/Linux.
We have been stuck with this issue for the last 3 days and any
pointers as to how this issue can be tackled would be greatly
appreciated.
Thanks & Regards
Sriram