Consultor Eletrônico



Kbase 14017: Version 7 SCO UNIX - probuild gives undefined symbols
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   10/05/1998
Version 7 SCO UNIX - probuild gives undefined symbols

In version 7 of Progress on SCO UNIX, if you do not have
networking installed on the system and you try to recreate
one of the Progress executables, you will get errors
indicating there are undefined symbols: bind, socket,
listen, htons, and accept. These are all included in
the libsocket.a library which is part of your networking
package for the O/S.

The Version 7 debugger requires that networking be installed
on the system in order to run. Once networking is installed
you can then rebuild your executable(s).

If you do not plan on using the debugger, you can get around
the problem by creating a dummy libsocket.a file. In this way
you won't need to install networking on the system.

To do this, create five files, bind.c, accept.c, listen.c,
socket.c and htons.c. They should look like this:

bind.c:
bind()
{}

listen.c:
listen()
{}

accept.c:
accept()
{}

socket.c:
socket()
{}

htons.c:
htons()
{}

Create object files for each one:

cc -c bind.c accept.c listen.c socket.c htons.c

Create the libsocket.a library:

ar cu libsocket.a bind.o accept.o listen.o socket.o htons.o

Verify the contents of the library:

ar vt libsocket.a (should list out the objects)

Edit the ldpro script using vi, and find the line that reads:
$LIBXX
Replace this line with the full path down to and including
your new libsocket.a file:
Example:

-lm /usr/tmp/libsocket.a
Then run the ldpro script again and it should complete successfully.


Progress Software Technical Support Note # 14017