libstdc++.so.3 not found

Phil Edwards pedwards@disaster.jaj.com
Fri Jun 22 11:49:00 GMT 2001


On Thu, Jun 21, 2001 at 08:12:10PM -0400, Al Stevens 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.

On some platforms.  Not all of them.  Most users I know use shells which
don't read /etc/profile at all.

> > 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>

Feel free to submit a patch.  But be advised that patches which only solve
part of the problem for part of the user base are often not included,
especially when the patch in question touches something as important as
the installation scripts.

Of course, you might work up a patch (against particular versions of GCC,
to save work for you) and just make it available to the public even if it
doesn't get included in FSF sources.  Interested users can download GCC,
download and apply your patch, then build and install.  I've often wished
to do this for patches which I find useful even though I know they wouldn't
be accepted.


> > 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.

It's as good a list as any other.  :-)  For shared library issues, such
instructions are in fact printed (by the libtool script) during installation
of libraries which a) use libtool and b) have shared libs available.
For example, you were talking about libstdc++.  If you cd down into the
libstdc++-v3 build directory and run 'make install' you should see the
printout from libtool (it's enclosed by lines of -'s or ='s or something).


> > 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.

I /did/ qualify it with 'if'.  :-)  I have no idea whether you're a beginner,
an expert, or a local deity; none of that was mentioned in your email.  No
offense was intended.


> The .2 suggests a previous version if it follows 
> other gcc conventions, which I probably don't fully understand.

ld-linux.so.2's purely a Linux thing, not a gcc thing.  I /think/ the 2
relates to the "new" ELF way of doing things, as opposed to the "old a.out"
way of doing things.  (In quotes because the change was made years ago.)
IIRC they use different runtime loaders.


> My question was, 
> are they just common *nix things? I guess so since *nix is fundamentally a C 
> platform.

Sometimes you'll see one pair of object files from the system and another
from the compiler.  If there is only one compiler for that system, then there
only needs to be one pair (or for that matter, one file).  (As far as GCC
goes, I understood these things fairly well up until a couple months ago,
and then some changes were made that still don't see quite right to me,
but hey, they seem to work.  :-)

GCC also ships its own object files, but they're located in the back-end
compiler directory (start in prefix/lib/gcc-lib and then just start going
down directories).  Does that help?


Phil

-- 
pedwards at disaster dot jaj dot com  |  pme at sources dot redhat dot com
devphil at several other less interesting addresses in various dot domains
The gods do not protect fools.  Fools are protected by more capable fools.



More information about the Gcc-bugs mailing list