[PD-dev] building iemnet on Windows and OS X

Roman Haefeli reduzent at gmail.com
Sat Oct 29 19:40:16 CEST 2011


On Sat, 2011-10-29 at 10:37 -0400, Hans-Christoph Steiner wrote:
> On Oct 29, 2011, at 4:08 AM, Roman Haefeli wrote:
> 
> > On Sat, 2011-10-29 at 09:05 +0200, IOhannes m zmölnig wrote:
> >> -----BEGIN PGP SIGNED MESSAGE-----
> >> Hash: SHA1
> >> 
> >> On 10/28/2011 09:58 PM, Roman Haefeli wrote:
> >>> Hi Hans, IOhannes
> >>> 
> >>> I don't have a clue what MSG_DONTWAIT is. I think I need some help (from
> >>> IOhannes?) to get this one fixed.
> >> 
> >> it's a (linux-specific?) extensions for non-blocking socket receivers.
> >> the problem should be fixed now (by only using MSG_DONTWAIT if it is
> >> available)
> > 
> > Thanks.
> > 
> >>> Altough I had the same error once on Linux (I didn't do 'make clean'),
> >>> it doesn't happen in the Linux autobuilds, probably because the pd/src
> >>> directory is clean at the time of externals build.
> >>> 
> >>> Hints/help is appreciated.
> >> 
> >> hmm, i think the problem is a stupid error-checking condition in gcc,
> >> that guarantuess that you only specify "directories" as "include
> >> directories". i have never seen this on linux, so it might be an osx
> >> specific "feature".
> > 
> > FYI: It happens also on Linux, if you didn't 'make clean' in the pd
> > sources before.
> > 
> >> a simple fix would be to remove the '-I"$(PD_INCLUDE)/pd"' stanza.
> >> i'm a bit reluctant to commit this, as i would first like to understand
> >> why the compiler thinks it an error when specifying an include-directory
> >> that is a file (but not, if you specify an include-directory that is
> >> non-existant)
> > 
> > I'm afraid I also do not understand why this considered an error. A
> > work-around would be to check if src/pd is a file or a directory and
> > only add '-I"$(PD_INCLUDE)/pd"' if it really is a directory.
> 
> The newest library template version handles this much better.  I think its something that IOhannes worked out with the PD_INCLUDE var pointing directly to the dir that actually has the headers, and PD_PATH pointing to the root of the Pd tree.  The default include statement is now -I$(PD_INCLUDE) so its easily overrideable.
> 

Just for the record:
Both errors were not related to iemnet's Makefile being based on an old
version of the template. 

The OS X error is (hopefully) fixed now, because IOhannes removed
'-I"$(PD_INCLUDE)/pd"' from ALL_CFLAGS (which was also not part of the
older template version).

The windows error wasn't related to the Makefile at all.

Anyway, it's good it's based on a current template now.

Roman






More information about the Pd-dev mailing list