make[9]: *** No rule to make target `../../../../sql/backends/monet5/lib_sql.la', needed by `lib_myudfname.la'. Stop.

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

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/akravchenko/MonetDB-Jun2016/MonetDB-11.23.3/BUILD/sql/backends/monet5/vaults' make[10]: Entering directory `/home/SECDEV.LOCAL/akravchenko/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/akravchenko/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/akravchenko/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/akravchenko/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/akravchenko/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/akravchenko/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/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/akravchenko/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/akravchenko/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/akravchenko/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/akravchenko/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/akravchenko/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/akravchenko/MonetDB-Jun2016/MonetDB-11.23.3/BUILD/sql/backends/monet5/vaults' make[9]: *** [all-recursive] Error 1 make[9]: Leaving directory `/home/SECDEV.LOCAL/akravchenko/MonetDB-Jun2016/MonetDB-11.23.3/BUILD/sql/backends/monet5/vaults' make[8]: *** [all] Error 2 make[8]: Leaving directory `/home/SECDEV.LOCAL/akravchenko/MonetDB-Jun2016/MonetDB-11.23.3/BUILD/sql/backends/monet5/vaults' make[7]: *** [all-recursive] Error 1 make[7]: Leaving directory `/home/SECDEV.LOCAL/akravchenko/MonetDB-Jun2016/MonetDB-11.23.3/BUILD/sql/backends/monet5' make[6]: *** [all] Error 2 make[6]: Leaving directory `/home/SECDEV.LOCAL/akravchenko/MonetDB-Jun2016/MonetDB-11.23.3/BUILD/sql/backends/monet5' make[5]: *** [all-recursive] Error 1 make[5]: Leaving directory `/home/SECDEV.LOCAL/akravchenko/MonetDB-Jun2016/MonetDB-11.23.3/BUILD/sql/backends' make[4]: *** [all] Error 2 make[4]: Leaving directory `/home/SECDEV.LOCAL/akravchenko/MonetDB-Jun2016/MonetDB-11.23.3/BUILD/sql/backends' make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory `/home/SECDEV.LOCAL/akravchenko/MonetDB-Jun2016/MonetDB-11.23.3/BUILD/sql' make[2]: *** [all] Error 2 make[2]: Leaving directory `/home/SECDEV.LOCAL/akravchenko/MonetDB-Jun2016/MonetDB-11.23.3/BUILD/sql' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/home/SECDEV.LOCAL/akravchenko/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

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/ akravchenko/MonetDB-Jun2016/MonetDB-11.23.3/BUILD/sql/ backends/monet5/vaults' make[10]: Entering directory `/home/SECDEV.LOCAL/ akravchenko/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/ akravchenko/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/akravchenko/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/akravchenko/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/akravchenko/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/akravchenko/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/ 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/ akravchenko/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/akravchenko/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/akravchenko/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/akravchenko/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/akravchenko/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/ akravchenko/MonetDB-Jun2016/MonetDB-11.23.3/BUILD/sql/ backends/monet5/vaults' make[9]: *** [all-recursive] Error 1 make[9]: Leaving directory `/home/SECDEV.LOCAL/ akravchenko/MonetDB-Jun2016/MonetDB-11.23.3/BUILD/sql/ backends/monet5/vaults' make[8]: *** [all] Error 2 make[8]: Leaving directory `/home/SECDEV.LOCAL/ akravchenko/MonetDB-Jun2016/MonetDB-11.23.3/BUILD/sql/ backends/monet5/vaults' make[7]: *** [all-recursive] Error 1 make[7]: Leaving directory `/home/SECDEV.LOCAL/ akravchenko/MonetDB-Jun2016/MonetDB-11.23.3/BUILD/sql/backends/monet5' make[6]: *** [all] Error 2 make[6]: Leaving directory `/home/SECDEV.LOCAL/ akravchenko/MonetDB-Jun2016/MonetDB-11.23.3/BUILD/sql/backends/monet5' make[5]: *** [all-recursive] Error 1 make[5]: Leaving directory `/home/SECDEV.LOCAL/ akravchenko/MonetDB-Jun2016/MonetDB-11.23.3/BUILD/sql/backends' make[4]: *** [all] Error 2 make[4]: Leaving directory `/home/SECDEV.LOCAL/ akravchenko/MonetDB-Jun2016/MonetDB-11.23.3/BUILD/sql/backends' make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory `/home/SECDEV.LOCAL/ akravchenko/MonetDB-Jun2016/MonetDB-11.23.3/BUILD/sql' make[2]: *** [all] Error 2 make[2]: Leaving directory `/home/SECDEV.LOCAL/ akravchenko/MonetDB-Jun2016/MonetDB-11.23.3/BUILD/sql' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/home/SECDEV.LOCAL/ akravchenko/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

*** 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

First question has to be: why? Why are you trying to do this? The second thing to remark is that there is a difference (a big difference) between a dynamically loaded *module* (e.g. lib_sql) and a *library* (e.g. libmonetdb5). They are both .dll files on Windows (.so on Linux), but because of the different ways in which they are used, they are not interchangeable. If, for some reason, you need functions from a module, you need to have code that dynamically looks up the address of the functions you want to use. Either using things like dlsym, or by using registration and callback functions. On 26/09/17 18:15, Anton Kravchenko 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 http://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 http://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
_______________________________________________ users-list mailing list users-list@monetdb.org https://www.monetdb.org/mailman/listinfo/users-list
-- Sjoerd Mullender
participants (2)
-
Anton Kravchenko
-
Sjoerd Mullender