On 08/22/15 13:52, Bruce Dubbs wrote:
> Pi LFS wrote:
>> On 08/22/2015 01:15 AM, xinglp wrote:
>>> The error is "cannot find -lmvec". I tried to use "--disable-mathvec",
>>> but not work.
>>>
>>> more log:
>>> ========================
>>> then echo 'stubs.h unchanged'; \
>>> else /tools/bin/install -c -m 644 /sources/glibc-build/stubs.h
>>> /usr/include/gnu/stubs-32.h; fi
>>> stubs.h unchanged
>>> rm -f /sources/glibc-build/stubs.h
>>> /sources/glibc-build/elf/sln /sources/glibc-build/elf/symlink.list
>>> rm -f /sources/glibc-build/elf/symlink.list
>>> test ! -x /sources/glibc-build/elf/ldconfig || LC_ALL=C \
>>>     /sources/glibc-build/elf/ldconfig  \
>>>                           /lib /usr/lib
>>> LD_SO=ld-linux.so.2 CC="gcc" /usr/bin/perl
>>> scripts/test-installation.pl /sources/glibc-build/
>>>
>> /tools/lib/gcc/i686-pc-linux-gnu/5.2.0/../../../../i686-pc-linux-gnu/bin/ld:
>>> cannot find -lmvec
>>> collect2: error: ld returned 1 exit status
>>> Execution of gcc failed!
>>> The script has found some problems with your installation!
>>> Please read the FAQ and the README file and check the following:
>>> - Did you change the gcc specs file (necessary after upgrading from
>>>     Linux libc5)?
>>> - Are there any symbolic links of the form libXXX.so to old libraries?
>>>     Links like libm.so -> libm.so.5 (where libm.so.5 is an old library)
>> are wrong,
>>>     libm.so should point to the newly installed glibc file - and there
>> should be
>>>     only one such link (check e.g. /lib and /usr/lib)
>>> You should restart this script from your build directory after you've
>>> fixed all problems!
>>> Btw. the script doesn't work if you're installing GNU libc not as your
>>> primary library!
>>> Makefile:108: recipe for target 'install' failed
>>> make[2]: *** [install] Error 1
>>> make[2]: Leaving directory '/sources/glibc-2.22'
>>> Makefile:12: recipe for target 'install' failed
>>> make[1]: *** [install] Error 2
>>> make[1]: Leaving directory '/sources/glibc-build'
>>>
>>
>> Greetings,
>> I'm the PiLFS guy from http://www.intestinate.com/pilfs
>> I ran into this issue building glibc 2.22 on ARM.
>>
>>> From what I understand, the mvec code is strictly for x86_64 at this point,
>> yet the library name ends up in "glibc-build/soversions.mk" on all
>> platforms, which is referenced by "scripts/test-installation.pl" to
>> determine what libraries to test-link to.
>>
>> Because I didn't have the time to figure out how/where mvec ends up in
>> soversions.mk, I came up with this small patch:
>>
>> --- glibc-2.22-orig/scripts/test-installation.pl    2015-08-14
>> 19:06:51.543327102 -0400
>> +++ glibc-2.22/scripts/test-installation.pl    2015-08-14 19:07:51.623396840 
>> -0400
>> @@ -111,9 +111,11 @@
>>       # - libthread_db since it contains unresolved references
>>       # - it's just a test NSS module
>>       # - We don't provide the libgcc so we don't test it
>> +    # - libmvec is not implemented on ARM
>>       if ($name ne "nss_ldap" && $name ne "db1"
>>       && !($name =~/^nss1_/) && $name ne "thread_db"
>> -    && $name ne "nss_test1" && $name ne "libgcc_s") {
>> +    && $name ne "nss_test1" && $name ne "libgcc_s"
>> +    && $name ne "mvec") {
>>         $link_libs .= " -l$name";
>>         $versions{$name} = $version;
>>       }
> 
> OK, I need to have someone building on a 32-bit system to try adding this to 
> the beginning of glibc in both Chapter 5 and 6:
> 
> case $(uname -m) in
>   i?86 ) sed -e 's/libgcc_s"/& \&\& $name ne "mvec"/' \
>              -i scripts/test-installation.pl ;;
> esac
> 
> Please let me know if that works.
> 
>   -- Bruce

There's a recent commit on the glibc 2.22 release branch that fixes this.
9031106ea063f0476bdabf3f5ec22758cdcf987b from Andrew Senkevich on Wed Aug 19.

-Charles

-- 
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Reply via email to