(please make sure to answer directly to the mailing list, I cc you for
convenience only)
That's the point, your application is statically linked to
libmysqlclient: the LD_PRELOAD is thus useless and libmysequoia
functions are never called !
First solution (recommended): link dynamically to libmysql
When you compiled your application, the linker obviously didn't found
libmysqlclient*.so*. So it felt back silently to a static linkage (and
he found the .a).
Check that the directories you listed in $LIBS contain this .so
If not, do a "find /usr -name libmysqlclient.so*".
If you don't have any ".so" but only ".so.14", just add a symlink to it
(ln -s /usr/???/libmysqlclient.so.14 /usr/???/libmysqlclient.so)
After that step, recompile (well, just relink) your application and
retry ldd. If it shows the libmysqlclient, you're done, your can run
LD_PRELOAD=<path to libmysequoia> application
Second solution (if you absolutely need to keep this static link): link
to libsequoia.a (statically)
edit your makefile, remove any -Lxxxmysqlxx and -lmysqlclient and add
libmysequoia to the list of objects to link
Hope these help
Cheers,
Gilles.
Raúl Rodriguez a écrit :
Hi Gilles...
First of all, thanks for your help... i'll try to answer your questions
El vie, 05-01-2007 a las 15:42 +0100, Gilles Rayrat escribió:
> Hi Raúl!
>
> You are right, the statement should be written on both nodes.
>
> It looks like for some reason, you are still using the regular
libsql lib.
> Is your application statically linked to mysql ? if so, you either will
> have to recompile it with the
> libmysequoia.a or to make it link dynamically
Seeing ldd result i supose that libmysql is linked statically...
To do that is enough with change the symbolic lynk libmysql.so.14 to
libmysequoia.so.14?
This is the Makefile of my application (Sorry, but i'm a bit newbie in
C):
# mysql.h locations (freebsd,openbsd solaris)
DEFS +=-I$(LOCALBASE)/include -I$(LOCALBASE)/include/mysql \
-I$(LOCALBASE)/mysql/include/mysql -I
$(LOCALBASE)/mysql/include \
-I/usr/include/mysql
# libmysqlclient locations on RH/Suse, Solaris /OpenBSD, FreeBSD
# (Debian does the right thing and puts it in /usr/lib)
LIBS=-L/usr/lib/mysql -L$(LOCALBASE)/lib
-L$(LOCALBASE)/lib/mysql \
-L$(LOCALBASE)/mysql/lib/mysql/ \
-L$(LOCALBASE)/mysql/lib \
-L/usr/lib64/mysql \
-lm -lmysqlclient -lz
> Can you please send the output of 'ldd <yourapplication>'
libdl.so.2 => /lib/libdl.so.2 (0x00758000)
libresolv.so.2 => /lib/libresolv.so.2 (0x008bf000)
libc.so.6 => /lib/tls/libc.so.6 (0x0062b000)
/lib/ld-linux.so.2 (0x0060d000)
> Besides, try to enable libmysequoia logs (typically in
> /etc/mysequoia/logger.conf),
> putting log4j.logger.MySQLAPI=DEBUG (or INFO)
Thanks... we had to activate this to see something in the log
(Previosly it was in blank).
The strange thing is that i can't see any error... the only strange
this is that
mysequoia is always working with node1 of the RAIDB1... node2 doesn't
appear anywhere
> Could you also send us your mysequoia.conf ?
[client]
user = xxxxxxxx
password = xxxxxxx
host = mysql1 mysql2
database = opensequoia
;default-character-set=latin1
# the default ping delay in milliseconds
;ping_delay = 1000
# the default controller timeout in milliseconds
;controller_timeout = 25000
> Thanks you for your interest in sequoia & friends,
> Gilles
>
>
> Raúl Rodríguez a écrit :
> > Hi All!
> > I have a little problem using libmysequoia. We have running a
> > sequoia
> > deployment based in two nodes with one backed each one
> > configured in
> > RAIDb-1. I am trying to use one aplication who dinamically
link
> > libmyseqouia.so.14 (MYSQL 4.1) to run.
> > The application launch without problem:
> > LD_PRELOAD=$LIBS/libmysequoia.so.14 application
> > The application have configured a link to the database like:
> > mysql://node1/virtualdatabase
> > The problem is that the INSERT operations only take effect
over
> > backend
> > in node1, never over the other backend. I'm not sure how this
> > would
> > work, but i suppose that although i use node1 in my sql link,
> > carob with
> > sequoia must distribute my sql statements against the two
nodes.
> > Am i
> > right?
> > Any sugestion would be appreciated.
> > Thanks in advanced.
> >
> >
> >
> > _______________________________________________
> > Carob mailing list
> > [email protected]
> > https://forge.continuent.org/mailman/listinfo/carob
> >
> >
_______________________________________________
Carob mailing list
[email protected]
https://forge.continuent.org/mailman/listinfo/carob