I recently set about upgrading our MySQL install on a Compaq Tru64 4.0f
Alpha box from 3.22.25 to 3.23.38.
As in the past, I used the Compaq cc as CC and gcc (2.95.3) as CXX with
appropriate flags set. I do not have the GNU binutils installed, so it
is the Compaq ld that is used. I am, however, using GNU make.
I wanted to build with both BDB and InnoDB, so I configured as:
./configure --prefix=/usr/local/mysql --enable-assembler \
--with-low-memory --with-innodb --with-berkeley-db
The configure proceded just fine and I typed "make".
Quite a while later I got this:
gcc -O3 -DDBUG_OFF -O3 -fno-implicit-templates -mieee -o mysqld
sql_lex.o item.o item_sum.o item_buff.o item_func.o item_cmpfunc.o
item_strfunc.o item_timefunc.o thr_malloc.o item_create.o field.o key.o
sql_class.o sql_list.o net_serv.o violite.o net_pkg.o lock.o my_lock.o
sql_string.o sql_manager.o sql_map.o mysqld.o password.o hash_filo.o
hostname.o convert.o sql_parse.o sql_yacc.o sql_base.o table.o
sql_select.o sql_insert.o sql_update.o sql_delete.o procedure.o
item_uniq.o sql_test.o log.o init.o derror.o sql_acl.o unireg.o time.o
opt_range.o opt_sum.o opt_ft.o records.o filesort.o handler.o ha_isam.o
ha_isammrg.o ha_heap.o ha_myisam.o ha_myisammrg.o ha_berkeley.o
ha_innobase.o ha_gemini.o sql_db.o sql_table.o sql_rename.o sql_crypt.o
sql_load.o mf_iocache.o field_conv.o sql_show.o sql_udf.o sql_analyse.o
sql_cache.o slave.o sql_repl.o md5.o log_event.o mini_client.o
mini_client_errors.o -L../bdb/build_unix -ldb ../innobase/usr/libusr.a
../innobase/odbc/libodbc.a ../innobase/srv/libsrv.a
../innobase/que/libque.a ../innobase/srv/libsrv.a
../innobase/dict/libdict.a ../innobase/ibuf/libibuf.a
../innobase/row/librow.a ../innobase/pars/libpars.a
../innobase/btr/libbtr.a ../innobase/trx/libtrx.a
../innobase/read/libread.a ../innobase/usr/libusr.a
../innobase/buf/libbuf.a ../innobase/ibuf/libibuf.a
../innobase/eval/libeval.a ../innobase/log/liblog.a
../innobase/fsp/libfsp.a ../innobase/fut/libfut.a
../innobase/fil/libfil.a ../innobase/lock/liblock.a
../innobase/mtr/libmtr.a ../innobase/page/libpage.a
../innobase/rem/librem.a ../innobase/thr/libthr.a
../innobase/com/libcom.a ../innobase/sync/libsync.a
../innobase/data/libdata.a ../innobase/mach/libmach.a
../innobase/ha/libha.a ../innobase/dyn/libdyn.a
../innobase/mem/libmem.a ../innobase/sync/libsync.a
../innobase/ut/libut.a ../innobase/os/libos.a ../innobase/ut/libut.a
../isam/libnisam.a ../merge/libmerge.a ../myisam/libmyisam.a
../myisammrg/libmyisammrg.a ../heap/libheap.a ../mysys/libmysys.a
../dbug/libdbug.a ../regex/libregex.a ../strings/libmystrings.a
-lm -lpthread -lmach -lexc
/usr/bin/ld:
Unresolved:
db_env_create
log_archive
db_create
txn_abort
txn_commit
txn_begin
log_flush
txn_checkpoint
collect2: ld returned 1 exit status
make[3]: *** [mysqld] Error 1
make[3]: Leaving directory `/usr2/sources/util/mysql-3.23.38/sql'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/usr2/sources/util/mysql-3.23.38/sql'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr2/sources/util/mysql-3.23.38'
make: *** [all-recursive-am] Error 2
It appeared the libdb.a in the bdb/build_unix directory was not being
searched. I edited sql/Makefile and replaced the two occurrences of:
-L$(top_builddir)/bdb/build_unix -ldb
with
$(top_builddir)/bdb/build_unix/libdb.a
and the make proceded without further incident.
I'm not sure if this is a problem with Compaq's ld or something else,
but I found it curious.
D=
--
Dave FitzPatrick [EMAIL PROTECTED]
Webmaster 978-681-1599
Quantic Communications An MHI Company http://www.quantic.com/
---------------------------------------------------------------------
Before posting, please check:
http://www.mysql.com/manual.php (the manual)
http://lists.mysql.com/ (the list archive)
To request this thread, e-mail <[EMAIL PROTECTED]>
To unsubscribe, e-mail <[EMAIL PROTECTED]>
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php