------- Comment #4 from jay dot krell at cornell dot edu  2008-08-17 08:51 
-------
Subject: RE:  cannot find -lgcc_s


  Let's dissect the output a bit:
  Word wrap plus laziness => I didn't look closely before.


  -Wl,-rpath -Wl,/usr/local/lib/gcc/sparc64-sun-solaris2.10/4.3.1  
  -Wl,-rpath  
  -Wl,/usr/local/lib/gcc/sparc64-sun-solaris2.10/4.3.1   
  -L/obj/gcc.1/sparc64-sun-solaris2.10/sparc64-sun-solaris2.10/./ld 
  -L/usr/local/lib/gcc/sparc64-sun-solaris2.10/4.3.1 
 
-L/usr/local/lib/gcc/sparc64-sun-solaris2.10/4.3.1/../../../../sparc64-sunsolaris2.10/lib/sparcv9
 
  -L/usr/local/sparc64-sun-solaris2.10/sys-root/lib/sparcv9  
  -L/usr/local/sparc64-sun-solaris2.10/sys-root/usr/lib/sparcv9  
 
-L/usr/local/lib/gcc/sparc64-sun-solaris2.10/4.3.1/../../../../sparc64-sun-solaris2.10/lib
 
  -L/usr/local/sparc64-sun-solaris2.10/sys-root/lib  
  -L/usr/local/sparc64-sun-solaris2.10/sys-root/usr/lib  


  vs. the workaround: 


    Directory = Prefix + "/lib/gcc/sparc64-sun-solaris2.10/" + GccVersion  
    Run(".", "mkdir -p " + Directory)  
    Run(Directory, "-ln -s sparcv9/libgcc_s.so libgcc_s.so")  
    Run(Directory, "-ln -s sparcv9/libgcc_s.so.1 libgcc_s.so.1")  


 Therefore:  



 The "biarch" paths are not being applied to the "gcc .libs" paths.
    /usr/local/lib/gcc/sparc64-sun-solaris2.10/4.3.1
  but not
    /usr/local/lib/gcc/sparc64-sun-solaris2.10/4.3.1/sparcv9


 both for -Wl,-rpath and -L.
 This IS reasonable, since the tools were built with -disable-multilib, BUT
   the .libs were in fact put in sparcv9 -- at least the .so files.


(I find all the dot-dots a pain to read! I understand relocatable, and
symlinks, but still..) 

 They are being applied to the "system .libs" paths.
   sys-root/lib/sparcv9 and sys-root/usr/lib/sparcv9.


 Could be that .so file placement is not so flexible? Because they aren't
  really supposed to be placed here anyway? You know, it is very up to me
  where to place .a files, but .so files maybe more important to adhere
  to strict standards, since they are used at runtime?


 Also not shown is -enable-version-specific-runtimes or such, whatever
  I saw Cygwin using.


It SEEMS the fix is now almost obvious.
That multilib suffixes need to be applied to more prefixes.
Or alter the directory structure otherwise, via configure.


I should also try without -enable-rpath I guess.


Thank you for attention to the bug,
 - Jay




> Date: Sat, 16 Aug 2008 22:36:55 +0000
> Subject: [Bug bootstrap/37079] cannot find -lgcc_s
> To: [EMAIL PROTECTED]
> From: [EMAIL PROTECTED]
>
>
>
> ------- Comment #3 from pinskia at gcc dot gnu dot org 2008-08-16 22:36 
> -------
> What happens if you just use --with-build-sysroot= ? without saying the
> --with-sysroot?
>
>
> --
>
> pinskia at gcc dot gnu dot org changed:
>
> What |Removed |Added
> ----------------------------------------------------------------------------
> Component|c |bootstrap
>
>
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37079
>
> ------- You are receiving this mail because: -------
> You reported the bug, or are watching the reporter.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37079

Reply via email to