Partial SUMMARY: mysql compile: "ld broken"

From: Ann Cantelow <cantelow_at_athena.csdco.com>
Date: Tue, 23 Nov 1999 13:09:35 -0700 (MST)

Sorry for the delay. A few weeks ago I asked:
------------------------
> Hi. Has anyone been able to compile MySQL, the latest version, 2.23.27?
>
> I am on version 4.0D and I am stuck on this message:
>
> collect2: ld returned 1 exit status
> /usr/bin/ld:
> Unresolved:
> _exit

The documentation for Mysql says that ld is "broken" for this version of
DU (4.0D, no patches) and suggests using an *older* 4.0c version of ld.
--------------------------

I'm still stuck on this, returning to it after other projects intervened.

Thanks very much to Joe Mario and Arrigo Triulzi for responses.

Arrigo Triulzi suggested making sure I have all patches up to number 4 for
Tru64 4.0D and to look into getting later versions of the compilers.

Joe Mario, of Compaq Tru64 Development Environment, said:
> I've been working in the DIGITAL UNIX/Compaq Tru64 Development
> Environment since way before V4.0D and I have never heard of any
> ld problem like the one you're describing. The "_exit" symbol
> is in libc.{a,so}. You can easily find it with the command:
>
> nm -x /usr/shlib/libc.so |grep _exit
>
> I've had extensive experience with the V4.0D compiler and
> linker and have never seen anything like the problem you're
> describing.
>
> If the linker can't find the "_exit" symbol from libc, it's
> because there is something wrong with the link line that
> is being passed to ld. Please double check your link line
> and verify it is correct.
>
> Also, you are asking for problems if you compile any application
> on a V4.0D system and then try to link it using a V4.0C linker.

Just on instinct, I agree that using an older linker is probably not a
good idea.

I'm trying to follow on Joe's advice first, and I see that -lc is indeed
declared in the line that is blowing up, and libc.a and libc.so do indeed
both contain _exit. Here below is the line it has a problem with. Does
anyone see what could be wrong with this? This is gcc version 2.8.1. (I
just this moment on checking see that gcc version 2.95 is out. Perhaps I
should install that and try again. Or, maybe we should install the
native Compaq C++ compiler. I assume it is on the os cd.):

-----------------------------
gcc -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -O3
-DDBUG_OFF -O3 -fno-implicit-templates -o mysqld item.o item_sum.o
item_buff.o item_func.o item_cmpfunc.o item_strfunc.o item_timefunc.o
thr_malloc.o field.o key.o sql_class.o sql_list.o net_serv.o net_pkg.o
lock.o my_lock.o sql_string.o sql_map.o mysqld.o password.o hash_filo.o
hostname.o sql_lex.o convert.o sql_parse.o sql_yacc.o sql_base.o dfunc.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 records.o filesort.o handler.o sql_db .o crebas.o
sql_table.o sql_crypt.o sql_load.o mf_iocache.o field_conv.o sql_show.o
sql_udf.o ../isam/libnisam.a ../merge/libmerge.a ../heap/libheap.a
../mysys/libmysys.a ../dbug/libdbug.a ../regex/libregex.a
../strings/libmystrings.a -lm -lpthread -lmach -lexc -lc
collect2: ld returned 1 exit status
/usr/bin/ld:
Unresolved:
_exit
*** Exit 1
Stop.
*** Exit 1
Stop.
-----------------------------

Alternatively, can anyone suggest a good thing for me to study to teach
myself how to deal with this kind of problem?

If (when!! -positive thinking!) I manage to solve this one, I'll summarize
the results.

Thanks Heaps!

Ann Cantelow
cantelow_at_athena.csdco.com
Received on Tue Nov 23 1999 - 20:12:12 NZDT

This archive was generated by hypermail 2.4.0 : Wed Nov 08 2023 - 11:53:40 NZDT