
*** Warning: Linking the shared library lib_vault.la against the loadable module *** lib_sql.so is not portable! After googling (for example https://github.com/credentials/silvia/issues/4), looks like it's a well known warning that is safe on Linux.
Even though my workaround works by moving my module folder up in MonetDB-11.23.3/sql/backends/monet5 (so that lib_sql.la get created first before it's used). I still don't understand how one would build it directly in monet5 sub-folder, like I showed above for "vaults" example - i.e., added "../../../../sql/backends/monet5/lib_sql" dependency in monet5\vaults\Makefile.ag. Thank you, Anton On Tue, Sep 26, 2017 at 2:00 PM, Anton Kravchenko < kravchenko.anton86@gmail.com> wrote:
I tried to move "vaults" from MonetDB-11.23.3/sql/backends/monet5/vaults to MonetDB-11.23.3/sql/vaults, so that "vaults" wouldn't sit in the same directory where lib_sql.la is built.
Indeed it compiled this time, though there is a warning, which I suspect is a serious one:
*** Warning: Linking the shared library lib_vault.la against the loadable module *** lib_sql.so is not portable!
Anton
On Tue, Sep 26, 2017 at 11:49 AM, Anton Kravchenko < kravchenko.anton86@gmail.com> wrote:
That's exact error after "../../../../sql/backends/monet5/lib_sql" dependency was added to Makefile.ag in "vaults":
make[9]: Entering directory `/home/SECDEV.LOCAL/akravchenk o/MonetDB-Jun2016/MonetDB-11.23.3/BUILD/sql/backends/monet5/vaults' make[10]: Entering directory `/home/SECDEV.LOCAL/akravchenk o/MonetDB-Jun2016/MonetDB-11.23.3/BUILD/sql/backends/monet5/vaults' /bin/sh ../../../../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I/home/SECDEV.LOCAL/akravchenko/MonetDB-Jun2016/MonetDB-11. 23.3/sql/backends/monet5/vaults -I../../../.. -I/home/SECDEV.LOCAL/akravchenko/MonetDB-Jun2016/MonetDB-11. 23.3/sql/backends/monet5/vaults -I../../../include -I/home/SECDEV.LOCAL/akravchenko/MonetDB-Jun2016/MonetDB-11. 23.3/sql/backends/monet5/vaults/../../../include -I../../../common -I/home/SECDEV.LOCAL/akravchenko/MonetDB-Jun2016/MonetDB-11. 23.3/sql/backends/monet5/vaults/../../../common -I../../../storage -I/home/SECDEV.LOCAL/akravchenko/MonetDB-Jun2016/MonetDB-11. 23.3/sql/backends/monet5/vaults/../../../storage -I../../../server -I/home/SECDEV.LOCAL/akravchenko/MonetDB-Jun2016/MonetDB-11. 23.3/sql/backends/monet5/vaults/../../../server -I.. -I/home/SECDEV.LOCAL/akravchenko/MonetDB-Jun2016/MonetDB-11. 23.3/sql/backends/monet5/vaults/.. -I../../../../monetdb5/modules/atoms -I/home/SECDEV.LOCAL/akravchenko/MonetDB-Jun2016/MonetDB-11. 23.3/sql/backends/monet5/vaults/../../../../monetdb5/modules/atoms -I../../../../monetdb5/modules/kernel -I/home/SECDEV.LOCAL/akravchen ko/MonetDB-Jun2016/MonetDB-11.23.3/sql/backends/monet5/ vaults/../../../../monetdb5/modules/kernel -I../../../../monetdb5/mal -I/home/SECDEV.LOCAL/akravchenko/MonetDB-Jun2016/MonetDB-11. 23.3/sql/backends/monet5/vaults/../../../../monetdb5/mal -I../../../../monetdb5/modules/mal -I/home/SECDEV.LOCAL/akravchen ko/MonetDB-Jun2016/MonetDB-11.23.3/sql/backends/monet5/ vaults/../../../../monetdb5/modules/mal -I../../../../monetdb5/optimizer -I/home/SECDEV.LOCAL/akravchenko/MonetDB-Jun2016/MonetDB-11. 23.3/sql/backends/monet5/vaults/../../../../monetdb5/optimizer -I../../../../monetdb5/scheduler -I/home/SECDEV.LOCAL/akravchen ko/MonetDB-Jun2016/MonetDB-11.23.3/sql/backends/monet5/ vaults/../../../../monetdb5/scheduler -I../../../../common/options -I/home/SECDEV.LOCAL/akravchenko/MonetDB-Jun2016/MonetDB-11. 23.3/sql/backends/monet5/vaults/../../../../common/options -I../../../../common/stream -I/home/SECDEV.LOCAL/akravchen ko/MonetDB-Jun2016/MonetDB-11.23.3/sql/backends/monet5/ vaults/../../../../common/stream -I../../../../common/utils -I/home/SECDEV.LOCAL/akravchenko/MonetDB-Jun2016/MonetDB-11. 23.3/sql/backends/monet5/vaults/../../../../common/utils -I../../../../gdk -I/home/SECDEV.LOCAL/akravchen ko/MonetDB-Jun2016/MonetDB-11.23.3/sql/backends/monet5/vaults/../../../../gdk -DLIBVAULT -g -O2 -c -o lib_vault_la-vault.lo `test -f 'vault.c' || echo '/home/SECDEV.LOCAL/akravchenko/MonetDB-Jun2016/MonetDB-11. 23.3/sql/backends/monet5/vaults/'`vault.c make[10]: *** No rule to make target `../../../../sql/backends/monet5/ lib_sql.la', needed by `lib_vault.la'. Stop. make[10]: *** Waiting for unfinished jobs.... libtool: compile: gcc -DHAVE_CONFIG_H -I. -I/home/SECDEV.LOCAL/akravchen ko/MonetDB-Jun2016/MonetDB-11.23.3/sql/backends/monet5/vaults -I../../../.. -I/home/SECDEV.LOCAL/akravchen ko/MonetDB-Jun2016/MonetDB-11.23.3/sql/backends/monet5/vaults -I../../../include -I/home/SECDEV.LOCAL/akravchen ko/MonetDB-Jun2016/MonetDB-11.23.3/sql/backends/monet5/vaults/../../../include -I../../../common -I/home/SECDEV.LOCAL/akravchen ko/MonetDB-Jun2016/MonetDB-11.23.3/sql/backends/monet5/vaults/../../../common -I../../../storage -I/home/SECDEV.LOCAL/akravchen ko/MonetDB-Jun2016/MonetDB-11.23.3/sql/backends/monet5/vaults/../../../storage -I../../../server -I/home/SECDEV.LOCAL/akravchen ko/MonetDB-Jun2016/MonetDB-11.23.3/sql/backends/monet5/vaults/../../../server -I.. -I/home/SECDEV.LOCAL/akravchenko/MonetDB-Jun2016/MonetDB-11. 23.3/sql/backends/monet5/vaults/.. -I../../../../monetdb5/modules/atoms -I/home/SECDEV.LOCAL/akravchenko/MonetDB-Jun2016/MonetDB-11. 23.3/sql/backends/monet5/vaults/../../../../monetdb5/modules/atoms -I../../../../monetdb5/modules/kernel -I/home/SECDEV.LOCAL/akravchen ko/MonetDB-Jun2016/MonetDB-11.23.3/sql/backends/monet5/ vaults/../../../../monetdb5/modules/kernel -I../../../../monetdb5/mal -I/home/SECDEV.LOCAL/akravchenko/MonetDB-Jun2016/MonetDB-11. 23.3/sql/backends/monet5/vaults/../../../../monetdb5/mal -I../../../../monetdb5/modules/mal -I/home/SECDEV.LOCAL/akravchen ko/MonetDB-Jun2016/MonetDB-11.23.3/sql/backends/monet5/ vaults/../../../../monetdb5/modules/mal -I../../../../monetdb5/optimizer -I/home/SECDEV.LOCAL/akravchenko/MonetDB-Jun2016/MonetDB-11. 23.3/sql/backends/monet5/vaults/../../../../monetdb5/optimizer -I../../../../monetdb5/scheduler -I/home/SECDEV.LOCAL/akravchen ko/MonetDB-Jun2016/MonetDB-11.23.3/sql/backends/monet5/ vaults/../../../../monetdb5/scheduler -I../../../../common/options -I/home/SECDEV.LOCAL/akravchenko/MonetDB-Jun2016/MonetDB-11. 23.3/sql/backends/monet5/vaults/../../../../common/options -I../../../../common/stream -I/home/SECDEV.LOCAL/akravchen ko/MonetDB-Jun2016/MonetDB-11.23.3/sql/backends/monet5/ vaults/../../../../common/stream -I../../../../common/utils -I/home/SECDEV.LOCAL/akravchenko/MonetDB-Jun2016/MonetDB-11. 23.3/sql/backends/monet5/vaults/../../../../common/utils -I../../../../gdk -I/home/SECDEV.LOCAL/akravchen ko/MonetDB-Jun2016/MonetDB-11.23.3/sql/backends/monet5/vaults/../../../../gdk -DLIBVAULT -g -O2 -c /home/SECDEV.LOCAL/akravchenko /MonetDB-Jun2016/MonetDB-11.23.3/sql/backends/monet5/vaults/vault.c -fPIC -DPIC -o .libs/lib_vault_la-vault.o make[10]: Leaving directory `/home/SECDEV.LOCAL/akravchenk o/MonetDB-Jun2016/MonetDB-11.23.3/BUILD/sql/backends/monet5/vaults' make[9]: *** [all-recursive] Error 1 make[9]: Leaving directory `/home/SECDEV.LOCAL/akravchenk o/MonetDB-Jun2016/MonetDB-11.23.3/BUILD/sql/backends/monet5/vaults' make[8]: *** [all] Error 2 make[8]: Leaving directory `/home/SECDEV.LOCAL/akravchenk o/MonetDB-Jun2016/MonetDB-11.23.3/BUILD/sql/backends/monet5/vaults' make[7]: *** [all-recursive] Error 1 make[7]: Leaving directory `/home/SECDEV.LOCAL/akravchenk o/MonetDB-Jun2016/MonetDB-11.23.3/BUILD/sql/backends/monet5' make[6]: *** [all] Error 2 make[6]: Leaving directory `/home/SECDEV.LOCAL/akravchenk o/MonetDB-Jun2016/MonetDB-11.23.3/BUILD/sql/backends/monet5' make[5]: *** [all-recursive] Error 1 make[5]: Leaving directory `/home/SECDEV.LOCAL/akravchenk o/MonetDB-Jun2016/MonetDB-11.23.3/BUILD/sql/backends' make[4]: *** [all] Error 2 make[4]: Leaving directory `/home/SECDEV.LOCAL/akravchenk o/MonetDB-Jun2016/MonetDB-11.23.3/BUILD/sql/backends' make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory `/home/SECDEV.LOCAL/akravchenk o/MonetDB-Jun2016/MonetDB-11.23.3/BUILD/sql' make[2]: *** [all] Error 2 make[2]: Leaving directory `/home/SECDEV.LOCAL/akravchenk o/MonetDB-Jun2016/MonetDB-11.23.3/BUILD/sql' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/home/SECDEV.LOCAL/akravchenk o/MonetDB-Jun2016/MonetDB-11.23.3/BUILD' make: *** [all] Error 2
Anton
On Tue, Sep 26, 2017 at 9:15 AM, Anton Kravchenko < kravchenko.anton86@gmail.com> wrote:
Hi there,
I will try to map my issue to something that you are familiar with. For example "MonetDB-11.23.3/sql/backends/monet5/vaults" module.
1) It has Makefile.ag which has (among other lines): lib__vault = { MODULE DIR = libdir/monetdb5 SOURCES = vault.c LIBS = ../../../../monetdb5/tools/libmonetdb5 \ ../../../../gdk/libbat $(curl_LIBS) } And that means that "libmonetdb.la" has to be created before "vaults" is built.
2) Let's say I have added "../../../../sql/backends/monet5/lib_sql" dependency lib__vault = { MODULE DIR = libdir/monetdb5 SOURCES = vault.c LIBS = ../../../../monetdb5/tools/libmonetdb5 \ * ../../../../sql/backends/monet5/lib_sql \* ../../../../gdk/libbat $(curl_LIBS) }
As you can see "vaults" is leaving inside "MonetDB-11.23.3/sql/backends/monet5" directory.
3) Now my question is: How can one propagate into MonetDB-11.23.3/sql/backends/monet5/Makefile.am that "lib_sql.la" has to be created before "vaults" is built?
p.s. On Windows, there is MonetDB-11.23.3/sql/backends/monet5/Makefile.msc used (instead Makefile.am). And I would just change order in "all-recursive all-msc" to "all-msc all-recursive": # build-all: $(BUILT_SOURCES) all-recursive all-msc build-all: $(BUILT_SOURCES) all-msc all-recursive
Thank you, Anton