Hello Frans,

What always worked for me is to omit -static and instead use full
paths to the .a files when linking (without -l):
g++  -O2 -o hello hello.C /usr/local/lib/libwthttp.a /usr/local/lib/libwt.a ...

There may be some option of ld or gcc that avoids static linking for
some libraries, but I don't know that by heart.

Best regards,
Wim.

2012/1/31 Frans Meulenbroeks <fransmeulenbro...@gmail.com>:
> Hi,
>
> I'm trying to statically link hello to learn about footprint.
> I peeked at the instructions at
> http://redmine.webtoolkit.eu/projects/wt/wiki/Wt_embedded, I haven't applied
> all of them, but I feel I'm quite far from the results listed on that page
> as my exe is about 5 MB. (intel x86-64)
>
> The thing that I do not seem to get under control is using libc (and maybe
> some other libs) dynamically.
>
> E.g. with this command:
> g++  -O2 -o hello hello.C -static -lwthttp -lwt -lstdc++ -lboost_signals -lz
> \
>     -lssl -lcrypto -lboost_thread -lboost_filesystem -lboost_program_options
> -lboost_date_time -lpthread -lboost_regex \
>     -lboost_system -lrt -ldl -licudata -licui18n -licuuc -Bdynamic -lz -lm
> -Bdynamic -lc
>
> I still end up with a fully statically linked executable.
>
> The other thing that somewhat concerns me are these linker messages:
>
> /usr/lib64/libcrypto.a(dso_dlfcn.o): In function `dlfcn_load':
> (.text+0x5c4): warning: Using 'dlopen' in statically linked applications
> requires at runtime the shared libraries from the glibc version used for
> linking
> /usr/lib64/libwthttp.a(Server.o): In function `getaddrinfo':
> /usr/include/boost/asio/detail/socket_ops.hpp:1809: warning: Using
> 'getaddrinfo' in statically linked applications requires at runtime the
> shared libraries from the glibc version used for linking
>
> Anyone any pointers on how to improve my results
> (and yes, I know there are some things in the wiki that I have not tried).
>
> Rationale for going static is that this is the only C++ app in my target
> system, so I'd rather have only those parts of the lib that I really use.
> (and I came to the list of libs above by dynamically linking and doing ldd
> -v hello
>
> Thanks in advance for any suggestions!
> Frans
>
> ------------------------------------------------------------------------------
> Keep Your Developer Skills Current with LearnDevNow!
> The most comprehensive online learning library for Microsoft developers
> is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3,
> Metro Style Apps, more. Free future releases when you subscribe now!
> http://p.sf.net/sfu/learndevnow-d2d
> _______________________________________________
> witty-interest mailing list
> witty-interest@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/witty-interest
>

------------------------------------------------------------------------------
Keep Your Developer Skills Current with LearnDevNow!
The most comprehensive online learning library for Microsoft developers
is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3,
Metro Style Apps, more. Free future releases when you subscribe now!
http://p.sf.net/sfu/learndevnow-d2d
_______________________________________________
witty-interest mailing list
witty-interest@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/witty-interest

Reply via email to