Opened 5 years ago

Closed 5 years ago

#1027 closed task (fixed)

Glibc 2.22

Reported by: chris@… Owned by: clfs-commits@…
Priority: major Milestone: CLFS Standard 3.1.0
Component: BOOK Version: CLFS Standard GIT
Keywords: Cc: berzerkula@…, jonathan@…, chris@…

Description (last modified by William Harrington)

http://ftp.gnu.org/gnu/glibc/glibc-2.22.tar.xz

New version.

No need for config.cache when using gcc's --with-glibc-version option. SSP selected properly.

Change History (10)

comment:1 Changed 5 years ago by chris@…

There is Glibc 2.22 now. It includes a new library called "libmvec" but apparently that lib cannot be directly linked to. The test-installation.pl script errors out:

tools/lib/gcc/x86_64-unknown-linux-gnu/5.1.0/../../../../x86_64-unknown-linux-gnu/bin/ld: cannot find -lmvec

Built Glibc with --disable-libmvec, which does prevent the lib from being installed, but test-installation.pl still tries linking to it anyway. A temporary solution would be just to prevent test-installation.pl from trying to link to it:

sed -i 's/libgcc_s"/& \&\& $name ne "mvec"/' scripts/test-installation.pl

comment:2 Changed 5 years ago by William Harrington

Description: modified (diff)
Milestone: CLFS Standard 3.1.0
Summary: Glibc 2.21Glibc 2.22
Version: CLFS Standard GIT

comment:3 in reply to:  1 Changed 5 years ago by William Harrington

Replying to chris@…:

There is Glibc 2.22 now. It includes a new library called "libmvec" but apparently that lib cannot be directly linked to. The test-installation.pl script errors out:

tools/lib/gcc/x86_64-unknown-linux-gnu/5.1.0/../../../../x86_64-unknown-linux-gnu/bin/ld: cannot find -lmvec

I didn't encounter this with my current x86_64-64 build. I'll keep an eye out for it though.

comment:4 Changed 5 years ago by William Harrington

For final system:

make check

No longer need

make -k check 2>&1 | tee glibc-check-log; grep Error glibc-check-log

For pure64-bit, may want to also remove reference to libx32 in /usr/bin/ldd along with lib64.

comment:5 Changed 5 years ago by Martin Ward

i never saw any libmvec problems either with a pure 64 build, built fine

comment:6 Changed 5 years ago by William Harrington

If issues for libmvec occur in the future, we can follow this thread:

http://lists.linuxfromscratch.org/pipermail/lfs-dev/2015-August/070346.html

comment:7 Changed 5 years ago by chris@…

The modification of "ldd" to use /lib on Pure64 can be simplified. Instead of editing /usr/bin/ldd after being installed, this can be run immediately after entering the source dir:

sed -i '/RTLDLIST/d' sysdeps/unix/sysv/linux/*/ldd-rewrite.sed

This prevents the mention of "lib64" (and libx32) from being added to ldd at all. This at least works on x86_64-64, please try testing other archs.

This is shorter and simpler than the current command, can use the same command for all archs (though of course this can be slightly modified to specify an arch rather than using "*" to edit all the scripts - e.g. "ia64" for x86_64), and I generally prefer making these modifications as early as possible in the build process.

Also (again, for Pure64), "libc_cv_rtlddir=/lib" does not need to be specified in config.cache. The default for "rtlddir" is to be assigned the value for "slibdir", so only "slibdir" needs to be specified.

comment:8 Changed 5 years ago by William Harrington

Using the boot method and a vmware workstation 11 host with debian testing as of 9/24/2015. I have the following:

/sources/glibc-build/tests.sum
XPASS: conform/ISO11/complex.h/conform
XPASS: conform/ISO11/stdalign.h/conform
XPASS: conform/ISO11/stdnoreturn.h/conform
FAIL: elf/tst-protected1a
FAIL: elf/tst-protected1b
FAIL: inet/tst-gethnm
FAIL: nss/test-netdb
FAIL: posix/tst-getaddrinfo4
FAIL: posix/tst-getaddrinfo5
FAIL: resolv/tst-res_hconf_reorder
Summary of test results:
      7 FAIL
   2304 PASS
     88 XFAIL
      3 XPASS

My results so far. I don't want to flood the ticket with results. For those running a vm with the boot method may get this:

elf/tst-protected1a.out
`protected1' in main and moda doesn't have same address
`protected3' in main and moda doesn't have same address
`protected1' in main doesn't have the updated value
`protected1' in moda has the wrong value
`protected3' in main doesn't have the updated value
`protected3' in main doesn't have the updated value
elf/tst-protected1b.out
`protected3' in main and modb doesn't have same address
`protected3' in main doesn't have the updated value
inet/tst-gethnm.out
Timed out: killed the child process
nss/test-netdb.out
Timed out: killed the child process
posix/tst-getaddrinfo4.out
Timed out: killed the child process
posix/tst-getaddrinfo5.out
Timed out: killed the child process
resolv/tst-res_hconf_reorder.out
Timed out: killed the child process

comment:9 in reply to:  7 Changed 5 years ago by William Harrington

Replying to chris@…:

The modification of "ldd" to use /lib on Pure64 can be simplified. Instead of editing /usr/bin/ldd after being installed, this can be run immediately after entering the source dir:

sed -i '/RTLDLIST/d' sysdeps/unix/sysv/linux/*/ldd-rewrite.sed

This prevents the mention of "lib64" (and libx32) from being added to ldd at all. This at least works on x86_64-64, please try testing other archs.

Verified for x86_64-64. I'm planning a pure64 bit to 32 bit build (where the host has a 64bit kernel without 32bit emulation) to test x86. I could really use some help with multilib.

Also (again, for Pure64), "libc_cv_rtlddir=/lib" does not need to be specified in config.cache. The default for "rtlddir" is to be assigned the value for "slibdir", so only "slibdir" needs to be specified.

Verified only slibdir is needed with the current x86_64-64 build. Will test for 32bit and multilib.

comment:10 Changed 5 years ago by William Harrington

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.