pkgsrc-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

pkg/35928: blender modern solaris 64bit gcc



>Number:         35928
>Category:       pkg
>Synopsis:       blender modern solaris 64bit gcc
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Mon Mar 05 18:20:00 +0000 2007
>Originator:     Gilles Dauphin
>Release:        SunOS 5.10 i86pc
>Organization:
ENST 
>Environment:


System: SunOS bi.enst.fr 5.10 Generic_118855-19 i86pc


>Description:


blender crash when saving file or opening one
problem is in source/blender/blenlib/intern/storage.c
statfs() is not available on 64bit ABI. its an obsolete feature.
use statvfs instead


>How-To-Repeat:


run blender on solaris


>Fix:


--- patch-ab begins here ---
--- source/blender/blenlib/intern/storage.c.orig        Wed Jul 27 22:16:37 2005
+++ source/blender/blenlib/intern/storage.c     Mon Mar  5 18:57:10 2007
@@ -50,7 +50,11 @@
 #include <time.h>
 #include <sys/stat.h>
 
-#if !defined(linux) && (defined(__sgi) || defined(__sun__) || defined(__sun) 
|| defined(__sparc) || defined(__sparc__))
+#if defined(__DragonFly__) || defined(__sun__) || defined(__sun) 
+#include <sys/statvfs.h>
+#endif
+
+#if !defined(linux) && defined(__sgi) 
 #include <sys/statfs.h>
 #endif
 
@@ -89,10 +93,6 @@
 #include <pwd.h>
 #endif
 
-#if !defined(__FreeBSD__) && !defined(__APPLE__)
-#include <malloc.h>
-#endif
-
 /* lib includes */
 #include "MEM_guardedalloc.h"
 
@@ -177,7 +177,11 @@
 
        return (double) (freec*bytesps*sectorspc);
 #else
+#if defined(__DragonFly__) || defined(__sun__) || defined(__sun) || (defined 
(__NetBSD__) && __NetBSD_Version__ >= 299000900) /* 2.99.9 */
+       struct statvfs disk;
+#else
        struct statfs disk;
+#endif
        char name[100],*slash;
 
 
@@ -188,16 +192,19 @@
                if (slash) slash[1] = 0;
        } else strcpy(name,"/");
 
-#if defined (__FreeBSD__) || defined (linux) || defined (__OpenBSD__) || 
defined (__APPLE__) 
+#if defined(__DragonFly__) || defined(__sun__) || defined(__sun) || (defined 
(__NetBSD__) && __NetBSD_Version__ >= 299000900) /* 2.99.9 */
+       if (statvfs(name, &disk)) return(-1);
+#elif defined (__FreeBSD__) || defined (linux) || defined (__OpenBSD__) || \
+      defined (__APPLE__) || defined (__NetBSD__)
        if (statfs(name, &disk)) return(-1);
 #endif
 #ifdef __BeOS
        return -1;
 #endif
-#if !defined(linux) && (defined (__sgi) || defined (__sun__) || defined 
(__sun) || defined(__sparc) || defined(__sparc__))
+#if !defined(linux) && defined (__sgi)  
 
        if (statfs(name, &disk, sizeof(struct statfs), 0)){
-               /* printf("diskfree: Couldn't get information about 
%s.\n",dir); */
+               printf("diskfree: Couldn't get information about %s.\n",dir);
                return(-1);
        }
 #endif
--- patch-ab ends here ---






Home | Main Index | Thread Index | Old Index