Menu

'##cde##.rules file not found' imake error when building CDE on FreeBSD 10.1-RELEASE

2014-11-14
2014-11-19
  • Douglas Carmichael

    I'm trying to build CDE from the git repository on FreeBSD 10.1-RELEASE (while successfully having built on 10.0-RELEASE) and am running into imake errors when attempting to build on 10.1-RELEASE.

    Would there be any way to resolve them?

    Thanks in advance!

    --Douglas

    ~~~~~~~~~

    $ make World

    Building Release 2.2.2 of CDE

    I hope you checked the configuration parameters in ./config/cf

    to see if you need to pass BOOTSTRAPCFLAGS.

    Fri Nov 14 11:09:53 CST 2014

    cd ./config/imake && make -f Makefile.ini BOOTSTRAPCFLAGS="" clean

    rm -f ccimake imake.o imake

    rm -f .CKP .ln .BAK .bak .o core errs , ~ .a tags TAGS make.log #*

    rm -f -r Makefile.proto Makefile Makefile.dep bootstrap

    make Makefile.boot

    cd ./config/imake && make -f Makefile.ini BOOTSTRAPCFLAGS=""

    making imake with BOOTSTRAPCFLAGS= in config/imake

    cc -o ccimake -O -I../../include -I/usr/include/X11 -I../../imports/x11/include/X11 ccimake.c

    cc -c -O -I../../include -I/usr/include/X11 -I../../imports/x11/include/X11 ./ccimake imake.c

    cc -o imake imake.o

    rm -f ./config/makedepend/Makefile.proto

    ./config/imake/imake -I./config/cf -s ./config/makedepend/Makefile.proto -f ./config/makedepend/Imakefile -DTOPDIR=../.. -DCURDIR=./config/makedepend

    In file included from Imakefile.c:8:

    ./config/cf/Imake.tmpl:1187:10: fatal error: '##cde##.rules' file not found

    include ProjectRulesFile

                 ^
    

    /config/cf/Imake.tmpl:1185:35: note: expanded from macro 'ProjectRulesFile'

    define ProjectRulesFile Concat3(<,TopLevelProject,.rules>)

                                        ^
    

    ./config/cf/Imake.rules:239:23: note: expanded from macro 'Concat3'

    define Concat3(a,b,c)a##b##c

                     ^
    

    1 error generated.

    ./config/imake/imake: Exit code 1.

    Stop.

    *** Error code 1

    Stop.

    make[1]: stopped in /usr/home/dcarmich/cdesktopenv-code/cde

    *** Error code 1

    Stop.

    make: stopped in /usr/home/dcarmich/cdesktopenv-code/cde

    ~~~~~~~

     

    Last edit: Douglas Carmichael 2014-11-14
  • Ulrich Wilkens

    Ulrich Wilkens - 2014-11-19

    I think I've found the reason for the problem:
    With FreeBSD 10.1 clang has been updated to version 3.4.1. Among other things
    they've changed the behavior of cpp's traditional mode. Now stringification (#)
    and token pasting (##) are ignored under some conditions.
    Since both are heavily used by CDE it's no longer possible to use traditional mode
    together with clang. Fortunately non-traditional mode also works with only a few
    patches.
    I have CDE running on FreeBSD 10.1 now and can submit the patches soon.

     

Log in to post a comment.