Re: [Cppcms-users] static linking error
Brought to you by:
artyom-beilis
|
From: 陈抒 <csf...@gm...> - 2013-07-30 13:43:26
|
I made much progress. It's about dependency order. Because if A needs B, A should appear in front of B. I delete all libraries started with -l in the command, and add one, then link it. will see linker complains some thing missed. Then I add one. Finally, I link my app successfully. Below is the command which is much longer than what I expected. /usr/bin/c++ -g /home/dean/work/jiangshu-sports-lottery/builder/o/displays.cpp.o /home/dean/work/jiangshu-sports-lottery/builder/o/display.cpp.o /home/dean/work/jiangshu-sports-lottery/builder/o/default.cc.o /home/dean/work/jiangshu-sports-lottery/builder/o/main.cpp.o /home/dean/work/jiangshu-sports-lottery/builder/o/gprsConfig.cc.o /home/dean/work/jiangshu-sports-lottery/builder/o/userTitle.cc.o /home/dean/work/jiangshu-sports-lottery/builder/o/groupManagement.cc.o /home/dean/work/jiangshu-sports-lottery/builder/o/kaimei_web_site.cc.o /home/dean/work/jiangshu-sports-lottery/builder/o/home.cc.o /home/dean/work/jiangshu-sports-lottery/builder/o/log.cc.o /home/dean/work/jiangshu-sports-lottery/builder/o/group_manager.cpp.o /home/dean/work/jiangshu-sports-lottery/builder/o/gprsManager.cc.o /home/dean/work/jiangshu-sports-lottery/builder/o/display_manager.cpp.o /home/dean/work/jiangshu-sports-lottery/builder/o/time_helper.cpp.o /home/dean/work/jiangshu-sports-lottery/builder/o/user_manager.cc.o /home/dean/work/jiangshu-sports-lottery/builder/o/message.cc.o /home/dean/work/jiangshu-sports-lottery/builder/o/message_log.cpp.o /home/dean/work/jiangshu-sports-lottery/builder/o/web_user.cc.o /home/dean/work/jiangshu-sports-lottery/builder/o/message_manager.cpp.o /home/dean/work/jiangshu-sports-lottery/builder/o/accounts.cc.o /home/dean/work/jiangshu-sports-lottery/builder/o/mongo_session_factory.cpp.o /home/dean/work/jiangshu-sports-lottery/builder/o/groups.cpp.o /home/dean/work/jiangshu-sports-lottery/builder/o/mongo_session.cpp.o /home/dean/work/jiangshu-sports-lottery/builder/o/deny.cc.o /home/dean/work/jiangshu-sports-lottery/builder/o/language_cache.cpp.o /home/dean/work/jiangshu-sports-lottery/builder/o/register_client.cc.o /home/dean/work/jiangshu-sports-lottery/builder/o/updatePassword.cc.o /home/dean/work/jiangshu-sports-lottery/builder/o/address_messages.cc.o /home/dean/work/jiangshu-sports-lottery/builder/o/login.cc.o /home/dean/work/jiangshu-sports-lottery/builder/o/my_application.cpp.o /home/dean/work/jiangshu-sports-lottery/builder/o/email_manager.cc.o /home/dean/work/jiangshu-sports-lottery/builder/o/language_manager.cpp.o /home/dean/work/jiangshu-sports-lottery/builder/o/group.cpp.o -o bin/sports_lottery -static -static-libgcc -static-libstdc++ -lmongoclient -lcppcms -lbooster -lboost_system -lloki -lcryptopp -lboost_thread -pthread -lboost_filesystem -ldl -lgcrypt -lz -lpcre -licuuc -licui18n -lgpg-error -licuuc -licudata -lgcc /usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../lib/libmongoclient.a(sock.o):sock.cpp:function mongo::SockAddr::SockAddr(char const*, int): warning: Using 'getaddrinfo' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking /usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../lib/libmongoclient.a(sock.o):sock.cpp:function mongo::SockAddr::SockAddr(char const*, int): warning: Using 'getaddrinfo' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking /usr/src/cppcms-1.0.3/src/views_pool.cpp:199: warning: Using 'dlopen' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking /usr/src/cppcms-1.0.3/src/views_pool.cpp:199: warning: Using 'dlopen' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking /usr/src/cppcms-1.0.3/src/daemonize.cpp:80: warning: Using 'getgrnam' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking /usr/src/cppcms-1.0.3/src/daemonize.cpp:88: warning: Using 'getpwnam' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking /usr/src/cppcms-1.0.3/booster/lib/shared_object/src/shared_object.cpp:106: warning: Using 'dlopen' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking /usr/src/cppcms-1.0.3/booster/lib/shared_object/src/shared_object.cpp:112: warning: Using 'dlopen' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking /usr/lib/gcc/x86_64-linux-gnu/4.7/../../../x86_64-linux-gnu/libicuuc.a( putil.ao):function uprv_dl_open_48: warning: Using 'dlopen' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking But I still get some warning messages, It seems it is another problem for me. Any idea? Dean Chen Best regards http://blog.csdn.net/sheismylife On Mon, Jul 29, 2013 at 8:49 PM, Shiv Shankar Dayal < shi...@gm...> wrote: > You can also pass -L/path-to-dir-which-contains-libdl.so to gcc. > > > On Tuesday 30 July 2013 10:52 AM, Marcel Hellwig wrote: > > On 30.07.2013 02:12, 陈抒 wrote: > > find / -name 'libdl.*' > /usr/lib/x86_64-linux-gnu/libdl.a > /usr/lib/x86_64-linux-gnu/libdl.so > /lib/i386-linux-gnu/libdl.so.2 > /lib/x86_64-linux-gnu/libdl.so.2 > > But I need to static link it in my app. Do you mean LIBRARY_PATH > instead of LD_LIBRARY_PATH? > > > One is for runtime, the other one for compile time ;)http://stackoverflow.com/questions/4250624/ld-library-path-vs-library-path > > you also can check if ldconfig finds your libdl with > > ldconfig -p | grep libdl > > if not, update your ldconfhttp://linux.101hacks.com/unix/ldconfig/ > > > > > ------------------------------------------------------------------------------ > Get your SQL database under version control now! > Version control is standard for application code, but databases havent > caught up. So what steps can you take to put your SQL databases under > version control? Why should you start doing it? Read more to find out.http://pubads.g.doubleclick.net/gampad/clk?id=49501711&iu=/4140/ostg.clktrk > > > > _______________________________________________ > Cppcms-users mailing lis...@li...://lists.sourceforge.net/lists/listinfo/cppcms-users > > > > > ------------------------------------------------------------------------------ > Get your SQL database under version control now! > Version control is standard for application code, but databases havent > caught up. So what steps can you take to put your SQL databases under > version control? Why should you start doing it? Read more to find out. > http://pubads.g.doubleclick.net/gampad/clk?id=49501711&iu=/4140/ostg.clktrk > _______________________________________________ > Cppcms-users mailing list > Cpp...@li... > https://lists.sourceforge.net/lists/listinfo/cppcms-users > > |