Code using the plib headers (plib, Powertools) will not compile. Errors are: c++ -DPACKAGE=\"plib_examples\" -DVERSION=\"1.1.8\" -DHAVE_LIBGL=1 -DHAVE_LIBGLU=1 -DHAVE_LIBGLUT=1 -DSTDC_HEADERS=1 -DHAVE_GL_GL_H=1 -DHAVE_GL_GLUT_H=1 -DHAVE_PLIB_SG_H=1 -DHAVE_PLIB_SL_H=1 -DHAVE_PLIB_SSG_H=1 -DHAVE_PLIB_FNT_H=1 -DHAVE_PLIB_PU_H=1 -DHAVE_PLIB_JS_H=1 -DLINUX_JOYSTICK_IS_PRESENT=1 -I. -I. -g -O2 -O6 -Wall -c majik_demo.cxx In file included from /usr/include/plib/ssg.h:15, from majik_demo.cxx:11: /usr/include/plib/sg.h: In function `void sgMakeCoordMat4 (float (*)[4], const float *, const float *)': /usr/include/plib/sg.h:121: declaration of C function `void sgMakeCoordMat4 (float (*)[4], const float *, const float *)' conflicts with /usr/include/plib/sg.h:118: previous declaration `void sgMakeCoordMat4 (float (*)[4], float, float, float, float, float, float)' here /usr/include/plib/sg.h: In function `void sgMakeCoordMat4 (float (*)[4], const float *, const float *)': /usr/include/plib/sg.h:123: cannot convert `const float' to `const float *' for argument `2' to `sgMakeCoordMat4 (float (*)[4], const float *, const float *)' /usr/include/plib/sg.h: In function `void sgMakeCoordMat4 (float (*)[4], const sgCoord *)': /usr/include/plib/sg.h:127: declaration of C function `void sgMakeCoordMat4 (float (*)[4], const sgCoord *)' conflicts with /usr/include/plib/sg.h:121: previous declaration `void sgMakeCoordMat4 (float (*)[4], const float *, const float *)' here /usr/include/plib/sg.h: In function `void sgMakeCoordMat4 (float (*)[4], const float *, const float *)': /usr/include/plib/sg.h:127: confused by earlier errors, bailing out There seem to be similar issues with other includes (mimelib). Looks like it may be a preprocessor problem?
This is fixed in cpp-2.96-74 (basically new cpp was not honoring NO_IMPLICIT_EXTERN_C define, so all /usr/include headers had implicit extern "C").