[odb-users] Segmentation fault while executing odb compiler avoided adding a typedef sentence

Marcos Gonzalez Menendez marcos.glez at gmail.com
Wed Aug 19 18:35:07 EDT 2015


I was playing with an small example extracted from the odb user manual
while I found that the odb compiler gives a segmentation fault error. I'm
using odb compiler 2.4.0 for Windows (64 bits).

My header file looks like this

#include <vector>
#include <odb/core.hxx>

// Uncommenting the following line will make odb compiler work
// typedef std::vector<std::string> names;

namespace odbtester
    #pragma db object
    class person

        person() { id_ = 0; }

        unsigned long id() const { return id_; }


        friend class odb::access;

        #pragma db id auto
        unsigned long id_;

        //#pragma db unordered
        std::vector<std::string> nicknames_;

For invoking odb, I'm using this parameters:

odb.exe ^
--std c++11 ^
--profile qt ^
--multi-database dynamic ^
-d common ^
-d sqlite ^
--generate-query ^
--generate-session ^
--generate-schema ^
--schema-format embedded ^

The result that I get after execution:

*** 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 <standard-odb-epilogue>:8:0:
internal compiler error: Segmentation fault
libbacktrace could not find executable to open
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://www.codesynthesis.com/products/odb/> for instructions.

However if we uncomment the typedef sentence above, everything works

Best regards

Marcos González Menéndez

More information about the odb-users mailing list