public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* libstdc++ soname in egcs 1.1 and 1.0.3
@ 1998-06-23 19:23 H.J. Lu
  1998-06-24 12:27 ` Manfred Hollstein
  0 siblings, 1 reply; 8+ messages in thread
From: H.J. Lu @ 1998-06-23 19:23 UTC (permalink / raw)
  To: egcs

Hi,

On linux/x86/glibc 2, libstdc++ is not compatible between egcs
1.0.3 and 1.1 due to MT-safe EH. But they use the same soname.
That causes a problem. All C++ binaries on my RedHat 5.1 compiled
against egcs 1.0.3 stop working due to incompatible libstdc++.so.2.8
when I installed egcs 1.1 snapshot. It has to be fixed for egcs 1.1.

-- 
H.J. Lu (hjl@gnu.org)

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: libstdc++ soname in egcs 1.1 and 1.0.3
  1998-06-23 19:23 libstdc++ soname in egcs 1.1 and 1.0.3 H.J. Lu
@ 1998-06-24 12:27 ` Manfred Hollstein
  1998-06-25 12:07   ` Carlo Wood
  0 siblings, 1 reply; 8+ messages in thread
From: Manfred Hollstein @ 1998-06-24 12:27 UTC (permalink / raw)
  To: egcs; +Cc: hjl

On Tue, 23 June 1998, 19:22:59, hjl@lucon.org wrote:

 > Hi,
 > 
 > On linux/x86/glibc 2, libstdc++ is not compatible between egcs
 > 1.0.3 and 1.1 due to MT-safe EH. But they use the same soname.
 > That causes a problem. All C++ binaries on my RedHat 5.1 compiled
 > against egcs 1.0.3 stop working due to incompatible libstdc++.so.2.8
 > when I installed egcs 1.1 snapshot. It has to be fixed for egcs 1.1.

Yes! We should definitely change

  VERSION = 2.8.0

to

  VERSION = 2.9.0

Since this is currently defined at several locations, we should
probably define this only once and add it to FLAGS_TO_PASS instead.
Perhaps, we should also change MSHLINK's definition to use the first
three digits instead of the first two.

What do you think?

manfred

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: libstdc++ soname in egcs 1.1 and 1.0.3
  1998-06-24 12:27 ` Manfred Hollstein
@ 1998-06-25 12:07   ` Carlo Wood
  1998-06-25 22:18     ` Manfred Hollstein
  0 siblings, 1 reply; 8+ messages in thread
From: Carlo Wood @ 1998-06-25 12:07 UTC (permalink / raw)
  To: manfred, Manfred.Hollstein; +Cc: egcs

Manfred wrote about libstdc++:
| Yes! We should definitely change
| 
|   VERSION = 2.8.0
| 
| to
| 
|   VERSION = 2.9.0

Leaving it at 2.8.0 is definitely, positively, wrong.

But bumping it to 2.9.0 could still cause compilation
with gcc-2.8.x to use it too.
You still can only have one libstdc++.so symbolic link;
so every time you switch compiler you need to change
that link, right?.  I am not sure if that is the same
problem though :)

Carlo

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: libstdc++ soname in egcs 1.1 and 1.0.3
  1998-06-25 12:07   ` Carlo Wood
@ 1998-06-25 22:18     ` Manfred Hollstein
  1998-06-26  2:49       ` Franz Sirl
       [not found]       ` <E0ypV80-0006dq-00@ks.sel.alcatel.de>
  0 siblings, 2 replies; 8+ messages in thread
From: Manfred Hollstein @ 1998-06-25 22:18 UTC (permalink / raw)
  To: carlo; +Cc: egcs

On Thu, 25 June 1998, 17:57:08, carlo@runaway.xs4all.nl wrote:

 > Manfred wrote about libstdc++:
 > | Yes! We should definitely change
 > | 
 > |   VERSION = 2.8.0
 > | 
 > | to
 > | 
 > |   VERSION = 2.9.0
 > 
 > Leaving it at 2.8.0 is definitely, positively, wrong.
 > 
 > But bumping it to 2.9.0 could still cause compilation
 > with gcc-2.8.x to use it too.
 > You still can only have one libstdc++.so symbolic link;
 > so every time you switch compiler you need to change
 > that link, right?.  I am not sure if that is the same
 > problem though :)

Fortunately, we now have the new flag `--enable-version-specific-runtime-libs',
which installs libstdc++.{a,so*,sl*} and its include files in the
compiler specific subdirectory named by the make macro "$(libsubdir)".

So, if you're using this approach, no problem at all!

manfred

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: libstdc++ soname in egcs 1.1 and 1.0.3
  1998-06-25 22:18     ` Manfred Hollstein
@ 1998-06-26  2:49       ` Franz Sirl
       [not found]       ` <E0ypV80-0006dq-00@ks.sel.alcatel.de>
  1 sibling, 0 replies; 8+ messages in thread
From: Franz Sirl @ 1998-06-26  2:49 UTC (permalink / raw)
  To: manfred, Manfred.Hollstein; +Cc: carlo, egcs

At 07:18 26.06.98 , Manfred Hollstein wrote:
>On Thu, 25 June 1998, 17:57:08, carlo@runaway.xs4all.nl wrote:
>
> > Manfred wrote about libstdc++:
> > | Yes! We should definitely change
> > | 
> > |   VERSION = 2.8.0
> > | 
> > | to
> > | 
> > |   VERSION = 2.9.0
> > 
> > Leaving it at 2.8.0 is definitely, positively, wrong.
> > 
> > But bumping it to 2.9.0 could still cause compilation
> > with gcc-2.8.x to use it too.
> > You still can only have one libstdc++.so symbolic link;
> > so every time you switch compiler you need to change
> > that link, right?.  I am not sure if that is the same
> > problem though :)
>
>Fortunately, we now have the new flag
`--enable-version-specific-runtime-libs',
>which installs libstdc++.{a,so*,sl*} and its include files in the
>compiler specific subdirectory named by the make macro "$(libsubdir)".

Hmm, two questions (I'm no shared lib expert):
- would it harm anything if the libraries got always installed in eg.
/usr/lib _and_ $(libsuddir)? So one would have at least a reference copy
available
- is linking from /usr/lib to $(libsubdir) ok?

I wonder what's the best thing to do on Linux, since I also could modify
/etc/ld.so.conf on the fly and add $(libsubdir) while installing the RPM.

Franz.


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: libstdc++ soname in egcs 1.1 and 1.0.3
       [not found]       ` <E0ypV80-0006dq-00@ks.sel.alcatel.de>
@ 1998-06-26  5:13         ` Manfred Hollstein
  1998-06-26 13:03           ` Alex Buell
  1998-06-26 18:46           ` H.J. Lu
  0 siblings, 2 replies; 8+ messages in thread
From: Manfred Hollstein @ 1998-06-26  5:13 UTC (permalink / raw)
  To: Franz.Sirl-kernel; +Cc: carlo, egcs

On Fri, 26 June 1998, 11:48:40, Franz.Sirl-kernel@lauterbach.com wrote:

 > At 07:18 26.06.98 , Manfred Hollstein wrote:
 > >On Thu, 25 June 1998, 17:57:08, carlo@runaway.xs4all.nl wrote:
 > >
 > > > Manfred wrote about libstdc++:
 > > > | Yes! We should definitely change
 > > > | 
 > > > |   VERSION = 2.8.0
 > > > | 
 > > > | to
 > > > | 
 > > > |   VERSION = 2.9.0
 > > > 
 > > > Leaving it at 2.8.0 is definitely, positively, wrong.
 > > > 
 > > > But bumping it to 2.9.0 could still cause compilation
 > > > with gcc-2.8.x to use it too.
 > > > You still can only have one libstdc++.so symbolic link;
 > > > so every time you switch compiler you need to change
 > > > that link, right?.  I am not sure if that is the same
 > > > problem though :)
 > >
 > >Fortunately, we now have the new flag
 > `--enable-version-specific-runtime-libs',
 > >which installs libstdc++.{a,so*,sl*} and its include files in the
 > >compiler specific subdirectory named by the make macro "$(libsubdir)".
 > 
 > Hmm, two questions (I'm no shared lib expert):
 > - would it harm anything if the libraries got always installed in eg.
 > /usr/lib _and_ $(libsuddir)? So one would have at least a reference copy
 > available
 > - is linking from /usr/lib to $(libsubdir) ok?

If you're only interested in Linux, then yes, as long as _only_ the
real file libstdc++.so.x.y.z (and not libstdc++.so) is linked.
But, on SunOS this would fail, because the bloody ld.so there
will always happily use the lib with the highest version number :-(

 > 
 > I wonder what's the best thing to do on Linux, since I also could modify
 > /etc/ld.so.conf on the fly and add $(libsubdir) while installing the RPM.

For me defining LD_RUN_PATH at linktime seems to be the best solution.

 > 
 > Franz.
 > 

manfred

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: libstdc++ soname in egcs 1.1 and 1.0.3
  1998-06-26  5:13         ` Manfred Hollstein
@ 1998-06-26 13:03           ` Alex Buell
  1998-06-26 18:46           ` H.J. Lu
  1 sibling, 0 replies; 8+ messages in thread
From: Alex Buell @ 1998-06-26 13:03 UTC (permalink / raw)
  To: Manfred Hollstein; +Cc: egcs

On Fri, 26 Jun 1998, Manfred Hollstein wrote:

> If you're only interested in Linux, then yes, as long as _only_ the
> real file libstdc++.so.x.y.z (and not libstdc++.so) is linked.
> But, on SunOS this would fail, because the bloody ld.so there
> will always happily use the lib with the highest version number :-(

You could try downloading binutils-2.9.1.0.6 and building it for Sparc
architecture. This could help.

Cheers,
Alex
--
 /\_/\  Legalise cannabis now! 
( o.o ) Smoke some cannabis today!
 > ^ <  Peace, Love, Unity and Respect to all.

http://www.tahallah.demon.co.uk


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: libstdc++ soname in egcs 1.1 and 1.0.3
  1998-06-26  5:13         ` Manfred Hollstein
  1998-06-26 13:03           ` Alex Buell
@ 1998-06-26 18:46           ` H.J. Lu
  1 sibling, 0 replies; 8+ messages in thread
From: H.J. Lu @ 1998-06-26 18:46 UTC (permalink / raw)
  To: manfred, Manfred.Hollstein; +Cc: Franz.Sirl-kernel, carlo, egcs

> 
> On Fri, 26 June 1998, 11:48:40, Franz.Sirl-kernel@lauterbach.com wrote:
> 
>  > At 07:18 26.06.98 , Manfred Hollstein wrote:
>  > >On Thu, 25 June 1998, 17:57:08, carlo@runaway.xs4all.nl wrote:
>  > >
>  > > > Manfred wrote about libstdc++:
>  > > > | Yes! We should definitely change
>  > > > | 
>  > > > |   VERSION = 2.8.0
>  > > > | 
>  > > > | to
>  > > > | 
>  > > > |   VERSION = 2.9.0
>  > > > 
>  > > > Leaving it at 2.8.0 is definitely, positively, wrong.
>  > > > 
>  > > > But bumping it to 2.9.0 could still cause compilation
>  > > > with gcc-2.8.x to use it too.
>  > > > You still can only have one libstdc++.so symbolic link;
>  > > > so every time you switch compiler you need to change
>  > > > that link, right?.  I am not sure if that is the same
>  > > > problem though :)
>  > >
>  > >Fortunately, we now have the new flag
>  > `--enable-version-specific-runtime-libs',
>  > >which installs libstdc++.{a,so*,sl*} and its include files in the
>  > >compiler specific subdirectory named by the make macro "$(libsubdir)".

That is a bad idea. I will like to keep libstdc++.so*. But I
certainly don't want to keep all $(libsubdir).

>  > 
>  > Hmm, two questions (I'm no shared lib expert):
>  > - would it harm anything if the libraries got always installed in eg.
>  > /usr/lib _and_ $(libsuddir)? So one would have at least a reference copy
>  > available
>  > - is linking from /usr/lib to $(libsubdir) ok?
> 
> If you're only interested in Linux, then yes, as long as _only_ the
> real file libstdc++.so.x.y.z (and not libstdc++.so) is linked.
> But, on SunOS this would fail, because the bloody ld.so there
> will always happily use the lib with the highest version number :-(
> 
>  > 
>  > I wonder what's the best thing to do on Linux, since I also could modify
>  > /etc/ld.so.conf on the fly and add $(libsubdir) while installing the RPM.
> 
> For me defining LD_RUN_PATH at linktime seems to be the best solution.
> 

I don't like it. I like to be able to mov the shared libraries around
and I don't want to keep all $(libsubdir). How about install it in
$(libdir)/$(version) for SunOS?


H.J.

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~1998-06-26 18:46 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1998-06-23 19:23 libstdc++ soname in egcs 1.1 and 1.0.3 H.J. Lu
1998-06-24 12:27 ` Manfred Hollstein
1998-06-25 12:07   ` Carlo Wood
1998-06-25 22:18     ` Manfred Hollstein
1998-06-26  2:49       ` Franz Sirl
     [not found]       ` <E0ypV80-0006dq-00@ks.sel.alcatel.de>
1998-06-26  5:13         ` Manfred Hollstein
1998-06-26 13:03           ` Alex Buell
1998-06-26 18:46           ` H.J. Lu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).