libstdc++.so.3 not found

Al Stevens astevens@ddj.com
Thu Jun 21 17:11:00 GMT 2001


On Thursday 21 June 2001 15:02, Phil Edwards wrote:

> How could it possibly change your PATH?  Should the install script rewrite
> your .login files?  Everybody's .login files?  Everybody's .profile files?

How about /etc/profile? It does some global things to PATH for other purposes.

> System files?  Which system files?  Where are they?  What if you don't want
> the newly-installed compiler to become the default for you/everybody?

Gee. Is anyone thinking *option* ? <g>

> What if you don't have appropriate permissions; should the install
> fail? complain? adjust?

Other programs I've run ask for the root password when they need those 
privileges. 

> > I suspect your installation procedures assume we know more than we do.
>
> The installation procedures can't assume much of anything.  

I think they could include some basic things such as, you need to add xxx to 
PATH, yyyy to LD_LIBRARY_PATH, and so on. Not everyone who tries to install 
gcc will instinctively know these things. Simple instructions such as those 
would decrease the bandwidth on help lists like this one, I think. Once again 
I apologize if this is the wrong list.

> > I recompiled the program with -v to see what's happening. The linker
> > (collect2) is getting a shared library from /lib and what looks like
> > startup code from /usr/lib, which worries me:. From the linker command:
> >
> > /lib/ld-linux.so.2
> > /usr/lib/crt1.o
> > /usr/lib/crti.o
>
> You should take a course in linker/loader basics, although I am at a
> loss to suggest where you learn these things other than by experience.

I've taught such courses, although not for *nix platforms.

> These aren't libraries.  The first is related to the run-time loader.
> Do not mess with that if you don't know what you're doing.  The crt*.o
> files are hooks which make your program run (ever wondered what called
> main()? now you know). 

Please don't patronize me, I start to cry. <g> Did you miss the part about 
"..what looks like startup code..." ? I've written compilers, interpreters, 
linkers and loaders, so I know how they work. What seemed odd is that these 
files are outside the gcc distribution; there are not copies of them in the 
srcdir or objdir, and their dates tell me that they come from elsewhere, 
which raised a red flag. The .2 suggests a previous version if it follows 
other gcc conventions, which I probably don't fully understand. The crt*.o is 
a conventional name for startup code on many platforms (probably inherited 
from unix), which usually comes with the compiler and is not an intrinsic 
part of every OS where most users never do any programming. My question was, 
are they just common *nix things? I guess so since *nix is fundamentally a C 
platform.

Many thanks for your response. I think I know now how it works.

I believe I'll unsubscribe now. Too many java bugs being reported. <g>

Al Stevens
Dr. Dobb's Journal




More information about the Gcc-bugs mailing list