c++/4881: errno_location() not linked when creating static library

craig_files@agilent.com craig_files@agilent.com
Sat Nov 3 18:56:00 GMT 2001


>Number:         4881
>Category:       c++
>Synopsis:       errno_location() not linked when creating static library
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Thu Nov 15 07:46:01 PST 2001
>Closed-Date:
>Last-Modified:
>Originator:     Craig Files
>Release:        gcc version 3.0.2 20010905
>Organization:
>Environment:
(Red Hat Linux 7.1 3.0.1-3) and
(hppa1.1-hp-hpux11.00)

the linux configure setup:
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --disable-checking --host=i386-redhat-linux
>Description:
Creating static libraries  the *errno_location() is not
declared.  This is a problem when loading the shared libraries
into TCL because it wants everything defined :

libddftcl.so: undefined symbol: _Z16__errno_locationv
where libddftcl.so is the shared library
linked by 
g++ -shared *.lo  -Wl,--whole-archive *.al *.a  -Wl,-soname -Wl,libddftcl.so.0 -o .libs/libddftcl.so.0.0.0

>How-To-Repeat:
create shared libraries and try to load them in tcl or 
evaluate if errno_location is defined
>Fix:
define errno_location when building shared libraries
>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the Gcc-bugs mailing list