安装 slang-2.3.2 时出错

安装 slang-2.3.2 时出错

安装 slang-2.3.2 时出错

我正在尝试构建 BLFS 8.4 安装俚语时发生错误。这是配置、制作和安装脚本:

./configure --prefix=/usr \
            --sysconfdir=/etc \
            --with-readline=gnu &&
make -j1
make install_doc_dir=/usr/share/doc/slang-2.3.2   \
     SLSH_DOC_DIR=/usr/share/doc/slang-2.3.2/slsh \
     install-all &&

chmod -v 755 /usr/lib/libslang.so.2.3.2 \
             /usr/lib/slang/v2/modules/*.so

程序构建成功但未安装。这是错误:

/usr/bin/install -c -m 644 slang.pc /usr/lib/pkgconfig/
cd src; make install-elf
make[1]: Entering directory '/sources/BLFS/slang-2.3.2/src'
rm -f /sources/BLFS/slang-2.3.2/src/elfobjs/libslang.so.2.3.2
installing slang.h and slcurses.h in /usr/include/
/usr/bin/install -c -m 644 /sources/BLFS/slang-2.3.2/src/slang.h /usr/include/
cd /sources/BLFS/slang-2.3.2/src/elfobjs && gcc  -shared -Wl,-O1 -Wl,--version-script,/sources/BLFS/slang-2.3.2/src/slang.ver -Wl,-soname,libslang.so.2 -o libslang.so.2.3.2 sltermin.o sldisply.o slutty.o slang.o slarray.o slclass.o slcmd.o slerr.o slgetkey.o slkeymap.o slmalloc.o slmath.o slmemchr.o slmemcmp.o slmemcpy.o slmemset.o slmisc.o slparse.o slprepr.o slregexp.o slrline.o slsearch.o slsmg.o slstd.o sltoken.o sltypes.o slxstrng.o slcurses.o slscroll.o slsignal.o slkeypad.o slerrno.o slstring.o slstruct.o slcmplex.o slarrfun.o slimport.o slpath.o slarith.o slassoc.o slcompat.o slposdir.o slstdio.o slproc.o sltime.o slstrops.o slbstr.o slpack.o slintall.o slistruc.o slposio.o slnspace.o slarrmis.o slospath.o slscanf.o sllower.o slupper.o slischar.o slutf8.o slwcwidth.o slwclut.o slcommon.o sllist.o slexcept.o slfpu.o slsig.o slboseos.o  -ldl -lm -lc
/usr/bin/install -c -m 644 /sources/BLFS/slang-2.3.2/src/slcurses.h /usr/include/
/usr/bin/install -c -m 644 ../changes.txt /usr/share/doc/slang-2.3.2/
/usr/bin/install -c -m 644 ../COPYING /usr/share/doc/slang-2.3.2/
/usr/bin/install -c -m 644 ../doc/slangdoc.html /usr/share/doc/slang-2.3.2/
/usr/bin/install -c -m 644 ../doc/text/cref.txt /usr/share/doc/slang-2.3.2/
/usr/bin/install -c -m 644 ../doc/text/cslang.txt /usr/share/doc/slang-2.3.2/
/usr/bin/install -c -m 644 ../doc/text/slangfun.txt /usr/share/doc/slang-2.3.2/
/usr/bin/install -c -m 644 ../doc/text/slang.txt /usr/share/doc/slang-2.3.2/
rm -f /usr/lib/libslang.so
rm -f /usr/lib/libslang.so.2
installing libslang.so.2.3.2 in /usr/lib
/usr/bin/install -c /sources/BLFS/slang-2.3.2/src/elfobjs/libslang.so.2.3.2 /usr/lib/
cd /usr/lib && /bin/ln -sf libslang.so.2.3.2 libslang.so.2
cd /usr/lib && /bin/ln -sf libslang.so.2 libslang.so

libslang.so.2.3.2 created in /usr/lib.
The links libslang.so and libslang.so.2 to libslang.so.2.3.2 were also created.

if [ libslang.so.2 != libslang.so.2.3.2 ]; then \
  cd /sources/BLFS/slang-2.3.2/src/elfobjs && rm -f libslang.so.2 && /bin/ln -sf libslang.so.2.3.2 libslang.so.2; \
fi
cd /sources/BLFS/slang-2.3.2/src/elfobjs && rm -f libslang.so && /bin/ln -sf libslang.so.2.3.2 libslang.so

libslang.so.2.3.2 created in /sources/BLFS/slang-2.3.2/src/elfobjs.
The link libslang.so to libslang.so.2.3.2 was also created.

make[1]: Leaving directory '/sources/BLFS/slang-2.3.2/src'
Now installing slsh
cd slsh; make install
make[1]: Entering directory '/sources/BLFS/slang-2.3.2/slsh'
gcc -g -O2   objs/slsh.o objs/readline.o -o objs/slsh  -Wl,-export-dynamic -L/usr/lib -Wl,-R/usr/lib -L/usr/lib -lslang -lreadline -ldl  -lm
/sources/BLFS/slang-2.3.2/autoconf/mkinsdir.sh /usr/bin
/sources/BLFS/slang-2.3.2/autoconf/mkinsdir.sh /usr/share/man/man1
/usr/bin/ld: /usr/lib/libslang.so: file not recognized: file truncated
collect2: error: ld returned 1 exit status
make[1]: *** [Makefile:95: objs/slsh] Error 1
make[1]: *** Waiting for unfinished jobs....
/sources/BLFS/slang-2.3.2/autoconf/mkinsdir.sh /etc
/sources/BLFS/slang-2.3.2/autoconf/mkinsdir.sh /usr/share/slsh
/sources/BLFS/slang-2.3.2/autoconf/mkinsdir.sh /usr/share/slsh/rline
/sources/BLFS/slang-2.3.2/autoconf/mkinsdir.sh /usr/share/slsh/help
/sources/BLFS/slang-2.3.2/autoconf/mkinsdir.sh /usr/share/slsh/local-packages
/sources/BLFS/slang-2.3.2/autoconf/mkinsdir.sh /usr/share/slsh/scripts
/sources/BLFS/slang-2.3.2/autoconf/mkinsdir.sh /usr/share/doc/slang-2.3.2/slsh/html
make[1]: Leaving directory '/sources/BLFS/slang-2.3.2/slsh'
make: *** [Makefile:87: install-elf] Error 2

答案1

添加-j1make调用中,

make -j1 install_doc_dir=/usr/share/doc/slang-2.3.2 \
    SLSH_DOC_DIR=/usr/share/doc/slang-2.3.2/slsh \
    install-all &&
chmod -v 755 /usr/lib/libslang.so.2.3.2 \
             /usr/lib/slang/v2/modules/*.so

对于安装步骤,而不是make书中给出的简单。

相关内容