[ace-users] Unable to create a fully statically linked libACE.a

Steve Huston shuston at riverace.com
Thu Sep 13 08:48:59 CDT 2007


Hi Dan,

The warning only applies if you try to dynamically load shared
libraries/services with your ACE-using program. For example, if you
tried to dynamically load a sevice. If you're not doing this, you can
ignore the warning.

-Steve

--
Steve Huston, Riverace Corporation
Would you like ACE to run great on your platform?
See http://www.riverace.com/sponsor.htm


> -----Original Message-----
> From: ace-users-bounces at cse.wustl.edu 
> [mailto:ace-users-bounces at cse.wustl.edu] On Behalf Of Douglas 
> C. Schmidt
> Sent: Thursday, September 13, 2007 9:29 AM
> To: danjhiggi at gmail.com; ace-users at cse.wustl.edu
> Subject: Re: [ace-users] Unable to create a fully statically 
> linked libACE.a
> 
> 
> Hi Dan,
> 
>    Thanks for using the PRF.
> 
> >    ACE VERSION: 5.6
> >
> >    HOST MACHINE and OPERATING SYSTEM:
> >			x86_64 GNU/Linux Fedora core 6
> >
> >    TARGET MACHINE and OPERATING SYSTEM, if different from HOST:
same
> >    COMPILER NAME AND VERSION (AND PATCHLEVEL): gcc version 4.1.2
> >
> >    THE $ACE_ROOT/ace/config.h FILE [if you use a link to a
platform-
> >    specific file, simply state which one]:
> >
> >     I used ../configure --enable-static CPPFLAGS=-m32
CXXFLAGS=-m32
> >
> >    THE $ACE_ROOT/include/makeinclude/platform_macros.GNU FILE:
> >
> >    CONTENTS OF $ACE_ROOT/bin/MakeProjectCreator/config/
> >default.features
> >    (used by MPC when you generate your own makefiles): ??
> >
> >    AREA/CLASS/EXAMPLE AFFECTED:
> >			Runtime failures when trying to build
statically
> >
> >    DOES THE PROBLEM AFFECT:
> >      EXECUTION
> >
> >    SYNOPSIS:
> >			Runtime dependencies after compiling
statically
> >
> >    DESCRIPTION:
> >			I'm trying to build a statically linked 
> 32bit executable on my
> >x86_64 linux box.
> >
> >			I ran configure using the following lines
> >      $ cd $ACE_ROOT
> >      $ mkdir build
> >      $ cd build
> >      $ ../configure --enable-static CPPFLAGS=-m32 CXXFLAGS=-m32
> 
> There are some glitches with ./configure, I recommend you avoid
using
> ./configure and instead use the "classic" method of
> configuring/compiling ACE.  Please see
> 
> ACE_ROOT/ACE-INSTALL.html#unix_traditional
> 
> Naturally, if you or someone else would like to fix the problems
with
> ./configure that would be great!
> 
> Thanks,
> 
>         Doug
> 
> >			The -m32 worked fine. The subsequent 
> compile generated a libACE.a.
> >
> >      When I try to compile my code, I use the -static linker
option
> >to ensure there are no runtime dependencies.
> >
> >			Linker output:
> >
> >				g++ -static -m32 -Wall -g 
> -D_REENTRANT -DACE_HAS_AIO_CALLS
> >				-DACE_HAS_EXCEPTIONS 
> -D__ACE_INLINE__ -D_GNU_SOURCE
> >ClientAcceptor.o
> >				ClientService.o 
> TestClientAcceptor.o -Wl,-E -L/opt/ace/ace -L./
> >				-L. -L../../../lib 
> -L/opt/gcc/lib -L/tmp/lib -lstdc++ -o reactor -
> >lACE
> >				-ldl -lpthread -lrt
> >
> >				
> /tmp/lib/libACE.a(libACE_la-DLL_Manager.o): In function
> >				`ACE_DLL_Handle::open(char 
> const*, int, void*)':
> >				DLL_Manager.cpp:(.text+0x1c42): 
> warning: Using 'dlopen' in
> >statically
> >				linked applications requires at 
> runtime the shared libraries from
> >the
> >				glibc version used for linking
> >
> >	Doesn't this mean that the object files in libACE.a still have
> >runtime dependencies(to libc)?
> >      How do I modify my ./configure options to force ACE to
> >statically link in glibc?
> >
> >
> >    REPEAT BY:
> >
> >    SAMPLE FIX/WORKAROUND:
> >
> 
> 
> -- 
> Dr. Douglas C. Schmidt                       Professor and 
> Associate Chair
> Electrical Engineering and Computer Science  TEL: (615) 343-8197
> Vanderbilt University                        WEB: 
> www.dre.vanderbilt.edu/~schmidt
> Nashville, TN 37203                          NET: 
> d.schmidt at vanderbilt.edu
> 
> _______________________________________________
> ace-users mailing list
> ace-users at mail.cse.wustl.edu
> http://mail.cse.wustl.edu/mailman/listinfo/ace-users
> 




More information about the Ace-users mailing list