View Issue Details

IDProjectCategoryView StatusLast Update
0001592GNUnetbuild processpublic2010-10-21 15:47
Reporterc89_nerd Assigned ToChristian Grothoff  
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionfixed 
Summary0001592: Improper use of non-portable neninet/ip.h include file.
Description$ make install 2>&1|less
[...]
In file included from ../../src/include/platform.h:87,
                 from bandwidth.c:26:
/usr/include/netinet/ip.h:153: error: syntax error before "n_time"
[... RRAAAAAAAAGH!!! ...]
$ vi src/include/platform.h
 #include <netinet/in.h>
+#include <netinet/in_systm.h>
 #include <netinet/ip.h> /*superset of previous */
$ make install 2>&1|less
[... MUCH better ...]

you should realize that netinet/ip.h is !!!NOT!!! portable.
in a 0.8.1b version I had minor problems with your non-standard use of error_t...

Please adhere to SUSV3: The Open Group Base Specifications Issue 6.

What "portable source code" standard(s) do you adhere to?
TagsNo tags attached.

Activities

Christian Grothoff

2010-07-28 01:00

manager   ~0004081

Let me invert your question: what OS are *you* using!?

c89_nerd

2010-07-28 03:20

reporter   ~0004083

OpenBSD, which admittedly is not complaint with the standards I mentioned (shm_open doesn't seem to exist on my system, but that is a simple enough function to implement manually for libextractor).

I am still curious what value/relevance you place on portable source code standards.

c89_nerd

2010-07-28 03:26

reporter   ~0004084

> you should realize that netinet/ip.h is !!!NOT!!! portable.

yeah I guess that could be interpreted as screaming...
it was supposed to be an expression of frustration and not hate. fyi

Christian Grothoff

2010-07-28 21:57

manager   ~0004087

Ok, thanks for your info. OpenBSD is on our list of platforms we'd like to support, but we don't have a buildbot for it (=> trouble ahead). For OSes that we do have a buildbot for, you can find our status report here:

http://ng.gnunet.org:8010/waterfall

(note that some tests will simply fail because we're currently working on that code and thus it may not always be a portability issue).

If you're willing and able to setup an OpenBSD buildbot for us, you can find information about that in the FAQ. That would make it much easier for us to find & fix these issues. The priority order for platforms to support (in terms of how much time *we* invest) is roughly GNU/Linux, W32, OS X, FreeBSD, OpenBSD, NetBSD; for processors it is right now roughly AMD64, x86, ARM, PPC, Sparc, Mips, Cell. The lower you are on the list, the more you're likely to encounter frustrations. Note that neither order is really a judgement of the quality of the platform and more a combination of what we use (and have access to) and what the rest of the world uses.

As far as standards are concerned, I'd say the answer is that we want to get it to work on most platforms, sometimes standards can help there, but generally that's simply not enough (and using the standard itself may work in some cases but not others). We do take patches...

Christian Grothoff

2010-07-28 22:01

manager   ~0004088

Should be fixed in SVN 12383.

Issue History

Date Modified Username Field Change
2010-07-28 00:26 c89_nerd New Issue
2010-07-28 01:00 Christian Grothoff Note Added: 0004081
2010-07-28 01:00 Christian Grothoff Status new => feedback
2010-07-28 03:20 c89_nerd Note Added: 0004083
2010-07-28 03:26 c89_nerd Note Added: 0004084
2010-07-28 21:57 Christian Grothoff Note Added: 0004087
2010-07-28 22:01 Christian Grothoff Note Added: 0004088
2010-07-28 22:01 Christian Grothoff Status feedback => resolved
2010-07-28 22:01 Christian Grothoff Resolution open => fixed
2010-07-28 22:01 Christian Grothoff Assigned To => Christian Grothoff
2010-10-21 15:47 Christian Grothoff Status resolved => closed