I am compiling (continuing to compile) AST-OPEN 2014-12-24.
There is a compilation problem with:

        cmd/proto/proto.c

at about line number 397 (or so) there is the code sequence:

        #if !PROTO_STANDALONE
        #undef  error
        #endif

This causes a link-time problem when compiling in what appears to be
'not-stand-alone-mode'.  That is when the #define 'PROTO_STANDALINE'
is not defined.

The problem is that the #define 'error' is undefined and ends up
not being defined to anything, thus causing a link-time error
with an undefined symbol 'error()'.

It appears that an appropriate 'error()' is defined in 'ast_map.h',
itself included (ultimately) from 'ast.h', itself included in 'proto.c'
above.  It seems like for none-stand-alone-mode it should get defined
to something like '_ast_error' (from 'ast_map.h').  But something does
not connect there and the end result is the link-time undefined
symbol.

My temporary fix (which obviously does not look like it should
be ultimately correct -- at least not ashethically) is to change
the above code to something like:

        #if !PROTO_STANDALONE
        #undef  error
        #else
        #define error   _ast_error
        #endif

This does what 'ast_map.h" should have done.

Anyway, it (the 'proto' program) seems to compile OK with this fix.

Enjoy,

----

David A. Morano, PE, PhD
mor...@computer.org

_______________________________________________
ast-developers mailing list
ast-developers@lists.research.att.com
http://lists.research.att.com/mailman/listinfo/ast-developers

Reply via email to