Opened 7 years ago

Closed 6 years ago

#491 closed defect (fixed)

gcc 4.3: fix givaro build due to ::memcpy failure

Reported by: mabshoff Owned by: mabshoff
Priority: major Milestone: sage-2.9
Component: packages: standard Keywords:
Cc: Merged in:
Authors: Reviewers:
Report Upstream: Work issues:
Branch: Commit:
Dependencies: Stopgaps:

Description

The givaro spkg released with Sage 2.8.2 doesn't compile with gcc 4.3:

Making all in memory
make[4]: Entering directory `/tmp/Work2/sage-2.8.2-gcc4.3/sage-2.8.2/spkg/build/givaro-3.2.6.p1/src/src/kernel/memory'
/bin/sh ../../../libtool --mode=compile g++ -DHAVE_CONFIG_H -I. -I. -I../../.. -I../../.. -I../../../src/kernel/system   -g -O2 -Wall -c givaromm.C
 g++ -DHAVE_CONFIG_H -I. -I. -I../../.. -I../../.. -I../../../src/kernel/system -g -O2 -Wall -c givaromm.C  -fPIC -DPIC -o .libs/givaromm.o
givaromm.C: In static member function 'static void* GivMMFreeList::reallocate(void*, size_t, size_t)':
givaromm.C:191: error: '::memcpy' has not been declared
givaromm.C: In static member function 'static void GivMMFreeList::memcpy(void*, const void*, size_t)':
givaromm.C:205: error: '::memcpy' has not been declared
givaromm.C: In static member function 'static void* GivMMRefCount::reallocate(void*, size_t, size_t)':
givaromm.C:246: error: '::memcpy' has not been declared
givaromm.C:247: error: '::memcpy' has not been declared
givaromm.C:245: warning: suggest explicit braces to avoid ambiguous 'else'
make[4]: *** [givaromm.lo] Error 1
make[4]: Leaving directory `/tmp/Work2/sage-2.8.2-gcc4.3/sage-2.8.2/spkg/build/givaro-3.2.6.p1/src/src/kernel/memory'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/tmp/Work2/sage-2.8.2-gcc4.3/sage-2.8.2/spkg/build/givaro-3.2.6.p1/src/src/kernel'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/tmp/Work2/sage-2.8.2-gcc4.3/sage-2.8.2/spkg/build/givaro-3.2.6.p1/src/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/tmp/Work2/sage-2.8.2-gcc4.3/sage-2.8.2/spkg/build/givaro-3.2.6.p1/src'
make: *** [all-recursive-am] Error 2

Including string.h in givaromm.C fixes the problem.

Cheers,

Michael

Change History (5)

comment:1 Changed 7 years ago by mabshoff

  • Owner changed from was to mabshoff

comment:2 Changed 7 years ago by mabshoff

  • Status changed from new to assigned

comment:3 Changed 7 years ago by mabshoff

Another suggestion has been made by Patrick Pelissier:

For checking of givaro inside the configure, as a work-around,
I suggest including cstdio explicitly before gmp.h.

This supposedly will not require workarounds for the gmp.h

Cheers,

Michael

comment:4 Changed 6 years ago by mabshoff

  • Milestone changed from sage-2.10.2 to sage-2.9

comment:5 Changed 6 years ago by mabshoff

  • Resolution set to fixed
  • Status changed from assigned to closed

Merged in 2.9.alpha1.

Note: See TracTickets for help on using tickets.