2013-02-25 127 views
0

我有幾個GUI庫從RHEL6.2系統64位機器編譯。我的任務是在Ubuntu 64位計算機上運行它.. 所以我想它在 的Ubuntu 12.04.1 &的Ubuntu 11.04 在兩個IM面臨着類似的問題..libstdC++崩潰在Ubuntu 64位

分割故障(核心轉儲) *分段故障

回溯: /usr/lib/x86_64-linux-gnu/libstdc++.so.6(_ZNSsC1ERKSs+0xb)[0x7f14e2728f2b]

Program received signal SIGSEGV, Segmentation fault. 
0x00007ffff5070f2b in std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::string const&)() 
from /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (gdb) bt 
#0 0x00007ffff5070f2b in std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::basic_string(std::string const&)() from /usr/lib/x86_64-linux-gnu/libstdc++.so.6 

我無法將其編譯到我的電腦,因爲源代碼不適用於我。只有庫,他們給了我.. 任何一個可以請幫我理清這個問題..

G ++版本 G ++(Ubuntu的/ Linaro的4.6.3-1ubuntu5)4.6.3

請幫助我..謝謝提前//


感謝您的答覆..

是我穿過檢查兩個版本的GCC

這是我的主機,其中IM能夠運行我的應用程序

gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3 
    Copyright (C) 2011 Free Software Foundation, Inc. 
    This is free software; see the source for copying conditions. There is NO 
    warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 



    ls -ld /usr/lib/x86_64-linux-gnu/libstdc++.so.6 
    lrwxrwxrwx 1 root root 19 Apr 16 2012 /usr/lib/x86_64-linux-gnu/libstdc++.so.6 -> libstdc++.so.6.0.16 

,並在那裏我嘗試運行,但不工作的電腦是

gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3 
Copyright (C) 2011 Free Software Foundation, Inc. 
This is free software; see the source for copying conditions. There is NO 
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 


ls -ld /usr/lib/x86_64-linux-gnu/libstdc++.so.6 
lrwxrwxrwx 1 root root 19 Apr 16 2012 /usr/lib/x86_64-linux-gnu/libstdc++.so.6 -> libstdc++.so.6.0.16 

都是精確的Ubuntu 12.04

我無法確定我的錯在哪裏。 。

請幫助..

回答

1

的Ubuntu 12.04和11.04這兩個使用比RHEL6.2大幅更新庫。檢查stdlib的版本。我敢打賭,他們是不同的。

一般來說,你不能只拿起一個二進制文件(程序或庫)並在另一個上運行它。如果你有.rpm或.deb包,你會發現應該有版本依賴。

您也可以使用ldd查看您的庫依賴於哪些其他庫。