Kbase 18894: Probuild Global warning on Digital Unix 4.0D
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  6/7/1999 |
|
Probuild Global warning on Digital Unix 4.0D
DRAFT COPY - Currently under review and edit.
Digiatl Unix 4.0D, 4.0E, 4.0F
INTRODUCTION: While running a probuild for ldprosv you may receive
=============warning messages.
Warning : timeout defined as GLOBAL DATA but is defined in a shared
lib as a GLOBAL Func . This warning message means there are two
conflicting definitions for the same entry point. Since this is a
warning it is possible that the exe will not work.
WHY YOU NEED TO KNOW THIS:
=========================== Since we cannot be sure that we would not
have problems running the exe. Development has written a work around.
The problem occurs because Digital changed the curses library from
Digital UNIX 3.2G to 4.0D. In the current version of curses, a
a timeout(3) function was added. This function definition conflicts
with the global variable "timeout" which is used in the Progress
server executable. When you do a probuild, the new curses library,
libcurses.so is linked into the exec, and the definition conflict
occurs. We need to use the old curses library.
PROCECURAL APPROACH
================== To fix this problem so customer can probuild
1. Make sure that the you have the OSFOBSOLETE subset installed on
your system. [This is a requirement for PROGRESS 7.3E to run on
Digital UNIX 4.0D or later. repeating for completeness.
To
verify that it's installed, type:
# setld -i |grep OSFOBSOLETE
which should cause a line like the following to display:
OSFOBSOLETE425 installed Obsolete Commands and Utilities
(System Administration)
The numeric suffix will vary: it's 425 in Digital UNIX 4.0D, 435 in
4.0E and 445 on 4.0F. If the work "installed" is missing, you need
to install this subset.N DOCUMENTATION
====================================
2. Make the following change to the $PROLOAD/eucapp/buildenv script:
Change the SOCKLIB definition from:
SOCKLIB=${SOCKLIB-"-lcurses -lbsd"}
to
SOCKLIB=${SOCKLIB-"/usr/opt/obsolete/usr/lib/libcurses.a -lbsd
"}
3. Run the ldprosv script as usual.