d**d 发帖数: 389 | 1 今天编译个OPENSOURCE的东西, 最后出错:
/usr/bin/ld: cannot find /lib//libc.so.0
collect2: ld returned 1 exit status
google了一下,也没有什么头绪,但是有文章讲
libc.so.N (where N is 6 or more).
我自己的机器上有/lib/libc.so.6,这个实际上是个link 文件,指到libc-2.11.2.so上
去的。
俺的问题是:
1. 这个libc.so.0是怎样被指定必须使用这个lbc.so.0而不是libc.so.6?
2. 怎样修改这个错误使编译能够通过啊?
非常感谢。 |
|
S*A 发帖数: 7142 | 2 你的 makefile 或者其中一些 binary module 要用 libc.so.0
最简单就是 symlink libc.so.0 到你的 libc.so.6 上面。
看看能不能。 |
|
c**s 发帖数: 268 | 3 I got this error while trying to compile a program using Intel Fortran
Compiler 10.1.
LINK : fatal error LNK1104: cannot open file 'LIBC.lib'
Why? How to resolve this?
Thanks. |
|
a*******e 发帖数: 3021 | 4 fedora?
try yum provides */libc.so.0 and see which package provides it and install
it |
|
c**s 发帖数: 268 | 5 I got this error while trying to compile a program using Intel Fortran
Compiler 10.1.
LINK : fatal error LNK1104: cannot open file 'LIBC.lib'
Why? How to resolve this?
Thanks. |
|
s*****w 发帖数: 1527 | 6 for the following, why some -D are in front of some -I ?
does that mean these defines are only for the include path following it ?
[somehow@bsd ~/bsd_src/lib/libc]$ make
Warning: Object directory not changed from original
/usr/home/somehow/bsd_src/lib/libc
cc -O2 -pipe -I/usr/home/somehow/bsd_src/lib/libc/include -
I/usr/home/somhhow/bsd_src/lib/libc/../../include -
I/usr/home/somehow/bsd_src/lib/libc/amd64 -DNLS -D__DBINTERFACE_PRIVATE -
I/usr/home/somehow/bsd_src/lib/libc/../../contrib/gdtoa ... 阅读全帖 |
|
e*********k 发帖数: 12 | 7 下面的代码有时候会crash在LINE_A或LINE_B这两行,哪儿不对?
class A{
//...
map m_int2StrMap;
//...
void problematic(){
//...insert and erase of m_int2StrMap are involved
char temp[6] = {0};
int key = 12345;
//...temp's elements and key might be changed
map::iterator iter = this->m_int2StrMap.find(key);
if(iter != this->m_int2StrMap.end())
{
/*LINE_A*/ this->m_int2StrMap.erase(iter);
... 阅读全帖 |
|
t****t 发帖数: 6806 | 8 make up your mind first. it seems you are not clear what you are doing.
(a) if you just want to port, or simplify, sprintf() itself, let me reassure
you it is unrelated to buffer, period. no matter what port you use. it does
not even use a FILE*.
(b) if you want to port BSD libc, that's a different story. libc essentially
has two parts: libc(3) and libc(2). libc(2) is kernel API, it's different
from OS to OS. usually each call is a wrapper to corresponding kernel API.
obviously you have to find ... 阅读全帖 |
|
|
h****r 发帖数: 2056 | 9 啥时候glibc的allocato自己call arena_get2 --》 mmap?
下面这个thread的stack显示出不属于任何applicaiton thread,应该是glibc的
allocator发现master arena没法用了,只好再建一个新的heap。
(gdb) c
Continuing.
[Switching to Thread 0xb53b4b90 (LWP 8084)]
Breakpoint 1, 0xb7f68b10 in mmap () from /lib/libc.so.6
(gdb) where
#0 0xb7f68b10 in mmap () from /lib/libc.so.6
#1 0xb7efff16 in new_heap () from /lib/libc.so.6
#2 0xb7f000b1 in _int_new_arena () from /lib/libc.so.6
#3 0xb4a00010 in ?? ()
#4 0xb4a00010 in ?? ()
#5 0xb53b4118 in ?? ()
#6 ... 阅读全帖 |
|
y****e 发帖数: 23939 | 10 VC 2005 on WinXP, I got linking errors:
LINK: fatal error LNK1104: cannot open file 'LIBC.lib'
Which confused me. Because the c/c++ funactions should be looked for in the
MSVRT.lib instead libc.lib or libcmt.lib. In VS2003, I need ignore libc.lib
and libcmt.lib to make it compile. I don't know why in VC2005 it need link
to LIBC.lib.
Please help. Thanks in advanced. |
|
z****e 发帖数: 2024 | 11 两位大牛,我有一个极弱问题:
core dump之后回溯,得到如下东东,
这都是神马玩意啊???
好像第3帧之前都是系统的事情,
倒数第8帧,看到了亲耐地 shared_ptr,这玩意怎么调试啊???
Program received signal SIGABRT, Aborted.
0xb76e5410 in __kernel_vsyscall ()
(gdb) bt
#0 0xb76e5410 in __kernel_vsyscall ()
#1 0xb7487085 in raise () from /lib/tls/i686/cmov/libc.so.6
#2 0xb7488a01 in abort () from /lib/tls/i686/cmov/libc.so.6
#3 0xb74bfb7c in ?? () from /lib/tls/i686/cmov/libc.so.6
#4 0xb74c7a85 in ?? () from /lib/tls/i686/cmov/libc.so.6
#5 0xb74cb4f0 in free () from /lib/ |
|
p******a 发帖数: 6 | 12 【 以下文字转载自 Linux 讨论区,原文如下 】
发信人: patapata (SF<->LA), 信区: Linux
标 题: shared library一问
发信站: The unknown SPACE (Sun Aug 27 04:13:01 2000), 转信
有个问题困扰了很久,不知哪位大侠能给指点一下:
我做的项目中用到一个Shared Library,里面重新定义了一些libc
中的function,比如带garbage collection的malloc,这些是我必
须要用到的,但是它还重新定义了一些其它的libc函数,比如
sigprocmask等,它们不是thread-safe的,结果造成程序在multi-
threading时出错.我希望在编译时,只把我要用的函数连接到这个
shared library上,其它我不用的函数仍连到标准libc上,即便它们
在这个库里也有定义,如果我在gcc时把"-lc"放在头里,程序中调
malloc就成了libc的,如果我不把"-lc"放在头里,则sigprocmask
就成了这个shared library里有问题的那个 |
|
a****a 发帖数: 5763 | 13 2011年12月3日,LLVM 3.0正式版发布,完整支持所有ISO C++标准和大部分C++ 0x的新
特性, 这对于一个短短几年的全新项目来说非常不易。
开发者的惊愕
在2011年WWDC(苹果全球开发者大会)的一场与Objective-C相关的讲座上,开发者的
人生观被颠覆了。
作为一个开发者,管理好自己程序所使用的内存是天经地义的事,好比人们在溜狗时必
须清理狗的排泄物一样(美国随处可见“Clean up after your dogs”的标志)。在本
科阶段上C语言的课程时,教授们会向学生反复强调:如果使用malloc函数申请了一块
内存,使用完后必须再使用free函数把申请的内存还给系统——如果不还,会造成“内
存泄漏”的结果。这对于Hello World可能还不算严重,但对于庞大的程序或是长时间
运行的服务器程序,泄内存是致命的。如果没记住,自己还清理了两次,造成的结果则
严重得多——直接导致程序崩溃。
Objective-C有类似malloc/free的对子,叫alloc/dealloc,这种原始的方式如同管理C
内存一样困难。所以Objective-C中的内存管理又增... 阅读全帖 |
|
r*****s 发帖数: 262 | 14 源代码的意思是, 找到包含我需要的库文件的源代码,从新编译.
例如,我现在是libc-2.5.so, 里面没有glibc_2.0 库文件.
我找到一个libc-2.5.so 且包含glibc_2.0的源代码,编译是吗?
另外一个问题,我运行 nm /lib/libc-2.5.so | grep 'A GLIBC'
输出是
GLIBC_2.0
GLIBC_2.1.1
GLIBC_2.2
...
...
这不是说里面有GLIBC_2.0. 为什么运行simvision这个软件
说缺glibc_2.0呢?
xiexie |
|
a*********e 发帖数: 1233 | 15 Ubuntu 是 15.10, 32位
Matlab 是 2011版
以前装在Ubuntu 14.04 32位上是能启动的。
现在错误信息是:
/lib/libc.so.6: not found
然后,我就 sudo ln -s /lib/i386-linux-gnu/libc-2.13.so /lib/libc.so.6
但还是没法启动。
有谁给个解决方案? |
|
y****e 发帖数: 23939 | 16 我的Project是从Linux下移植到windoesXP上的,原来在VS2003下能编译,但是我需要
specify ignore libc.lib 和libcmt.lib.
现在我用vs2005编译,总是complain:
LINK: fatal error LNK1104: cannot open file 'LIBC.lib'
我想这些C++函数都应该连接到MSVRT.lib的呀,为什么要连接到libc.lib呢?而且我的
Project是多线程的,/MD。我的Project有8个dependent library,有些是以前用
vs2003 build 的会不会是这个原因呢? |
|
t****t 发帖数: 6806 | 17 "堆" 有两个意思, 你说的是哪一个?
操作系统管理空余内存, 马马虎虎可以叫堆, 虽然不是按照堆来管理的. 向操作系统申
请内存是从这些空余内存申请的. 另外, 你的libc管理一个私有堆, 你申请100次1个字
节, libc可能只从操作系统分配一次. 另一方面, 如果你申请100次50M字节, 可能libc
每次都从操作系统分配.
如果你想要的是别的进程不能用的内存, 你可能是对的, 但是我也不清楚vsize里是不
是包括了mmap的尺寸. |
|
C********e 发帖数: 219 | 18 接手了一个c++的程序,以前的程序员不愿意指导,自己也比较愚钝。请大侠们指点
不明白为什么usleep(1000)发生overflow?是因为其他线程有overflow的情况吗?如何
查看其他线程里面的变量值呢?
Program terminated with signal 6, Aborted.
#0 0x0000003cfd89a1e1 in nanosleep () from /lib64/libc.so.6
(gdb) bt
#0 0x0000003cfd89a1e1 in nanosleep () from /lib64/libc.so.6
#1 0x0000003cfd8ce8f4 in usleep () from /lib64/libc.so.6
#2 0x0000000000498e17 in MyClass::StartUp (this=0x2b4484725010, aName=
Traceback (most recent call last):
File "/usr/share/gdb/python/libstdcxx/v6/printers.py", lin... 阅读全帖 |
|
g***i 发帖数: 4272 | 19 Libc里也有
但好像是libc里的fork调用的linux api的sys_fork
: fork()也是啊
: fork(), system(), popen()都是类似的
|
|
f******t 发帖数: 61 | 20 yes, maybe it's feasible!
Can you tell me what libc is composed of ?
does it require installation, or just as you
said, copy the files.
i booted the system in rescue mode, but i
can't execute rpm command to install the
libc. |
|
m*******m 发帖数: 182 | 21 It consists of:
ld.so.2
ldconfig
libc.so.6
libcrypt.so.1
...
But what mingtty needs are /lib/libc.so.6 and /lib/ld-linux.so.2.
So, just copy these two for a quick fix.
Are you sure you have rpm in rescue mode? rpm is statically linked
(at least on my linux box). It shouldnt be a dynamic link problem.
You can get a copy of rpm to install. |
|
f******t 发帖数: 61 | 22 I have tried, but in the /usr/lib directory,
the libc.so.6 and ld-linux.so.2 is there.
The error is:
/usr/local/lib/libc.so.6: undefined symbol:_dl_initial_searchlist_
mingetty: error in loading shared library.
Then i try to replace the files in lib directory with
libc5 files, which i found under /usr/i486-linux-libc5/lib
But now error is:
INIT: can't execute command mingetty
and no other message! |
|
a****a 发帖数: 5763 | 23 http://bbs.weiphone.com/read.php?tid=517864
Mac OS X 10.6即所谓的Snow Leopard操作系统已正式发售。一如既往,Apple产品
光鲜的外表下凝聚了太多艰辛的劳作。ArsTechnic的John Siracusa以其独特的、专业
的、全面的视角深入翔实地体验这款最新的操作系统。
Weiphone.com将对该综述进行翻译整理并独家连载。欢迎关注
Grand Central Dispatch
上一篇连载《并行难题:一封19年前的挑战书(连载11/23)》中,我们讨论了
并行编程(parallel programming)的问题,以及该问题所导致的另一个更为深远问题,
那就是:近一二十年以来,尽管计算机硬件的发展已经迈上了一个新的台阶,然而“软
件”层面的发展却裹足不前,最终成为了限制计算机性能的主要因素之一。
针对这一问题,Snow Leopard的应对方案是Grand Central Dispatch(GCD)。
GCD是刚刚发布的Snow Leopard的一项新特性... 阅读全帖 |
|
m********r 发帖数: 811 | 24 doesn't work..
*** stack smashing detected ***: convert terminated
======= Backtrace: =========
/lib/tls/i686/cmov/libc.so.6(__fortify_fail+0x48)[0xb7b25da8]
/lib/tls/i686/cmov/libc.so.6(__fortify_fail+0x0)[0xb7b25d60]
/usr/lib/ImageMagick-6.4.5/modules-Q16/coders/ps.so[0xb7f50fe4]
/usr/lib/ImageMagick-6.4.5/modules-Q16/coders/ps.so[0xb7f4d54a]
/usr/lib/libMagickCore.so.1(ReadImage+0xce9)[0xb7d7f249]
/usr/lib/libMagickCore.so.1(ReadImages+0x1b2)[0xb7d7fa72]
/usr/lib/libMagickWand.so.1(ConvertIma |
|
j*****h 发帖数: 2577 | 25 output is
linux-gate.so.1 => (0xb7f1f000)
libGL.so.1 => /usr/X11R6/lib/libGL.so.1 (0xb7e8c000)
libm.so.6 => /lib/tls/i686/cmov/libm.so.6 (0xb7e66000)
libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb7d02000)
libX11.so.6 => /usr/lib/libX11.so.6 (0xb7c13000)
libXext.so.6 => /usr/lib/libXext.so.6 (0xb7c03000)
libXxf86vm.so.1 => /usr/lib/libXxf86vm.so.1 (0xb7bfd000)
libpthread.so.0 => /lib/tls/i686/cmov/libpthread.so.0 (0xb7be4000)
|
|
j*****h 发帖数: 2577 | 26 will ldd work? the right handside would be the path right?
linux-gate.so.1 => (0xb808d000)
libGL.so.1 => /usr/X11R6/lib/libGL.so.1 (0xb7ffa000)
libm.so.6 => /lib/tls/i686/cmov/libm.so.6 (0xb7fd4000)
libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb7e70000)
libX11.so.6 => /usr/lib/libX11.so.6 (0xb7d81000)
libXext.so.6 => /usr/lib/libXext.so.6 (0xb7d71000)
libXxf86vm.so.1 => /usr/lib/libXxf86vm.so.1 (0xb7d6b000)
libpthread.so.0 => /lib/tls/i686 |
|
|
h*******x 发帖数: 12808 | 28 增加使用者的难度。
我习惯了ubuntu,跳到centos下面,很多配置都找不到。
编译的时候也要注意libc的版本,好多公司为了统一,只能对应一个gcc+libc的组合编
译出几个不同的bin来。
这一
了。
? |
|
e**********a 发帖数: 279 | 29 fresh newbie of linux, 好不容易装好了ubuntu 11.10, 我的目标是用g77 编译一个
很老的一个东东。
网上依葫芦画瓢的装了个老版本的g77 和新版本的gcc, 发现还是不行, gfortran 可
行, gcc不行, 不管 g77 还是 c compiler, 据说是骨子里的问题。
linux-vdso.so.1 => (0x00007fff644af000)
libc.so.6 => /lib64/libc.so.6 (0x00000037eb800000)
/lib64/ld-linux-x86-64.so.2 (0x00000037eb400000)
英文的论坛里说的都不管用, 类似 ln -s,
现在有两个没试, 一个是装 libc6-dev
一个是卸了重装低版本的。
可惜这只是想法, 因为半调子,我都不知道具体的commands 去下载和重装 ( 之前都
是照着网上的step-by-step弄的, 比如, 改sources.list, 我找不到类似的联接,
或者联结上的links 太复杂,不知... 阅读全帖 |
|
a****a 发帖数: 5763 | 30 NOTE: If you have too old a version of libc, then you will get an error like
"floating point exception" from the binaries in these bindists. You will
need to either upgrade your libc (we're not sure what the minimum version
required is), or use a binary package built for your distribution instead.
这是我在ghc的下载页面上找到的。这要是个商业化软件。早被人问候十八代了吧
we are not sure what the minimal version required is ....... |
|
s**********k 发帖数: 88 | 31 利用library preloading 的方法,我们可以在一个程序启动的时候,用自己的动态库
覆盖掉对该程序以后对libc的动态库调用。现在如果已经有几个PID已知的程序在运行
,有没有方法把自己的动态库覆盖掉其中某一个程序对libc的动态库调用? |
|
W*****x 发帖数: 684 | 32 $ cd geoip-api-c-master
$ libtoolize
$ aclocal
$ autoconf
$ automake --add-missing
$./configure
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
... 阅读全帖 |
|
r*g 发帖数: 186 | 33 我以前一直用bash
最近因为公司默认shell是csh, 不得不开始学习csh
大概问题是这样的:
由于我没有root权限, 所以我都是在$HOME下面建立一个.pseudo_root
然后在这个$HOME/.pseudo_root下面有usr/bin usr/lib之类的
然后自己安装软件都是--prefix=$HOME/.pseudo_root/usr
以前从来都没啥问题
由于这样的设置, 一般要把LD_LIBRARY_PATH加一个$HOME/.pseudo_root/usr/lib
我在.cshrc中设置:
1. set LD_LIBRARY_PATH in .cshrc as:
setenv LD_LIBRARY_PATH ${HOME}/.pseuso_root/usr/lib:${LD_LIBRARY_PATH}
然后打印$LD_LIBRARY_PATH也的确表现正常:
echo $LD_LIBRARY_PATH
/home/anhong/.pseuso_root/usr/lib:/grid/sfi/lsf/cvalsf01/9.1.1/linux2.6-
glibc2... 阅读全帖 |
|
t*****t 发帖数: 72 | 34 其实是编译时库文件的顺序问题,例如:
gcc -lA -lB -lC -o out
其中-lA, -lB, -lC指向3个不同的库文件, libA.a, libB.a, libC.a.
我现在知道libA.a中有个函数要调用libC.a中的函数,那么在编译
的时候 -lA 和 -lC 选项的排列顺序对编译成功与否是有关系的。
请问这个顺序一般遵循什么样的原则?有什么办法或选择可以使
编译不依赖于联结库的顺序吗?请指教。多谢!!//bow |
|
l****i 发帖数: 43 | 35 try this
g++ -static-libgcc -static test.cc
if you still see some lib is dynamically linked, e.g., libc
you can try following
ln -s `g++ -print-file-name=libc.a`
then
g++ -static-libgcc -static test.cc
This may help |
|
f******e 发帖数: 164 | 36 【 以下文字转载自 Linux 讨论区 】
发信人: francise (小飞猫), 信区: Linux
标 题: 如何GDB调试因pthread_cond_wait()阻塞的线程?
发信站: BBS 未名空间站 (Thu Apr 3 02:08:42 2008)
比如有两个线程1,2,主线程1执行到某处会pthread_cond_wait(),然后由线程2唤醒
,继续执行.
我用gdb调试时却出了问题,调试时主线程执行到pthread_cond_wait()函数处
,进入等待状态,ctrl+c后看到的线程信息如下:
(gdb) info thread
* 3 Thread 1026 (LWP 19165) 0x420292e5 in sigsuspend ()
from /lib/i686/libc.so.6
2 Thread 2049 (LWP 19164) 0x420e0037 in poll () from
/lib/i686/libc.so.6
|
|
t****t 发帖数: 6806 | 37 /dev/random is different -- /dev/random is RNG, while libc rand() or
whatever function from software is PRNG. "Real" rng must have OS support (
which /dev/random do).
most libc rand() is linear congruential generator. it's easy to implement
and fast.
however it has some severe problem, and is of low quality. |
|
i*****f 发帖数: 578 | 38 【 以下文字转载自 Linux 讨论区 】
发信人: icewolf (好好活), 信区: Linux
标 题: 关于signal handler
发信站: BBS 未名空间站 (Mon Dec 21 18:22:17 2009, 美东)
最近在看gnu libc的manual,里面讲到signal handler的时候有这个例子(chapter 24
.4.2, http://www.gnu.org/software/libc/manual/html_node/Termination-in-Handler.html#Termination-in-Handler):
1 volatile sig_atomic_t fatal_error_in_progress = 0;
2
3 void
4 fatal_error_signal (int sig)
5 {
6 /* Since this handler is established for more than one kind of signal,
7 it might still get invoked recurs |
|
t****t 发帖数: 6806 | 39 there are 2 levels of "allocation": allocation within the process, aka
memory/heap management, corresponding to section 3 of man pages; and
allocation from the OS, aka data segment size increase/decrease and memory
mapping, corresponding to section 2 of man pages.
the first part is a direct mapping of libc API: malloc()-allocate, free()-
release. If in the process of malloc, the heap runs out of space, or some
other condition triggers, the libc will invoke the 2nd part automatically.
this depend |
|
t****t 发帖数: 6806 | 40 I also suggest you read one of my previous post:
http://www.mitbbs.com/article/Programming/31186111_0.html
It seems a lot of people confuse OS (kernel) and RTL (such as libc/libc++).
They are related but different. As I said, old fashioned people like me
consider a function call as kernel call, if there is privilege/context
switching; otherwise it is not. A lot of function are mixed, meaning they
sometimes invoke kernel, sometimes not, in other words, they *aggregate*
calls to kernel. OS librari |
|
|
t****t 发帖数: 6806 | 42 这个跟C++无关, 是windows的问题. 据我所知unix上没有这样的问题, 至少如果双方用
同样的libc(比如动态链接的libc)的话. |
|
t****t 发帖数: 6806 | 43 这个跟C++无关, 是windows的问题. 据我所知unix上没有这样的问题, 至少如果双方用
同样的libc(比如动态链接的libc)的话. |
|
c***r 发帖数: 4631 | 44 http://libcxx.llvm.org/
libc++ is a 100% complete C++11 implementation on Apple's OS X.
LLVM and Clang can self host in C++ and C++11 mode with libc++ on Linux.
Ports to other platforms are underway. |
|
n****1 发帖数: 1136 | 45 我是用chromebook的, 里面的chrome app即使是用了native client, 安装也和普通
chrome web app安装过程没区别. 因为chrome是自带这个libc runtime的.
而且这个libc runtime是跨平台的, 因为是llvm技术, 可以一次编译到处运行, 包括
windows/mac/linux |
|