On 5/10/19 5:25 PM, Niels Terp wrote:
Hey, I’m kind of new here. I build LFS several times a few years ago,
but then got busy with other things.
Now I’m back, I’m following current stable lfs, and here is my first
problem:
I have a script that builds the temporary system. Since i want to
install RPM, I continue with the deps of RPM, among wich is elfutils.
It is set up like chapter 6.48.1 with ./configure –prefix=/tools
–program-prefix=”eu-”
When I run ”make” I get these errors:
CC dwarf_next_lines.os
AR libdw.a
AR libdw_pic.a
CCLD libdw.so
/mnt/lfs/tools/bin/../lib/gcc/x86_64-pc-linux-gnu/8.2.0/../../../../x86_64-pc-linux-gnu/bin/ld:
/mnt/lfs/tools/bin/../lib/gcc/x86_64-pc-linux-gnu/8.2.0/../../../../lib64/libbz2.a(bzlib.o):
relocation R_X86_64_32S against symbol `BZ2_crc32Table' can not be
used when making a shared object; recompile with -fPIC
/mnt/lfs/tools/bin/../lib/gcc/x86_64-pc-linux-gnu/8.2.0/../../../../x86_64-pc-linux-gnu/bin/ld:
/mnt/lfs/tools/bin/../lib/gcc/x86_64-pc-linux-gnu/8.2.0/../../../../lib64/libbz2.a(compress.o):
relocation R_X86_64_32 against `.rodata.str1.1' can not be used when
making a shared object; recompile with -fPIC
/mnt/lfs/tools/bin/../lib/gcc/x86_64-pc-linux-gnu/8.2.0/../../../../x86_64-pc-linux-gnu/bin/ld:
/mnt/lfs/tools/bin/../lib/gcc/x86_64-pc-linux-gnu/8.2.0/../../../../lib64/libbz2.a(decompress.o):
relocation R_X86_64_32S against `.rodata' can not be used when making
a shared object; recompile with -fPIC
/mnt/lfs/tools/bin/../lib/gcc/x86_64-pc-linux-gnu/8.2.0/../../../../x86_64-pc-linux-gnu/bin/ld:
/mnt/lfs/tools/bin/../lib/gcc/x86_64-pc-linux-gnu/8.2.0/../../../../lib64/libbz2.a(blocksort.o):
relocation R_X86_64_32 against `.rodata.str1.1' can not be used when
making a shared object; recompile with -fPIC
/mnt/lfs/tools/bin/../lib/gcc/x86_64-pc-linux-gnu/8.2.0/../../../../x86_64-pc-linux-gnu/bin/ld:
final link failed: nonrepresentable section on output
collect2: error: ld returned 1 exit status
make[3]: *** [Makefile:1372: libdw.so] Error 1
make[2]: *** [Makefile:614: all] Error 2
make[1]: *** [Makefile:485: all-recursive] Error 1
make: *** [Makefile:401: all] Error 2
The full log file is enclosed.
I see that I have to recompile with -fPIC – but how do I do that ?
Bzip2 is the problem child, here this is a snippet from my build scripts
(tools.sh) and it will "correct" your problem
set -o errexit # exit if error...insurance ;)
set -o nounset # exit if variable not initalized
set +h # disable hashall
# Common variables
PRGNAME=${0##*/} # script name minus the path
TOPDIR=${PWD} # this directory
PARENT=/usr/src/LFS-RPM # build system master directory
LOGFILE=$(date +%Y-%m-%d).log # Not Used
MKFLAGS="-j 1" # Number of cpu to use in building pkgs
default = 1
# environment from lfs user
LFS=/mnt/lfs # where the build will be
LC_ALL=POSIX
LFS_TGT=${HOSTTYPE}-lfs-linux-gnu
PATH=/tools/bin:/bin:/usr/bin
export LFS LC_ALL LFS_TGT PATH
function msg {
printf "%s\n" "${1}"
return
}
function msg_line {
printf "%s" "${1}"
return
}
function msg_success {
local _green="\\033[1;32m"
local _normal="\\033[0;39m"
printf "${_green}%s${_normal}\n" "SUCCESS"
return
}
function clean_build-directory {
msg_line "Cleaning BUILD directory: "
rm -rf ${TOPDIR}/BUILD/*
rm -rf ${TOPDIR}/BUILDROOT/*
msg_success
return
}
function Bzip {
# Bzip2-1.0.6
local pkg=bzip2-1.0.6.tar.gz
local pkg_dir=${pkg%%.tar*}
local logfile="${TOPDIR}/LOGS/tools-${FUNCNAME}.log"
local OPTFLAGS=" -march=x86-64 -mtune=generic -O2 -pipe -fPIC "
[ -e ${logfile}.complete ] && { msg "Skipping: ${FUNCNAME}";return
0; } || msg "Building: ${FUNCNAME}"
> ${logfile}
pushd ${TOPDIR}/BUILD >> /dev/null 2>&1
unpack "${pkg}"
pushd ${pkg_dir} >> /dev/null 2>&1
msg_line " Configure: "
sed -i "s|-O2|${OPTFLAGS}|g" Makefile
sed -i "s|-O2|${OPTFLAGS}|g" Makefile-libbz2_so
msg_success
msg_line " Make: "
make ${MKFLAGS} >> ${logfile} 2>&1
msg_success
msg_line " Install: "
make PREFIX=/tools install >> ${logfile} 2>&1
msg_success
popd > /dev/null 2>&1
popd > /dev/null 2>&1
clean_build-directory
mv ${logfile} ${logfile}.complete
return
}
--
http://lists.linuxfromscratch.org/listinfo/lfs-support
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page
Do not top post on this list.
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
A: Top-posting.
Q: What is the most annoying thing in e-mail?
http://en.wikipedia.org/wiki/Posting_style