[odb-users] Re: when running odb compiler get error "#error libodb-mysql header... THANKS, unfortunately now "internal compiler error: Bus error"

Richard Topolewski topolewr at cooley.edu
Tue Oct 24 14:25:54 EDT 2017


Hi Boris,

Thanks so much for the tip "#ifndef ODB_COMPILER".  I was going down that
route but didn't know if I was a better way.

Now it "compiles" without error but it does not generate any real code,
just stub code with no data members (aka fields).  I turned on --trace and
the compile end with the following:
*** WARNING *** there are active plugins, do not report this as a bug
unless you can reproduce it without enabling any plugins.
Event                            | Plugins
PLUGIN_START_UNIT                | odb
PLUGIN_PRAGMAS                   | odb
PLUGIN_OVERRIDE_GATE             | odb
In file included from ../Release/include/cpprest/http_client.h:34:0,
                 from UsingClass.h:5,
                 from MyClass2.h:10:
../Release/include/pplx/pplxtasks.h: In function ‘void
pplx::details::_ScheduleFuncWithAutoInline(const std::function<void()>&,
pplx::details::_TaskInliningMode_t)’:
../Release/include/pplx/pplxtasks.h:564:17: internal compiler error: Bus
error
     static void _ScheduleFuncWithAutoInline(const std::function<void ()> &
_Func, _TaskInliningMode_t _InliningMode)

I am compiling with c++11, because the default(c++98) throws all kinds of
compile errors on some of the packages (cpprest & pplx) that my code uses.

Attached is the complete trace, but I expect to help me you would need the
source for UsingClass, but before I go through the effort of trimming it
down to the relevant code I thought I would ask you have any advice to get
this to work on myClass2?

Rich


On Tue, Oct 24, 2017 at 8:51 AM, Boris Kolpackov <boris at codesynthesis.com>
wrote:

> Richard Topolewski <topolewr at cooley.edu> writes:
>
> > In file included from /usr/include/odb/mysql/version.hxx:10:0,
> > from myClass1-odb.hxx:83,
> > from usingClass.h:24,
> > from myClass2.h:10:
> > :/usr/include/odb/mysql/details/config.hxx:15:4: error: #error
> libodb-mysql
> > header included in odb-compiled header
>
> You shouldn't include *-odb.hxx headers in your object model headers, at
> least not unconditionally:
>
> #ifndef ODB_COMPILER
> #  include "myClass1-odb.hxx"
> #endif
>
> Boris
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: myClass2_odb_trace.log
Type: application/octet-stream
Size: 209266 bytes
Desc: not available
Url : http://codesynthesis.com/pipermail/odb-users/attachments/20171024/fdcc07f7/myClass2_odb_trace-0001.obj


More information about the odb-users mailing list