[odb-users] Self-compiling ODB on Ubuntu 18.04 (GCC/G++ version 7)

Whisperity whisperity at gmail.com
Thu Jun 14 14:16:27 EDT 2018


Dear List,
Dear Boris,

I am trying to upgrade our tool, the open-source code comprehension
framework, CodeCompass (https://github.com/Ericsson/CodeCompass) to
work with the latest Ubuntu 18.04 release.

However, there are many issues with this. Due to some errors with the
package ABI, self-compilation must be done for ODB. This works nice on
Ubuntu 16.04 LTS (GNU/G++ version 5), but with G++ 7, it fails.

This only affects the ODB compiler (odb-2.4.0). The database connector
libraries for PostgreSQL and SQLite can properly be compiled with G++
7.

I am working on a cleanly installed system.

The error list is long, but in general, it is a massive chain of
"template with C linkage" errors in the "plugin headers" (e.g.
/usr/lib/gcc/x86_64-linux-gnu/7/plugin/include/wide-int.h:742:1), e.g.

In file included from
/usr/lib/gcc/x86_64-linux-gnu/7/plugin/include/coretypes.h:365:0,
                 from ../odb/gcc-fwd.hxx:32,
                 from ../odb/context.hxx:8,
                 from ../odb/common.hxx:13,
                 from common.cxx:5:
/usr/lib/gcc/x86_64-linux-gnu/7/plugin/include/wide-int.h:573:3:
error: template with C linkage
   template <typename T>
   ^~~~~~~~

Could it be that somewhere in the code a #include is placed in an
extern "C" {} block... or should this issue be reported to the GNU
developers?

So far, manually falling back and installing "g++-5 gcc-5-plugin-dev"
from the package manager and telling configure to use GCC-5 makes this
error go away.

--
Regards,
Whisperity.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: odb-gxx7.log
Type: text/x-log
Size: 843929 bytes
Desc: not available
Url : https://codesynthesis.com/pipermail/odb-users/attachments/20180614/37759717/odb-gxx7-0001.bin


More information about the odb-users mailing list