On Wed, Sep 12, 2012 at 09:00:32PM +0100, Stuart Henderson wrote: > On 2012/09/12 11:17, Ryan Freeman wrote: > > Hey ports@ > > > > Hoping I can borrow some eyes on this one, as I have beaten this to > > death myself. > > > > Basically, a program that build just fine with its plain source > > archive always fails when trying to turn it into a port: > > > > > > building via ports: > > > > [ 60%] Building CXX object source/CMakeFiles/vavoom.dir/net_udp.o > > cd /home/ryan/obj/pobj/vavoom-1.33/build-i386/source && /usr/bin/c++ > > -DHAVE_INTTYPES_H=1 -g -I/home/ryan/obj/pobj/vavoom-1.33/build-i386/source > > -I/usr/local/include/SDL -I/usr/local/include -I/usr/X11R6/include > > -I/usr/local/include/AL -I/usr/local/include/libpng > > -I/home/ryan/obj/pobj/vavoom-1.33/vavoom-1.33/source/-pthread -o > > CMakeFiles/vavoom.dir/net_udp.o -c > > /home/ryan/obj/pobj/vavoom-1.33/vavoom-1.33/source/net_udp.cpp > > This is using SEPARATE_BUILD (i.e. build dir is outside of the tree)
Hmm I did see this when I was looking at cmake.bsd.mk, that SEPARATE_BUILD is default to Yes. I did build the source archive outside of its base too and forgot to mention that. Thanks to stsp for seeking out info I didn't include, it was indeed due to cmake somehow managing to pull in sys/param.h when build via ports tree vs straight source archive. > > > cd /home/ryan/src/vavoom/vavoom-1.33/build/source && /usr/bin/c++ > > -DHAVE_INTTYPES_H=1 -g -I/home/ryan/src/vavoom/vavoom-1.33/build/source > > -I/usr/local/include/SDL -I/usr/local/include -I/usr/X11R6/include > > -I/usr/local/include/AL -I/usr/local/include/libpng > > -I/home/ryan/src/vavoom/vavoom-1.33/source/-pthread -o > > CMakeFiles/vavoom.dir/net_udp.o -c > > /home/ryan/src/vavoom/vavoom-1.33/source/net_udp.cpp > > and this isn't. That would be the first place I'd look (i.e. set > SEPARATE_BUILD=No). > > Not related to the error you're seeing but > "-I/home/ryan/src/vavoom/vavoom-1.33/source/-pthread" looks wrong.. Thank you! I have been looking at that as well and can't quite figure out yet why thats being put there without a space. The -I/path/to/src is already included in the list, haven't cornered why its outputted again before the -pthread flag. Also, I recall the changes allowing -lpthread to work, but in this case -pthread was automatically chosen by cmake. Is this still ok? Cheers! -ryan
