On Sep 2, 2008, at 11:59 AM, Jay Pipes wrote:
Grant Limberg wrote:
On Aug 27, 2008, at 9:14 AM, Jay Pipes wrote:
Grant Limberg wrote:
I've got InnoDB 1.0.1 compiling with no warnings now. Now I just
have
to make it actually work! As of right now, drizzle is reporting
the
following when starting up for make test:
080826 5:43:39 [ERROR] Unknown/unsupported table type: innodb
080826 5:43:39 [ERROR] Aborting
So it's obviously not quite working as expected yet. I've
attempted to
./configure the project with --with-debug but that causes a
linker error
in sql_derived.cc (see the bug report:
https://bugs.launchpad.net/drizzle/+bug/261687). Once I have that
fixed, I do have a question. How does one go about debugging this?
The easiest way is to use GDB. Run the server within a GDB
session and
step through the code using GDB step/next/continue/break commands.
To use GDB, this is what I typically do...
So I've been going through some debugging and stepping through the
code.
I ended up creating a blank project in Xcode to debug drizzle from.
From what I can tell the InnoDB code is either not being loaded, or
not
being recognized when trying to find the handler for the default
storage
engine. I can't seem to quite figure out why, however. At one step
looking up the default table type, it looks as if it should find the
storage engine. There's the "name" it's looking for and a "plugin"
variable with the same name, but things aren't quite working. This
is
in ha_resolve_by_name() in handler.cc.
If anyone can take a look, I'd appreciate it. branch is
lp:~grant-glsoftware/drizzle/drizzle-innodb-plugin
I pulled your branch and got a build error (remember to build with
warnings as errors...):
row/row0sel.c: In function ‘row_search_max_autoinc’:
row/row0sel.c:4792: warning: passing argument 2 of
‘row_search_autoinc_read_column’ discards qualifiers from pointer
target
type
Adding const as a qualifier to the second parameter of
row_search_autoinc_read_column() fixes the issue.
Secondly, I got a linker error after fixing the above:
.libs/ha_innodb_la-log0recv.o: In function `recv_parse_log_recs':
/tmp/grant-innodb-plugin/storage/innobase/log/log0recv.c:1910:
undefined
reference to `recv_calc_lsn_on_data_add'
/tmp/grant-innodb-plugin/storage/innobase/log/log0recv.c:1939:
undefined
reference to `recv_calc_lsn_on_data_add'
/tmp/grant-innodb-plugin/storage/innobase/log/log0recv.c:1781:
undefined
reference to `recv_calc_lsn_on_data_add'
/usr/bin/ld: .libs/ha_innodb.so.0.0.0: hidden symbol
`recv_calc_lsn_on_data_add' isn't defined
/usr/bin/ld: final link failed: Nonrepresentable section on output
This is apparently due to using ld -shared directly, instead of via
gcc
as the front-end. To fix, I tried running ./configure with the
--with-ld-shared="gcc -shared" option, but with no luck.
Monty, could you look into this issue and possibly provide some
assistance? Thanks!
Jay
Strange. None of these errors happen when compiling on Mac OS X
10.5. I'll have to start testing builds on my linux box as well.
Grant
_______________________________________________
Mailing list: https://launchpad.net/~drizzle-discuss
Post to : [email protected]
Unsubscribe : https://launchpad.net/~drizzle-discuss
More help : https://help.launchpad.net/ListHelp