[PATCH] Always create lib32 and lib64 symlinks
Ralf Corsepius
rc040203@freenet.de
Wed Sep 29 14:55:00 GMT 2010
On 09/29/2010 04:50 PM, Anthony Foiani wrote:
> On Wed, Sep 29, 2010 at 8:40 AM, Ralf Corsepius<rc040203@freenet.de> wrote:
>> On 09/29/2010 04:33 PM, Anthony Foiani wrote:
>>> Always create lib32 and lib64 symlinks.
>>>
>>> Since we always remove them without checking CT_HOST, we need to
>>> create them without checking CT_HOST either.
>>>
>> Again, this is all wrong on multi-arch'ed systems (e.g. Fedora).
>>
>> You must not symlink 32bit libraries to 64bit libraries and vice versa.
> Ralf --
>
> This is actually creating a place for the crosstool-NG tools to put
> build libraries as they're built; it's not the system libraries
> themselves.
>
> And, once again, my build completed with this patch, and it died
> without it.
Again, this doesn't mean anything.
> Note that these symlinks are deleted without any
> conditional in do_finish:
>
> # Remove the lib* symlinks, now:
> # The symlinks are needed only during the build process.
> # The final gcc will still search those dirs, but will also search
> # the standard lib/ dirs, so we can get rid of the symlinks
> for d in \
> "${CT_PREFIX_DIR}" \
> "${CT_SYSROOT_DIR}" \
> "${CT_SYSROOT_DIR}/usr" \
> "${CT_PREFIX_DIR}/${CT_TARGET}" \
> ; do
> CT_DoExecLog ALL rm -f "${d}/lib32"
> CT_DoExecLog ALL rm -f "${d}/lib64"
> done
>
> When I tried to use the stock version of crosstool-NG.sh.in, the build
> failed at the end because the lib64 directory was created and had
> "libiberty.a" within it.
Right, crosstools doesn't handle multilibs/multiarchs correctly ... nor
does your approach.
Ralf
--
For unsubscribe information see http://sourceware.org/lists.html#faq
More information about the crossgcc
mailing list