Hi,
On Sat, Jun 10, 2000 at 07:45:43PM -0400, Kevin Atkinson wrote:
> Well since the ML branch was giving me soooo many problems I switched to
> the HEAD brach for the time being becuase I wan't to get a release out
> this weekend.
>
> What I discoved is the the linker that the HEAD branch uses on solaris
> EXCEPTS static libraries into the shared library. Also I siscoved that
> excpetions won't work unless g++ is used to due the linking so I
> set LD=g++ and everything works fine. Once again it links the static
> library into the shared one....
Can you be more specific? It is actually linking the static
libstdc++.a into the shared one? I just can't see why the HEAD branch
would work, and the ML branch wouldn't. If the linker accepts linking
shared libraries against static ones then we wouldn't have received
the errors that we're getting with ML branch on Solaris with a static
libstdc++. I think that we're missing something subtle here, at least
I am.
> Also when I try setting LD to g++ on linux it fails wisrably....
In what way?
> It there a way to forse the so called "file_magic" method to avoid
> putting static libraries into shared one wven if the linker will accept
> it?
>From what I understand, that's what the "file_magic" deplibs check
method is for. From libtool.m4:
# 'file_magic [regex]' -- check by looking for files in library path
# which responds to the $file_magic_cmd with a given egrep regex.
# If you have `file' or equivalent on your system and you're not sure
# whether `pass_all' will *always* work, you probably want this one.
Presumably, the following should work for solaris:
Index: libtool.m4
===================================================================
RCS file: /cvs/libtool/libtool.m4,v
retrieving revision 1.71.2.19
diff -u -r1.71.2.19 libtool.m4
--- libtool.m4 2000/05/29 17:39:25 1.71.2.19
+++ libtool.m4 2000/06/11 00:02:15
@@ -602,7 +602,10 @@
;;
solaris*)
- lt_cv_deplibs_check_method=pass_all
+ changequote(,)dnl
+ lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib'
+ changequote([, ])dnl
+ # lt_cv_deplibs_check_method=pass_all
lt_cv_file_magic_test_file=/lib/libc.so
;;
However, it would be good to get some opinions on this. I'm going to
submit this patch to libtool-patches and see what the guys think about
it, especially since I'm not sure if this is the right thing to do.
BTW, I finally got around to setting up two default GNU C++
configurations, one for when g++ uses GNU ld as its linker, and one
for the general case (simple and not as robust). I also fixed the
cases where an assumption was made that the GNU linker was used with
g++, instead of the native linker. I'll submit the patch to
libtool-patches in about half an hour. This should make the KDE guys
happy. :-)
I also added support for KCC (KAI C++) on Linux, and some support for
KCC on OSF/1 (Digital UNIX/Compaq Tru64). This still needs some
improvement, however.
-Ossama
--
Ossama Othman <[EMAIL PROTECTED]>
Distributed Object Computing Laboratory, Univ. of California at Irvine
1024D/F7A394A8 - 84ED AA0B 1203 99E4 1068 70E6 5EB7 5E71 F7A3 94A8