酷!學園

技術討論區 => 程式討論版 => C/C++程式設計討論區 => 主題作者是: HaWay 於 2010-08-26 17:49

主題: static link glibc 錯誤
作者: HaWay2010-08-26 17:49
Dear all:

請問一般來說 static link 應該都會把所有的 function/library 都包進程式裡面,
我在 Fedora 13 編譯好 static link 的程式後,執行會出現浮點運算錯誤的訊息,
我透過 gdb 去 debug 會出現
代碼: [選擇]
Program received signal SIGFPE, Arithmetic exception.
0x002fb57b in _int_free () from /lib/libc.so.6

可是不已經 static link 了嗎? 為什麼還會 link 到 libc.so.6 去呢?
而我把這程式放到 Fedora 11 上面就可以正確執行,可見程式其實還是 dynamic link ?

但我用 ldd 去看卻是寫
代碼: [選擇]
[root@fedora-vm named]# ldd ./named
        not a dynamic executable
在追根究底會發現是 getpwnam 這個 function 出錯
請問該如何除錯呢?? 或是怎樣弄成真的 static link ?? 謝