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 _______________________________________________ Mailing list: https://launchpad.net/~drizzle-discuss Post to : [email protected] Unsubscribe : https://launchpad.net/~drizzle-discuss More help : https://help.launchpad.net/ListHelp

