Hi Stefan,

     I am trying to restore "monetdb5/extras/crackers" to the MonetDB-11.15.3 release.  I have done the following steps:

        1. copied monetdb5/extras/crackers over

        2. copied ./monetdb5/optimizer/opt_wrapper.c

        3. changed monetdb5/extras/Makefile.ag to add the crackers sub-directory

        4. changed monetdb5/extras/crackers_sideways.mx to eliminate references to lview

        5. added the "cracker_pipe" in opt_pipes.c

        6. changed common/options/monet_options.c to use the "cracker_pipe"

    However, the "cracker_pipe" optimizer could not be compiled at the following line:

#0  getAddress (out=0x8bff950, filename=0x0, modnme=0x8b9ff90 "optimizer", fcnname=0xb77a697f "OPTselcrack", silent=1)
    at mal_linker.c:119
#1  0xb776e726 in compileOptimizer (cntxt=0x8091b58, name=0x83a8320 "cracker_pipe") at opt_pipes.c:555
#2  0xb776e98d in addOptimizerPipe (cntxt=0x8091b58, mb=0x8b1c578, name=0x83a8320 "cracker_pipe") at opt_pipes.c:598
#3  0xb63c3ecf in addOptimizers (c=0x8091b58, mb=0x8b1c578, pipe=0x83a8320 "cracker_pipe") at sql_optimizer.c:244
#4  0xb63c4104 in addQueryToCache (c=0x8091b58) at sql_optimizer.c:292
#5  0xb63c296c in backend_dumpproc (be=0x8e145b0, c=0x8091b58, cq=0x8b48b58, s=0x903f620) at sql_gencode.c:2433
#6  0xb639ee0a in SQLparser (c=0x8091b58) at sql_scenario.c:1709
#7  0xb7580e3a in runPhase (c=0x8091b58, phase=1) at mal_scenario.c:522
#8  0xb7580f98 in runScenarioBody (c=0x8091b58) at mal_scenario.c:557
#9  0xb7581169 in runScenario (c=0x8091b58) at mal_scenario.c:586
#10 0xb75820ef in MSserveClient (dummy=0x8091b58) at mal_session.c:431
#11 0xb70e013a in wrapper_routine (data=0xb6784f5c) at gdk_system.c:559
#12 0xb6b3bb05 in start_thread () from /lib/libpthread.so.0
#13 0xb6a9cd5e in clone () from /lib/libc.so.6

        The function getAddress could not find  OPTselcrack().   I did a symbol dump of the built lib_crackers.so and got:

chiku@linux-c2ni:/usr/local/lib> nm ./monetdb5/lib_crackers.so | grep OPTselcrack
005da67d T OPTselcrack
005d9c94 t OPTselcrackImplementation

        I also examined the outputs from "make; make install" from MonetDB-11.9.7 and the above built process.  But, there was not any
visible difference.

        Could you point out what I missed?

        Thanks in advance.

Chi




From: Stefan Manegold <Stefan.Manegold@cwi.nl>
To: Communication channel for developers of the MonetDB suite. <developers-list@monetdb.org>
Sent: Wednesday, March 27, 2013 7:36 PM
Subject: Re: How would I add a new directory to /monetdb5/extras/


It's a shared library that will only be loaded once required at run time. Just say yes when gab asks you if the breakpoint should only be set once the library/code is loaded.

--
| Stefan.Manegold @ CWI.nl | DB Architectures (INS1) |
| http://CWI.nl/~manegold/ | Science Park 123 (L321) |
| Tel.: +31 (0)20 592-4212 | 1098 XG Amsterdam  (NL) |


----- Reply message -----
From: "Chi-Young Ku" <chi@querymetrica.com>
To: "Communication channel for developers of the MonetDB suite." <developers-list@monetdb.org>
Subject: How would I add a new directory to /monetdb5/extras/
Date: Wed, Mar 27, 2013 19:08




Hi Babis,

    Thanks a lot for your help!

    I am able to get the foo directory compiled and built lib_foo.la.  But, when I attatch GDB to the mserver5 process and try to set a breakpoint
in foo.test(), I got an error saying foo.test() is not loaded.   Have I missed anything?

Chi





________________________________
From: Charalampos Nikolaou <charnik@di.uoa.gr>
To: Communication channel for developers of the MonetDB suite. <developers-list@monetdb.org>
Sent: Thursday, March 21, 2013 3:04 PM
Subject: Re: How would I add a new directory to /monetdb5/extras/

Hi,

you have to edit monetdb5/extras/Makefile.ag appending to variable
SUBDIRS the name of the directory you want to add. For example, if you
want to add directory "foo", given that the value of SUBDIRS was

HAVE_RAPTOR?rdf HAVE_SPHINXCLIENT?sphinx HAVE_JAQL?jaql mal_optimizer_template

the new value for SUBDIRS should be

HAVE_RAPTOR?rdf HAVE_SPHINXCLIENT?sphinx HAVE_JAQL?jaql
mal_optimizer_template foo

Of course, this way you should run de-bootstrap and bootstrap again.
Notice, that you have to specify also another Makefile.ag in
monetdb5/extras/foo for taking care of the compilation of your code.

However, I don't see any connection of your question to the message
you replied to.

Babis

On Thu, Mar 21, 2013 at 7:35 PM, Chi-Young Ku <chi@querymetrica.com> wrote:
> Hi,
>
>     I would like to add a new sub-directory to /monetdb5/extras/ so that:
>
>         1. the configure process generates Makefiles for it and
>
>         2. it gets built when "make" is invoke in the top source directory.
>
>     Thanks in advance.
>
> Chi
>
>
> ________________________________
> From: Stephen P. Morgan <stephen_p_morgan@sbcglobal.net>
> To: developers-list@monetdb.org
> Sent: Thursday, March 21, 2013 12:06 PM
> Subject: Question in re remote.exec()
>
> I have a question about remote.exec().  Let's say I have a user function,
> s1_1 that takes a BAT as a parameter and returns a BAT.  Its signature might
> be:
>
>     function user.s1_1(in:bat[:oid,:int]):bat[:oid,:int];
>
> How can I call s1_1 using remote.exec to pass in a BAT and to retrieve the
> result?  I want to do something like
>
>     X_2 := remote.exec(conn, "user", "s1_1", X_1);
>
> where X_1 and X_2 are both :bat[:oid,:int].  But that doesn't seem to work.
>
> Thanks,
>
> Steve Morgan
>
> _______________________________________________
> developers-list mailing list
> developers-list@monetdb.org
> http://mail.monetdb.org/mailman/listinfo/developers-list
>
>
>
> _______________________________________________
> developers-list mailing list
> developers-list@monetdb.org
> http://mail.monetdb.org/mailman/listinfo/developers-list
>
_______________________________________________
developers-list mailing list
developers-list@monetdb.org
http://mail.monetdb.org/mailman/listinfo/developers-list
_______________________________________________
developers-list mailing list
developers-list@monetdb.org
http://mail.monetdb.org/mailman/listinfo/developers-list