joyent/smartos-live — Issue #25: /usr/ccs/lib/cpp can't handle va_impl.h
Author: alasdairrr
Created: 2011-12-18 02:24:48+00:00
State: open

I was having issues compiling Python 2.6 with the dtrace probes enabled, with the following barfing going on:

# dtrace -o Python/phelper.o -DPHELPER -32 -I. -IInclude -I/export/home/alasdair/s10-userland/components/python/python26/Python-2.6.6/Include -IPython -I/ec/include/ncurses -D_LARGEFILE64_SOURCE -I/ec/lib/libffi-3.0.9/include -C -G -s /export/home/alasdair/s10-userland/components/python/python26/Python-2.6.6/Python/phelper.d
./pyconfig.h: 1010: r
dtrace: failed to compile script /export/home/alasdair/s10-userland/components/python/python26/Python-2.6.6/Python/phelper.d: "/usr/include/sys/va_impl.h", line 166: invalid control directive: #error(

With richlowe's assistance we tracked this down to cpp barfing. Using cpp from Solaris 10 or OpenIndiana oi_151a fixes the issue.

Apparently smartos is using a different cpp?