resistance is obsolete ™ ;-)
the groupware construction kit

Common OGo Build Errors

This page tries to collect some common newbie build errors, some kind of "error" FAQ ;-) If you know a common build error you would like to see included on this page, please send mail to

  • FIRST: Check the Developer FAQ!
  • Missing Foundation/NSObject.h ...
  • calendar.jsm does not compile ...
  • /common.make: No such file or directory ...

  • Missing Foundation/NSObject.h ...

    The compilation error:

    sope-xml # make -s debug=yes install
    Making all in SaxObjC...
    Making all for library libSaxObjC...
    In file included from SaxAttributeList.m:23:
    SaxAttributeList.h:26:32: warning Foundation/NSObject.h No such file or
    In file included from SaxAttributeList.m:23
    SaxAttributeList.h:45: cannot find protocol declaration for 'NSCopying'
    SaxAttributeList.h:50: cannot find interface declaration for 'NSObject',
    superclass of 'SaxAttributeList'
    make[2]: ***
    [shered_debug_obj/ix86/linux-gnu/gnu-gnu-gnu/SaxAttributeList.o] Error 1
    make[1]: *** [libSaxObjC.all.library.variables] Error 2
    make: *** [internal-all] Error 2

    There seem to be two common reasons for that:

    A) you didn't source You always need to setup the GNUstep environment prior compilation. This is done by the shell file which is contained in the root of you install-tree in Makefiles/

    B) you didn't properly configure gstep-make as explained. More exactly you didn't specify --with-library-combo=gnu-fd-nil to the configure process. This results in a GNUstep environment setup for the gnu-gnu-gnu library combo, which is wrong.
    If you want to know more about library combos, please look into the DESIGN document contained in gstep-make.

    calendar.jsm does not compile ...

    The compilation error - apparently specific to Solaris 8:

    calendar.jsm:1881:1: missing terminating " character calendar.jsm:1882:5:
    missing terminating " character calendar.jsm:1885:1: missing terminating "
    character calendar.jsm:1886:5: missing terminating " character
    calendar.jsm:1886: error: parse error before '@' token
    calendar.jsm:1889:1: missing terminating " character make[2]: ***
    [shared_debug_obj/sparc/solaris2.8/gnu-fd-nil/WECalendarField.o] Error 1
    make[1]: *** [libWEExtensions.all.library.variables] Error 2 make: ***
    [internal-all] Error 2

    Apparently "sed" works different on Solaris leading to the above error. Two things: a) this should not happen anymore with current sources, since we pregenerate the .jsm files on Linux and check them into the CVS. And b), in case it happens to you in some other location, the easiest workaround is to generate the .jsm on some other platform.
    If someone would contribute a script which works with any sed, this would be quite cool ;-) (send mail to to submit the script).

    /common.make: No such file or directory ...

    Apparently people often forget to source the script, which leads to errors like this:

    (cd SOPE/sope-xml && make install)
    make[1]: Entering directory `/usr/lib/'
    GNUmakefile:3: /common.make: No such file or directory
    GNUmakefile:24: /aggregate.make: No such file or directory
    make[1]: *** No rule to make target `/aggregate.make'. Stop.
    make[1]: Leaving directory `/usr/lib/'

    As said above, you need to source the script to avoid that failure. Of course you need to have a proper setup of the GNUstep make environment, as described here in the Building Core ThirdParty Modules section.
    In case you are interested: GNUmakefile looks in / for common.make because the GNUSTEP_MAKEFILES environment variable is not set. It usually points to a path like /home/donald/SkyrixRoot/Makefiles.

    We welcome your feedback!
    This site is sponsored by
    SKYRIX Software AG
    ZideOne GmbH