[Gfs-devel] open_memstream.c for Solaris

85 views
Skip to first unread message

Alain M. Clo

unread,
Feb 5, 2013, 8:06:50 AM2/5/13
to gfs-...@lists.sourceforge.net
Dear All 
I am installing Gerris version 130112 on an M9000 Solaris 10.
I get this message when trying to compile gerris :

"open_memstream.c", line 32: #error: Sorry, not ported to your platform yet
cc: acomp failed for open_memstream.c

What is a way around this problem or is there an adapted version of open_memstream.c 
To Solaris ?
Thanks
Alain Clo
Research Computing 
KAUST





This message and its contents including attachments are intended solely for the original recipient. If you are not the intended recipient or have received this message in error, please notify me immediately and delete this message from your computer system. Any unauthorized use or distribution is prohibited. Please consider the environment before printing this email.

Stephane Popinet

unread,
Feb 5, 2013, 5:31:54 PM2/5/13
to GFS developper discussion list, Alain M. Clo
Hi Alain,

> "open_memstream.c", line 32: #error: Sorry, not ported to your platform yet
> cc: acomp failed for open_memstream.c

open_memstream is a relatively new POSIX extension:

CONFORMING TO
POSIX.1-2008. These functions are not specified in POSIX.1-2001, and
are not widely available on other systems.

So it looks like solaris does not support this yet. The
open_memstream.c code distributed with Gerris comes from GNUlib and
uses a BSD Unix extension (funopen()) to implement open_memstream.
This BSD extension is present on systems directly derived from BSD
unix (most notably Mac OSX). Looks like Solaris does not implement
this extension either. You should check this more thoroughly, there
maybe libraries etc... specific to solaris which could implement
either open_memstream or funopen.

Otherwise you have a few choices:

- use an older version of Gerris which does not use open_memstream:
this will affect both the robustness and performance of load-balancing
parallel adaptive simulations.

- there is a newer version of open_memstream.c in GNUlib (not
officially released yet) which uses some temporary file trickery to
emulate open_memstream on systems which do not have funopen(). This
will allow you to compile the latest versions of Gerris on your system
but will probably leave you with the performance/robustness issues of
older versions.

hope this helps

Stephane

------------------------------------------------------------------------------
Free Next-Gen Firewall Hardware Offer
Buy your Sophos next-gen firewall before the end March 2013
and get the hardware for free! Learn more.
http://p.sf.net/sfu/sophos-d2d-feb
_______________________________________________
Gfs-devel mailing list
Gfs-...@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/gfs-devel
Reply all
Reply to author
Forward
0 new messages