Bug #5405 | compiling on solaris, berkely db error | ||
---|---|---|---|
Submitted: | 4 Sep 2004 3:05 | Modified: | 27 Feb 2005 14:24 |
Reporter: | solo turn | Email Updates: | |
Status: | No Feedback | Impact on me: | |
Category: | MySQL Server: Compiling | Severity: | S2 (Serious) |
Version: | 4.1 gamma | OS: | Solaris (solaris 2.8) |
Assigned to: | Assigned Account | CPU Architecture: | Any |
[4 Sep 2004 3:05]
solo turn
[1 Oct 2004 18:15]
Matthew Lord
Hi, I was unable to repeat this using the source for the forthcoming 4.1.6 release. Here is system info: SunOS sunfire100c 5.8 Generic_117000-03 sun4u sparc SUNW,UltraAX-i2 I did the build with gcc -v: Configured with: ../configure --disable-nls --with-as=/usr/ccs/bin/as --with-ld=/usr/ccs/bin/ld Thread model: posix gcc version 3.3 All I did for the build was ./configure --with-berkeley-db. I did not specify any other compiler, linker or configure options. Can you think of anything you did differently or that is different in your environment? Best Regards
[15 Dec 2004 13:22]
Krzysztof Raczkowski
I got the same error on Solaris 5.9: SunOS lilo 5.9 Generic_117171-09 sun4u sparc SUNW,Sun-Fire-V210 Configure options: C Compiler: cc C++ Compiler: CC CFLAGS=-fast -xtarget=ultra3i -xarch=v8plusb -xcache=64/32/4:1024/64/4 -s -mt -xunroll=2 -xstrconst -xildoff CXXFLAGS=-fast -xtarget=ultra3i -xarch=v8plusb -xcache=64/32/4:1024/64/4 -s -mt -xunroll=2 -xildoff LDFLAGS=-Bdynamic -dy -mt -s -z combreloc LD_OPTIONS=-R/usr/local/lib/ -L/usr/local/lib CPPFLAGS=-I/usr/local/include OPTS=--prefix=/usr/local --bindir=/usr/local/bin --sbindir=/usr/local/sbin --libexecdir=/usr/local/sbin --datadir=/usr/local/share --sysconfdir=/usr/local/etc --localstatedir=/usr/local/var --libdir=/usr/local/lib --includedir=/usr/local/include --infodir=/usr/local/share/info --mandir=/usr/local/share/man --with-berkeley-db --with-berkeley-db-includes=/usr/local/include/db42 --with-berkeley-db-libs=/usr/local/lib BerkeleyDB 4.2.52 cc: Sun C 5.6 2004/07/15 CC: Sun C++ 5.6 2004/07/15 Error log: CC -DMYSQL_SERVER -DDEFAULT_MYSQL_HOME="\"/usr/local\"" -DDATADIR="\"/usr/local/var\"" -DSHAREDIR="\"/usr/local/share/mysql\"" -DHAVE_CONFIG_H -I. -I. -I.. -I../zlib -I/usr/local/include/db42 -I../innobase/include -I../include -I../regex -I. -I/usr/local/include -O3 -DDBUG_OFF -fast -xtarget=ultra3i -xarch=v8plusb -xcache=64/32/4:1024/64/4 -s -mt -xunroll=2 -xildoff -D_FILE_OFFSET_BITS=64 -DHAVE_RWLOCK_T -c -o ha_berkeley.o `test -f 'ha_berkeley.cc' || echo './'`ha_berkeley.cc CC: Warning: -O5 overwrites previously set optimization level of -O3 "ha_berkeley.cc", line 103: Error: db_notices is not defined. "ha_berkeley.cc", line 139: Warning (Anachronism): Formal argument 2 of type extern "C" void(*)(const char*,char*) is being passed void(*)(const char*,char*). "ha_berkeley.cc", line 141: Error: set_noticecall is not a member of __db_env. "ha_berkeley.cc", line 215: Error: The function "txn_commit" must have a prototype. "ha_berkeley.cc", line 228: Error: The function "txn_abort" must have a prototype. "ha_berkeley.cc", line 289: Error: db_notices is not defined. "ha_berkeley.cc", line 291: Error: notice is not defined. "ha_berkeley.cc", line 293: Error: DB_NOTICE_LOGFILE_CHANGED is not defined. "ha_berkeley.cc", line 293: Error: An integer constant expression is required for a case label. "ha_berkeley.cc", line 385: Error: app_private is not a member of const __db_dbt. "ha_berkeley.cc", line 385: Error: app_private is not a member of const __db_dbt. "ha_berkeley.cc", line 541: Warning (Anachronism): Formal argument 2 of type extern "C" int(*)(__db*,const __db_dbt*,const __db_dbt*) is being passed int(*)(__db*,const __db_dbt*,const __db_dbt*). "ha_berkeley.cc", line 545: Error: The function "txn_begin" must have a prototype. "ha_berkeley.cc", line 577: Warning (Anachronism): Formal argument 2 of type extern "C" int(*)(__db*,const __db_dbt*,const __db_dbt*) is being passed int(*)(__db*,const __db_dbt*,const __db_dbt*). "ha_berkeley.cc", line 584: Error: The function "txn_begin" must have a prototype. "ha_berkeley.cc", line 787: Error: app_private is not a member of __db_dbt. "ha_berkeley.cc", line 825: Error: app_private is not a member of __db_dbt. "ha_berkeley.cc", line 883: Error: The function "txn_begin" must have a prototype. "ha_berkeley.cc", line 919: Error: The function "txn_abort" must have a prototype. "ha_berkeley.cc", line 945: Error: The function "txn_commit" must have a prototype. "ha_berkeley.cc", line 1054: Warning: primary_key hides ha_berkeley::primary_key. "ha_berkeley.cc", line 1133: Error: The function "txn_begin" must have a prototype. "ha_berkeley.cc", line 1157: Error: The function "txn_abort" must have a prototype. "ha_berkeley.cc", line 1185: Error: The function "txn_abort" must have a prototype. "ha_berkeley.cc", line 1201: Error: The function "txn_commit" must have a prototype. "ha_berkeley.cc", line 1310: Error: The function "txn_begin" must have a prototype. "ha_berkeley.cc", line 1318: Error: The function "txn_commit" must have a prototype. "ha_berkeley.cc", line 1328: Error: The function "txn_abort" must have a prototype. "ha_berkeley.cc", line 1421: Error: app_private is not a member of __db_dbt. Compilation aborted, too many Error messages. *** Error code 1 make: Fatal error: Command failed for target `ha_berkeley.o' Current working directory /export/home/raczkow/src/mysql41/workdir/mysql-4.1.7/sql *** Error code 1 make: Fatal error: Command failed for target `all-recursive' Current working directory /export/home/raczkow/src/mysql41/workdir/mysql-4.1.7/sql *** Error code 1 make: Fatal error: Command failed for target `all' Current working directory /export/home/raczkow/src/mysql41/workdir/mysql-4.1.7/sql *** Error code 1 make: Fatal error: Command failed for target `all-recursive' Current working directory /export/home/raczkow/src/mysql41/workdir/mysql-4.1.7 *** Error code 1 make: Fatal error: Command failed for target `all'
[19 Dec 2004 12:03]
Hartmut Holzgraefe
verified against current bdb 4.2.52: BUILD/compile-pentium-max --with-berkeley-db=/usr/local/bdb-4.2.52 --with-berkeley-db-includes=/usr/local/bdb-4.2.52/include --with-berkeley-db-libs=/usr/local/bdb-4.2.52/lib ha_berkeley.cc:103: error: type specifier omitted for parameter `db_notices' ha_berkeley.cc:103: error: parse error before `)' token [...]
[19 Dec 2004 12:04]
Hartmut Holzgraefe
verified on linux btw.
[14 Jan 2005 8:35]
Krzysztof Raczkowski
problem still exists on solaris 9 and mysql-4.1.9
[27 Jan 2005 14:24]
Konstantin Osipov
From MySQL Reference Manual, http://dev.mysql.com/doc/mysql/en/bdb-storage-engine.html: --cut MySQL source distribution comes with a BDB distribution that has a couple of small patches to make it work more smoothly with MySQL. You can't use a non-patched BDB version with MySQL. --end cut This means that we don't support newer versions of BDB, and moreover, you should not try to use MySQL with external BDB distribution which doesn't have our patches, as it can lead to crashes or data corruption. This is true as of the recent update of the shipped BDB version which happened around two years ago. I'm currenlty resolving this issue with the original contributor of BDB to MySQL (Timothy Smith) and will probable remove the ability to choose external BDB distribution from the configure script. If you have different experience and was using vanilla BDB distribution with MySQL in production, I'd be eager to hear about it so that I can add a list of supported versions to check in configure.
[28 Feb 2005 0:00]
Bugs System
No feedback was provided for this bug for over a month, so it is being suspended automatically. If you are able to provide the information that was originally requested, please do so and change the status of the bug back to "Open".