[Python-bugs-list] [Bug #115035] SunOS 4.1.4 with GCC 2.95.2 can't compile complete

noreply@sourceforge.net noreply@sourceforge.net
Sat, 23 Sep 2000 01:52:31 -0700


Bug #115035, was updated on 2000-Sep-21 18:24
Here is a current snapshot of the bug.

Project: Python
Category: Build
Status: Open
Resolution: None
Bug Group: Platform-specific
Priority: 1
Summary: SunOS 4.1.4 with GCC 2.95.2 can't compile complete

Details: 1) Module/posixmodule.c
  In Module/posixmodule.c, it used rename, pclose, fclose but SunOS 4.1.4's unistd.h does not have these definitions. So add them.
2) Modules/mmapmodule.c
  In Modules/mmapmodule.c, MS_SYNC used but SunOS 4.1.4's mman.h does not have this difinition. So add it.


Follow-Ups:

Date: 2000-Sep-21 18:56
By: gvanrossum

Comment:
I'm not sure what the proper solution is here. Can you provide a patch?
Which C preprocessor symbol do I check for to know that I'm on SunOS 4.1.4?

(1) We can't add decls for these funcs unconditionally because it would conflict with decls in unistd.h or elsewhere on other platforms.

(2) What is the proper replacement for MS_SYNC on SunOS 4.1.4?
-------------------------------------------------------

Date: 2000-Sep-23 01:52
By: loewis

Comment:
Specifying MS_SYNC is not necessary on SunOS 4, the msync manpage says

MS_ASYNC returns msync() immediately once all  I/O  operations  are  scheduled;  normally,  msync() will not return until all  I/O  operations  are  complete.

So it is safe to define it as 0.

I believe SunOS 4 can be recognized by testing that "sun" is defined and "__SVR4" is not.

According to the man pages, the missing prototypes are

       int rename(path1, path2)
       char *path1, *path2;
       fclose(stream)
       FILE *stream;
       pclose(stream)
       FILE *stream;

Indeed, no header file on this system has an fclose prototype...
-------------------------------------------------------

For detailed info, follow this link:
http://sourceforge.net/bugs/?func=detailbug&bug_id=115035&group_id=5470