From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH 0/4] ODB: C++ Object-Relational Mapping (ORM): New packages.
Date: Sat, 28 Apr 2018 23:07:29 +0200 [thread overview]
Message-ID: <20180428230729.7f9bfa98@windsurf> (raw)
In-Reply-To: <20171228192721.18494-1-Adamduskett@outlook.com>
Hello Adam,
On Thu, 28 Dec 2017 14:27:17 -0500, Adam Duskett wrote:
> There are three main components to use ODB (and a single dependency):
> - libcutl: This library is ODB's only dependency.
> - ODB: This is a compiler that takes a specially crafted c++ header file and
> auto-generates a schema that works with libodb and the subsequent
> libodb-database library.
>
> It would be used as such:
> odb -d <database> --generate-query --generate-schema file.hxx
>
> - libodb: This package contains the common ODB runtime library. Every
> application that includes code generated by the ODB compiler will
> need to link to this library.
>
> - libodb-pgsql: This package contains the PostgreSQL ODB runtime library.
> Every application that includes code generated for the
> PostgreSQL database will need to link to this library.
>
> I am only providing libodb-pgsql as that is the only one I personally need.
> There is also support for mysql, sqlite, mssql, and oracle as well.
>
> Also boost and qt libraries are avaiable if anybody so wishes to add them.
>
> Adam Duskett (4):
> libcutl: new package
> ODB: New package
> libodb: new package
> libodb-pgsql: new package
So, I started looking at this patch series. I found a number of
problems, mainly around licensing:
- The libcutl license details were incomplete
- The odb license was incorrect (it's GPL-3.0 and not MIT)
- The libodb and libodb-pgsql license was incorrect (it's GPL-2.0 and
not MIT)
But then, I encountered two more fundamental problems:
(1) host-odb tries to build a gcc plugin for the host gcc, but my
system didn't had the necessary headers and development files to
build a gcc plugin. I had to install the gcc-plugin-devel package
on my Fedora system.
Since this is not guaranteed to be installed on all systems, I
believe we should add a hidden Config.in boolean such as
BR2_NEEDS_HOST_GCC_PLUGIN_SUPPORT, selected by host-odb (which
would perhaps require adding a Config.in.host option for
host-odb), and a check should be added in
support/dependencies/dependencies.sh to verify that gcc plugins
can be built for the host gcc. It might also be that plugin
support doesn't exist in old gcc versions.
(2) I was able to build libodb and libodb-pgsql without host-odb and
host-libcutl, and I don't see in the libodb and libodb-pgsql build
system where the gcc plugin built by host-odb or the odb compiler
is used. Try by yourself: remove the host-odb dependency from
libodb.mk, enable libodb and libodb-pgsql, and it will just work.
Could you look into the problems (1) and (2) ?
In order to avoid duplicating our effort, and because I also did a few
other cosmetic improvements, I put the latest version of the patches I
have at
https://git.bootlin.com/users/thomas-petazzoni/buildroot/log/?h=odb.
Thanks,
Thomas
--
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com
prev parent reply other threads:[~2018-04-28 21:07 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-12-28 19:27 [Buildroot] [PATCH 0/4] ODB: C++ Object-Relational Mapping (ORM): New packages Adam Duskett
2017-12-28 19:27 ` [Buildroot] [PATCH 1/4] libcutl: new package Adam Duskett
2017-12-28 19:27 ` [Buildroot] [PATCH 2/4] ODB: New package Adam Duskett
2017-12-28 19:27 ` [Buildroot] [PATCH 3/4] libodb: new package Adam Duskett
2017-12-28 19:27 ` [Buildroot] [PATCH 4/4] libodb-pgsql: " Adam Duskett
2018-04-28 21:07 ` Thomas Petazzoni [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180428230729.7f9bfa98@windsurf \
--to=thomas.petazzoni@bootlin.com \
--cc=buildroot@busybox.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox