From awalters at spsy.com Tue Aug 3 14:30:31 2021 From: awalters at spsy.com (Adam Walters) Date: Wed Aug 4 09:37:48 2021 Subject: [odb-users] Quoted database names in Oracle Message-ID: Hi there, I would like to replace some ancient Oracle database code in an application with a nice ODB-based implementation but one of the problems I have encountered is the default behaviour of ODB to use quotes around table names (tables, columns, etc.). Since I am trying to make this replacement as close as possible, I would like to retain the existing database convention that uses no quotes around the objects. I tried using the --table-regex etc. options but they do not appear to be able to remove the quotes from the resulting names of database entities. Obviously, just changing the schema generation sql to remove the quotes results in the desired naming but won't work with ODB after that. Is there a way to create the database entities without quotes by passing an option to the ODB complier? Thanks, Adam Walters Software Consultant Spectra Systems Corp. From boris at codesynthesis.com Wed Aug 4 10:11:24 2021 From: boris at codesynthesis.com (Boris Kolpackov) Date: Wed Aug 4 10:10:17 2021 Subject: [odb-users] Quoted database names in Oracle In-Reply-To: References: Message-ID: Adam Walters writes: > I would like to replace some ancient Oracle database code in an application > with a nice ODB-based implementation but one of the problems I have > encountered is the default behaviour of ODB to use quotes around table > names (tables, columns, etc.). Since I am trying to make this replacement > as close as possible, I would like to retain the existing database > convention that uses no quotes around the objects. > > I tried using the --table-regex etc. options but they do not appear > to be able to remove the quotes from the resulting names of database > entities. Right, quoting happens after this processing. > Obviously, just changing the schema generation sql to remove the quotes > results in the desired naming but won't work with ODB after that. Is > there a way to create the database entities without quotes by passing > an option to the ODB complier? No, there is no such option. In Oracle an unquoted identifier is capitalized while a quoted one is used as is. So if you want to reference an unquoted identifier but spelled quoted, you have to capitalize it yourself. For example: CREATE TABLE bar ... select * from bar -- OK select * from BAR -- OK select * from "bar" -- ERROR select * from "BAR" -- OK So one way to achieve what you want would be to use --*-regex to capitalize all the identifiers (there is the \U modifier for that). Alternatively, you can assign already capitalized table and column names using pragmas. From karnlai at tencent.com Thu Aug 5 22:57:12 2021 From: karnlai at tencent.com (=?utf-8?B?a2FybmxhaSjotZbmraPmlY8p?=) Date: Fri Aug 6 04:17:32 2021 Subject: [odb-users] How to operate shared mysql databases and tables through ODB? Message-ID: <9E7D07A5-85D6-4188-B805-E5B9D2A2EBF1@tencent.com> Hi, I am trying to use ODB. As the data volume is growing rapidly, we need to use shared database and tables in our project to ensure performance and reliability. Suppose we have db_00, db_01,?, db10, and each db has tb_00, ?., tb?10, where the structure of each db and each table is same. They only differ in name. According to the doc of ODB, each entity is mapped to a table, but it is inefficient to create 10 different classes with same fields for the 10 tables which only differ in name, right? Hence, my doubt is, does ODB support operating shared databases and tables? How to use that? Thanks. From boris at codesynthesis.com Fri Aug 6 07:02:51 2021 From: boris at codesynthesis.com (Boris Kolpackov) Date: Fri Aug 6 07:01:45 2021 Subject: [odb-users] How to operate shared mysql databases and tables through ODB? In-Reply-To: <9E7D07A5-85D6-4188-B805-E5B9D2A2EBF1@tencent.com> References: <9E7D07A5-85D6-4188-B805-E5B9D2A2EBF1@tencent.com> Message-ID: karnlai(???) writes: > As the data volume is growing rapidly, we need to use shared database > and tables in our project to ensure performance and reliability. > > Suppose we have db_00, db_01,?, db10, and each db has tb_00, ?., tb?10, > where the structure of each db and each table is same. They only differ > in name. > > According to the doc of ODB, each entity is mapped to a table, but it > is inefficient to create 10 different classes with same fields for the > 10 tables which only differ in name, right? Yes, an ODB persistent class maps to a specific database table name (there are good reasons for this, such as the use of prepared statements). So you will need to use MySQL-level mechanisms to establish the "context" in which this name is resolved. One such mechanism is the USE statement[1] which allows you to designate a specific database as the default: https://dev.mysql.com/doc/refman/8.0/en/use.html I don't believe there is a similar mechanism for tables so if you need this, duplicating the class (perhaps with an abstract base class and a template implementation) is your best option. From luca.paganotti at gmail.com Tue Aug 24 10:33:34 2021 From: luca.paganotti at gmail.com (luca paganotti) Date: Thu Aug 26 08:26:30 2021 Subject: [odb-users] Debian upgrade Message-ID: Hi all, after debian upgrade from 10 to 11 odb is not working anymore. When I run odb I get this error despite any parameter I pass to odb: odb: error: no ODB plugin in GCC plugin directory '/usr/lib/gcc/x86_64-linux-gnu/10/plugin' I checked and odb.so is not present in the mentioned plugin folder. The upgrade went fine, but now odb refuses to work as before. Any hint? Thanks ---------------------------------------------------------------- -- Dott. Ing. Luca Paganotti -- Via Baroffio 4 -- 21040 Vedano Olona (VA) -- 393 1346898 ---------------------------------------------------------------- -- luca.paganotti@gmail.com -- https://github.com/lucapaganotti -- sourceforge email: -- lucapaganotti@users.sourceforge.net -- skype name: luca.paganotti [image: http://it.linkedin.com/in/lucapaganotti] -- --------------------------------------------------------------- -- Mistakes are portals of discovery - JAAJ --- -------------------------------------------------------------- From boris at codesynthesis.com Thu Aug 26 09:30:33 2021 From: boris at codesynthesis.com (Boris Kolpackov) Date: Thu Aug 26 09:29:09 2021 Subject: [odb-users] Debian upgrade In-Reply-To: References: Message-ID: luca paganotti writes: > Hi all, after debian upgrade from 10 to 11 odb is not working anymore. > > odb: error: no ODB plugin in GCC plugin directory > '/usr/lib/gcc/x86_64-linux-gnu/10/plugin' > > I checked and odb.so is not present in the mentioned plugin folder. > > The upgrade went fine, but now odb refuses to work as before. The version of GCC (g++) must have changed and so ODB is now looking for the plugin for that version. There are two ways forward: 1. Rebuild/reinstall ODB for the new version of GCC. 2. Force ODB to use the old version of GCC if you still have it, for example: odb -x g++-9 ... From luca.paganotti at gmail.com Thu Aug 26 10:43:56 2021 From: luca.paganotti at gmail.com (luca paganotti) Date: Thu Aug 26 10:42:56 2021 Subject: [odb-users] Debian upgrade In-Reply-To: References: Message-ID: Ok, thanks. Unfortunately my g++-9 is not on my box anymore, further reinstall of odb packages after purge gives me the same error. It seems that I have to rebuild from source all I need, got the packages from git, now I need also the build environment, i.e. build and cli, this seems to be the path I have to follow. Do I need build or build2? Have a good day. Il gio 26 ago 2021, 15:30 Boris Kolpackov ha scritto: > luca paganotti writes: > > > Hi all, after debian upgrade from 10 to 11 odb is not working anymore. > > > > odb: error: no ODB plugin in GCC plugin directory > > '/usr/lib/gcc/x86_64-linux-gnu/10/plugin' > > > > I checked and odb.so is not present in the mentioned plugin folder. > > > > The upgrade went fine, but now odb refuses to work as before. > > The version of GCC (g++) must have changed and so ODB is now looking > for the plugin for that version. There are two ways forward: > > 1. Rebuild/reinstall ODB for the new version of GCC. > > 2. Force ODB to use the old version of GCC if you still have it, > for example: > > odb -x g++-9 ... > > From luca.paganotti at gmail.com Thu Aug 26 11:33:42 2021 From: luca.paganotti at gmail.com (luca paganotti) Date: Thu Aug 26 11:33:01 2021 Subject: [odb-users] Debian upgrade In-Reply-To: References: Message-ID: Hi Boris, I'm trying to build cli after 'build' installation via 'make install_prefix=/usr install' command. Apart from some warnings I have two errors in my make command for cli (version 1.1.0). Please find the attached text file containing the make command output. Can I have some hint on these errors in order to solve them? Thank, regards. ---------------------------------------------------------------- -- Dott. Ing. Luca Paganotti -- Via dei Giardini 9 -- 21035 Cunardo (VA) -- 393 1346898 ---------------------------------------------------------------- -- softech s.r.l. email: -- luca.paganotti@softechweb.it -- luca.paganotti@gmail.com -- https://github.com/lucapaganotti -- sourceforge email: -- lucapaganotti@users.sourceforge.net -- skype name: luca.paganotti [image: http://it.linkedin.com/in/lucapaganotti] -- --------------------------------------------------------------- -- Mistakes are portals of discovery - JAAJ --- -------------------------------------------------------------- On Thu, Aug 26, 2021 at 3:30 PM Boris Kolpackov wrote: > luca paganotti writes: > > > Hi all, after debian upgrade from 10 to 11 odb is not working anymore. > > > > odb: error: no ODB plugin in GCC plugin directory > > '/usr/lib/gcc/x86_64-linux-gnu/10/plugin' > > > > I checked and odb.so is not present in the mentioned plugin folder. > > > > The upgrade went fine, but now odb refuses to work as before. > > The version of GCC (g++) must have changed and so ODB is now looking > for the plugin for that version. There are two ways forward: > > 1. Rebuild/reinstall ODB for the new version of GCC. > > 2. Force ODB to use the old version of GCC if you still have it, > for example: > > odb -x g++-9 ... > > -------------- next part -------------- c++ /home/buck/dev/c++/codesynthesis/cli-1.1.0+dep/cli/cli/context.cxx In file included from /home/buck/dev/c++/codesynthesis/cli-1.1.0+dep/libcutl/cutl/shared-ptr.hxx:9, from /home/buck/dev/c++/codesynthesis/cli-1.1.0+dep/cli/cli/context.hxx:15, from /home/buck/dev/c++/codesynthesis/cli-1.1.0+dep/cli/cli/context.cxx:8: /home/buck/dev/c++/codesynthesis/cli-1.1.0+dep/libcutl/cutl/shared-ptr/base.hxx:33:41: warning: dynamic exception specifications are deprecated in C++11 [-Wdeprecated] 33 | operator new (std::size_t, cutl::share) throw (std::bad_alloc); | ^~~~~ /home/buck/dev/c++/codesynthesis/cli-1.1.0+dep/libcutl/cutl/shared-ptr/base.hxx:63:39: warning: dynamic exception specifications are deprecated in C++11 [-Wdeprecated] 63 | operator new (std::size_t, share) throw (std::bad_alloc); | ^~~~~ In file included from /home/buck/dev/c++/codesynthesis/cli-1.1.0+dep/libcutl/cutl/shared-ptr/base.hxx:88, from /home/buck/dev/c++/codesynthesis/cli-1.1.0+dep/libcutl/cutl/shared-ptr.hxx:9, from /home/buck/dev/c++/codesynthesis/cli-1.1.0+dep/cli/cli/context.hxx:15, from /home/buck/dev/c++/codesynthesis/cli-1.1.0+dep/cli/cli/context.cxx:8: /home/buck/dev/c++/codesynthesis/cli-1.1.0+dep/libcutl/cutl/shared-ptr/base.ixx:63:39: warning: dynamic exception specifications are deprecated in C++11 [-Wdeprecated] 63 | operator new (std::size_t n, share) throw (std::bad_alloc) | ^~~~~ In file included from /home/buck/dev/c++/codesynthesis/cli-1.1.0+dep/libcutl/cutl/compiler/context.hxx:14, from /home/buck/dev/c++/codesynthesis/cli-1.1.0+dep/cli/cli/semantics/elements.hxx:23, from /home/buck/dev/c++/codesynthesis/cli-1.1.0+dep/cli/cli/semantics/class.hxx:9, from /home/buck/dev/c++/codesynthesis/cli-1.1.0+dep/cli/cli/semantics.hxx:9, from /home/buck/dev/c++/codesynthesis/cli-1.1.0+dep/cli/cli/context.hxx:18, from /home/buck/dev/c++/codesynthesis/cli-1.1.0+dep/cli/cli/context.cxx:8: /home/buck/dev/c++/codesynthesis/cli-1.1.0+dep/libcutl/cutl/container/any.hxx:130:12: warning: ?template class std::auto_ptr? is deprecated [-Wdeprecated-declarations] 130 | std::auto_ptr holder_; | ^~~~~~~~ In file included from /usr/include/c++/10/memory:83, from /home/buck/dev/c++/codesynthesis/cli-1.1.0+dep/libcutl/cutl/container/any.hxx:9, from /home/buck/dev/c++/codesynthesis/cli-1.1.0+dep/libcutl/cutl/compiler/context.hxx:14, from /home/buck/dev/c++/codesynthesis/cli-1.1.0+dep/cli/cli/semantics/elements.hxx:23, from /home/buck/dev/c++/codesynthesis/cli-1.1.0+dep/cli/cli/semantics/class.hxx:9, from /home/buck/dev/c++/codesynthesis/cli-1.1.0+dep/cli/cli/semantics.hxx:9, from /home/buck/dev/c++/codesynthesis/cli-1.1.0+dep/cli/cli/context.hxx:18, from /home/buck/dev/c++/codesynthesis/cli-1.1.0+dep/cli/cli/context.cxx:8: /usr/include/c++/10/bits/unique_ptr.h:57:28: note: declared here 57 | template class auto_ptr; | ^~~~~~~~ In file included from /home/buck/dev/c++/codesynthesis/cli-1.1.0+dep/cli/cli/traversal/elements.hxx:9, from /home/buck/dev/c++/codesynthesis/cli-1.1.0+dep/cli/cli/traversal/class.hxx:9, from /home/buck/dev/c++/codesynthesis/cli-1.1.0+dep/cli/cli/traversal.hxx:9, from /home/buck/dev/c++/codesynthesis/cli-1.1.0+dep/cli/cli/context.hxx:19, from /home/buck/dev/c++/codesynthesis/cli-1.1.0+dep/cli/cli/context.cxx:8: /home/buck/dev/c++/codesynthesis/cli-1.1.0+dep/libcutl/cutl/compiler/traversal.hxx: In instantiation of ?cutl::compiler::traverser_impl::traverser_impl() [with X = semantics::names; B = semantics::edge]?: /home/buck/dev/c++/codesynthesis/cli-1.1.0+dep/cli/cli/traversal/elements.hxx:87:10: required from here /home/buck/dev/c++/codesynthesis/cli-1.1.0+dep/libcutl/cutl/compiler/traversal.hxx:76:13: error: ?add? was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive] 76 | add (typeid (type), *this); | ~~~~^~~~~~~~~~~~~~~~~~~~~~ /home/buck/dev/c++/codesynthesis/cli-1.1.0+dep/libcutl/cutl/compiler/traversal.hxx:76:13: note: declarations in dependent base ?cutl::compiler::traverser_map? are not found by unqualified lookup /home/buck/dev/c++/codesynthesis/cli-1.1.0+dep/libcutl/cutl/compiler/traversal.hxx:76:13: note: use ?this->add? instead /home/buck/dev/c++/codesynthesis/cli-1.1.0+dep/libcutl/cutl/compiler/traversal.hxx: In instantiation of ?cutl::compiler::traverser_impl::traverser_impl() [with X = semantics::belongs; B = semantics::edge]?: /home/buck/dev/c++/codesynthesis/cli-1.1.0+dep/cli/cli/traversal/elements.hxx:87:10: required from here /home/buck/dev/c++/codesynthesis/cli-1.1.0+dep/libcutl/cutl/compiler/traversal.hxx:76:13: error: ?add? was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive] /home/buck/dev/c++/codesynthesis/cli-1.1.0+dep/libcutl/cutl/compiler/traversal.hxx:76:13: note: declarations in dependent base ?cutl::compiler::traverser_map? are not found by unqualified lookup /home/buck/dev/c++/codesynthesis/cli-1.1.0+dep/libcutl/cutl/compiler/traversal.hxx:76:13: note: use ?this->add? instead /home/buck/dev/c++/codesynthesis/cli-1.1.0+dep/libcutl/cutl/compiler/traversal.hxx: In instantiation of ?cutl::compiler::traverser_impl::traverser_impl() [with X = semantics::initialized; B = semantics::edge]?: /home/buck/dev/c++/codesynthesis/cli-1.1.0+dep/cli/cli/traversal/elements.hxx:87:10: required from here /home/buck/dev/c++/codesynthesis/cli-1.1.0+dep/libcutl/cutl/compiler/traversal.hxx:76:13: error: ?add? was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive] /home/buck/dev/c++/codesynthesis/cli-1.1.0+dep/libcutl/cutl/compiler/traversal.hxx:76:13: note: declarations in dependent base ?cutl::compiler::traverser_map? are not found by unqualified lookup /home/buck/dev/c++/codesynthesis/cli-1.1.0+dep/libcutl/cutl/compiler/traversal.hxx:76:13: note: use ?this->add? instead /home/buck/dev/c++/codesynthesis/cli-1.1.0+dep/libcutl/cutl/compiler/traversal.hxx: In instantiation of ?cutl::compiler::traverser_impl::traverser_impl() [with X = semantics::cxx_includes; B = semantics::edge]?: /home/buck/dev/c++/codesynthesis/cli-1.1.0+dep/cli/cli/traversal/elements.hxx:87:10: required from here /home/buck/dev/c++/codesynthesis/cli-1.1.0+dep/libcutl/cutl/compiler/traversal.hxx:76:13: error: ?add? was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive] /home/buck/dev/c++/codesynthesis/cli-1.1.0+dep/libcutl/cutl/compiler/traversal.hxx:76:13: note: declarations in dependent base ?cutl::compiler::traverser_map? are not found by unqualified lookup /home/buck/dev/c++/codesynthesis/cli-1.1.0+dep/libcutl/cutl/compiler/traversal.hxx:76:13: note: use ?this->add? instead /home/buck/dev/c++/codesynthesis/cli-1.1.0+dep/libcutl/cutl/compiler/traversal.hxx: In instantiation of ?cutl::compiler::traverser_impl::traverser_impl() [with X = semantics::cli_includes; B = semantics::edge]?: /home/buck/dev/c++/codesynthesis/cli-1.1.0+dep/cli/cli/traversal/elements.hxx:87:10: required from here /home/buck/dev/c++/codesynthesis/cli-1.1.0+dep/libcutl/cutl/compiler/traversal.hxx:76:13: error: ?add? was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive] /home/buck/dev/c++/codesynthesis/cli-1.1.0+dep/libcutl/cutl/compiler/traversal.hxx:76:13: note: declarations in dependent base ?cutl::compiler::traverser_map? are not found by unqualified lookup /home/buck/dev/c++/codesynthesis/cli-1.1.0+dep/libcutl/cutl/compiler/traversal.hxx:76:13: note: use ?this->add? instead /home/buck/dev/c++/codesynthesis/cli-1.1.0+dep/libcutl/cutl/compiler/traversal.hxx: In instantiation of ?cutl::compiler::traverser_impl::traverser_impl() [with X = semantics::namespace_; B = semantics::node]?: /home/buck/dev/c++/codesynthesis/cli-1.1.0+dep/cli/cli/traversal/elements.hxx:81:10: required from here /home/buck/dev/c++/codesynthesis/cli-1.1.0+dep/libcutl/cutl/compiler/traversal.hxx:76:13: error: ?add? was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive] /home/buck/dev/c++/codesynthesis/cli-1.1.0+dep/libcutl/cutl/compiler/traversal.hxx:76:13: note: declarations in dependent base ?cutl::compiler::traverser_map? are not found by unqualified lookup /home/buck/dev/c++/codesynthesis/cli-1.1.0+dep/libcutl/cutl/compiler/traversal.hxx:76:13: note: use ?this->add? instead In file included from /home/buck/dev/c++/codesynthesis/cli-1.1.0+dep/cli/cli/traversal/class.hxx:9, from /home/buck/dev/c++/codesynthesis/cli-1.1.0+dep/cli/cli/traversal.hxx:9, from /home/buck/dev/c++/codesynthesis/cli-1.1.0+dep/cli/cli/context.hxx:19, from /home/buck/dev/c++/codesynthesis/cli-1.1.0+dep/cli/cli/context.cxx:8: /home/buck/dev/c++/codesynthesis/cli-1.1.0+dep/cli/cli/traversal/elements.hxx: In instantiation of ?void traversal::scope_template::names(T&, traversal::edge_dispatcher&) [with T = semantics::namespace_; traversal::edge_dispatcher = cutl::compiler::dispatcher]?: /home/buck/dev/c++/codesynthesis/cli-1.1.0+dep/cli/cli/traversal/elements.hxx:132:5: required from here /home/buck/dev/c++/codesynthesis/cli-1.1.0+dep/cli/cli/traversal/elements.hxx:134:28: error: ?iterate_and_dispatch? was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive] 134 | iterate_and_dispatch (s.names_begin (), s.names_end (), d); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/buck/dev/c++/codesynthesis/cli-1.1.0+dep/cli/cli/traversal/elements.hxx:134:28: note: declarations in dependent base ?cutl::compiler::dispatcher? are not found by unqualified lookup /home/buck/dev/c++/codesynthesis/cli-1.1.0+dep/cli/cli/traversal/elements.hxx:134:28: note: use ?this->iterate_and_dispatch? instead make: *** [/home/buck/dev/c++/codesynthesis/cli-1.1.0+dep/build-0.3/cxx/generic/cxx-o.make:24: /home/buck/dev/c++/codesynthesis/cli-1.1.0+dep/cli/cli/context.o] Errore 1 From luca.paganotti at gmail.com Fri Aug 27 04:12:41 2021 From: luca.paganotti at gmail.com (luca paganotti) Date: Fri Aug 27 04:12:02 2021 Subject: [odb-users] Debian upgrade In-Reply-To: References: Message-ID: Hi, a little update on building cli. Referring to the attachment of my last email, I've done the following changes to the code and cli makefile: - *cutl/compiler/traversal.hxx* --> line *76* was add(typeid(type), *this); *now is* traverser_map::add(typeid(type), *this); - *cli/cli/traversal/elements.hxx* --> line *134* was iterate_and_dispatch (s.names_begin (), s.names_end (), d); *now is* node::iterate_and_dispatch (s.names_begin (), s.names_end (), d); - *root makefile *--> line *10* was .PHONY: $(default) test install clean *now is* .PHONY: $(default) install clean in order to avoid tests build Now cli is compiling and building apart from a bunch of warnings. At least cli is built and I can see the --help output. I need to make some tests on it and/or compile also the tests ... I don't know if these changes are ok with you? Thanks, have a nice day. ---------------------------------------------------------------- -- Dott. Ing. Luca Paganotti -- Via dei Giardini 9 -- 21035 Cunardo (VA) -- 393 1346898 ---------------------------------------------------------------- -- softech s.r.l. email: -- luca.paganotti@softechweb.it -- luca.paganotti@gmail.com -- https://github.com/lucapaganotti -- sourceforge email: -- lucapaganotti@users.sourceforge.net -- skype name: luca.paganotti [image: http://it.linkedin.com/in/lucapaganotti] -- --------------------------------------------------------------- -- Mistakes are portals of discovery - JAAJ --- -------------------------------------------------------------- On Thu, Aug 26, 2021 at 3:30 PM Boris Kolpackov wrote: > luca paganotti writes: > > > Hi all, after debian upgrade from 10 to 11 odb is not working anymore. > > > > odb: error: no ODB plugin in GCC plugin directory > > '/usr/lib/gcc/x86_64-linux-gnu/10/plugin' > > > > I checked and odb.so is not present in the mentioned plugin folder. > > > > The upgrade went fine, but now odb refuses to work as before. > > The version of GCC (g++) must have changed and so ODB is now looking > for the plugin for that version. There are two ways forward: > > 1. Rebuild/reinstall ODB for the new version of GCC. > > 2. Force ODB to use the old version of GCC if you still have it, > for example: > > odb -x g++-9 ... > > From luca.paganotti at gmail.com Fri Aug 27 05:37:02 2021 From: luca.paganotti at gmail.com (luca paganotti) Date: Fri Aug 27 05:36:22 2021 Subject: [odb-users] Debian upgrade In-Reply-To: References: Message-ID: Hi Boris, building odb gives me : buck@poetic:~/dev/c++/odb/odb$ make c++ /home/buck/dev/c++/odb/odb/odb/cxx-lexer.cxx In file included from /usr/lib/gcc/x86_64-linux-gnu/10/plugin/include/tm.h:26, from /usr/lib/gcc/x86_64-linux-gnu/10/plugin/include/backend.h:28, from /usr/lib/gcc/x86_64-linux-gnu/10/plugin/include/gcc-plugin.h:30, from /home/buck/dev/c++/odb/odb/odb/gcc.hxx:47, from /home/buck/dev/c++/odb/odb/odb/cxx-lexer.cxx:4: /usr/lib/gcc/x86_64-linux-gnu/10/plugin/include/config/i386/i386.h:2500:10: fatal error: common/config/i386/i386-cpuinfo.h: File o directory non esistente 2500 | #include "common/config/i386/i386-cpuinfo.h" | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ compilation terminated. make: *** [/usr/include/build-0.3/cxx/gnu/cxx-o.make:24: /home/buck/dev/c++/odb/odb/odb/cxx-lexer.o] Errore 1 searching to solve the error I've found this thread: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=981174 in the last message it's clearly stated that gcc/g++ 10 has some bugs that will never be addressed, specifically the *#980609 missing i386-cpuinfo.h* will not be addressed and a few lines below it's stated that: * odb switched to GCC-9 so it seems that the only way to have back odb is to reinstall g++-9 Have a great day. ---------------------------------------------------------------- -- Dott. Ing. Luca Paganotti -- Via dei Giardini 9 -- 21035 Cunardo (VA) -- 393 1346898 ---------------------------------------------------------------- -- softech s.r.l. email: -- luca.paganotti@softechweb.it -- luca.paganotti@gmail.com -- https://github.com/lucapaganotti -- sourceforge email: -- lucapaganotti@users.sourceforge.net -- skype name: luca.paganotti [image: http://it.linkedin.com/in/lucapaganotti] -- --------------------------------------------------------------- -- Mistakes are portals of discovery - JAAJ --- -------------------------------------------------------------- On Thu, Aug 26, 2021 at 3:30 PM Boris Kolpackov wrote: > luca paganotti writes: > > > Hi all, after debian upgrade from 10 to 11 odb is not working anymore. > > > > odb: error: no ODB plugin in GCC plugin directory > > '/usr/lib/gcc/x86_64-linux-gnu/10/plugin' > > > > I checked and odb.so is not present in the mentioned plugin folder. > > > > The upgrade went fine, but now odb refuses to work as before. > > The version of GCC (g++) must have changed and so ODB is now looking > for the plugin for that version. There are two ways forward: > > 1. Rebuild/reinstall ODB for the new version of GCC. > > 2. Force ODB to use the old version of GCC if you still have it, > for example: > > odb -x g++-9 ... > > From boris at codesynthesis.com Fri Aug 27 08:02:16 2021 From: boris at codesynthesis.com (Boris Kolpackov) Date: Fri Aug 27 08:00:54 2021 Subject: [odb-users] Debian upgrade In-Reply-To: References: Message-ID: luca paganotti writes: > Do I need build or build2? Yes, here are the instructions: https://codesynthesis.com/products/odb/doc/install-build2.xhtml