#9202: update matplotlib
----------------------------+-----------------------------------------------
Reporter: jason | Owner: drkirkby
Type: defect | Status: needs_work
Priority: major | Milestone: sage-4.4.4
Component: packages | Keywords:
Author: Jason Grout | Upstream: N/A
Reviewer: David Kirkby | Merged:
Work_issues: |
----------------------------+-----------------------------------------------
Changes (by drkirkby):
* status: needs_review => needs_work
* reviewer: => David Kirkby
Comment:
This version from svn is causing a problem on the following system, which
we should report to the developers.
* Sun Blade 1000
* 2 x 900 MHz
* 2 GB RAM
* Solaris 10 03/05
{{{
/usr/include/stdlib.h:144: error: declaration of C function 'void
swab(const char*, char*, ssize_t)' conflicts with
/usr/include/unistd.h:480: error: previous declaration 'void swab(const
void*, void*, ssize_t)' here
error: command 'gcc' failed with exit status 1
Error building matplotlib package.
}}}
The Solaris header files are a lot stricter about what they do/do not
declare than most systems, depending on the mode of compilation. An
inspection of stdlib.h shows the problem.
{{{
extern int putenv(char *);
extern void setkey(const char *);
#endif /* defined(__EXTENSIONS__) || !defined(_STRICT_STDC) ... */
/*
* swab() has historically been in <stdlib.h> as delivered from AT&T
* and continues to be visible in the default compilation environment.
* As of Issue 4 of the X/Open Portability Guides, swab() was declared
* in <unistd.h>. As a result, with respect to X/Open namespace the
* swab() declaration in this header is only visible for the XPG3
* environment.
*/
#if (defined(__EXTENSIONS__) || \
(!defined(_STRICT_STDC__) && !defined(_POSIX_C_SOURCE))) && \
(!defined(_XOPEN_SOURCE) || (defined(_XPG3) && !defined(_XPG4)))
#ifndef _SSIZE_T
#define _SSIZE_T
#if defined(_LP64) || defined(_I32LPx)
typedef long ssize_t; /* size of something in bytes or -1 */
#else
typedef int ssize_t; /* (historical version) */
#endif
#endif /* !_SSIZE_T */
extern void swab(const char *, char *, ssize_t);
#endif /* defined(__EXTENSIONS__) || !defined(_STRICT_STDC) ... */
}}}
and in unistd.h
{{{
#if defined(_XPG4)
/* __EXTENSIONS__ makes the SVID Third Edition prototype in stdlib.h
visible */
extern void swab(const void *_RESTRICT_KYWD, void *_RESTRICT_KYWD,
ssize_t);
#endif /* defined(_XPG4) */
}}}
As such, I think your previous version, based on the stable release,
rather than a SVN snapshot is preferable.
I'm attaching the two relevant header files to this ticket.
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/9202#comment:10>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica,
and MATLAB
--
You received this message because you are subscribed to the Google Groups
"sage-trac" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/sage-trac?hl=en.