Re: libstdc++ and --with-sysroot

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Jon Dufresne wrote:

> I am creating a cross toolchain using gnu. So far it has been working great.
> 
> However, one problem I noticed is that libstdc++ isn't installed into
> the specified sysroot duing "make install".
> 
> After I have binutils, a static gcc, linux-headers, and glibc compiled
> this is how I build gcc:
> 
> ${BUILD}/gcc-${GCC_VERSION}/configure \
> 			--prefix=${TOOLS} \
> 			--build=${HOST} \
> 			--host=${HOST} \
> 			--target=${TARGET} \
> 			--with-sysroot=${ROOTFS} \
> 			--enable-languages=c,c++ \
> 			--disable-multilib \
> 			--disable-nls \
> 			--enable-shared \
> 			--enable-threads=posix \
> 			--enable-__cxa_atexit \
> 			--disable-libunwind-exceptions \
> 			--enable-c99 \
> 			--enable-long-long
> 
> make
> make install
> 
> The things to notice are that I use the "--with-sysroot" option and enable c++.
> 
> After the compile finishes libstdc++ is installed to
> ${TOOLS}/${TARGET}/lib and I need to manually copy it over to the
> ${ROOTFS}/usr/lib. Is this a bug in the gcc Makefile? Should libstdc++
> install to the sysroot by default like the c runtime library does? Or
> is this preferred behavior?

It's doing what it's supposed to do.  All target libs are installed in
the prefix, along with the cross-compiler.  The libs have to be there because
the cross-compiler needs them.

So, you need the target libs in two places: in /usr/lib on the target and
in prefix/*lib on the cross compiling host.

Andrew.

[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux