ライブラリのinstall不足のチェック https://seesaawiki.jp/lifewithslackzaurus_15_0/d/%a5%e9%a5%a4%a5%d6%a5%e9%a5%ea%a4%ceinstall%c9%d4%c2%ad%a4%ce%a5%c1%a5%a7%a5%c3%a5%af
で、GCCを入れないと、libquadmathは入らない。
入れなければならないのならばGCCのうち、gcc/g++を中心とする基本開発環境まで入れる。
https://seesaawiki.jp/lifewithslackarmzaurus14_1/d/INSTALL%5fORIG%5fGCC – SlackwareARM-14.1 spitz,f4s GPE メモ
を参考に、
$ cd /mnt2/slackware64/slackware/
$ sudo installpkg d/make-4.3-x86_64-3.txz
$ sudo installpkg d/gcc-11.2.0-x86_64-2.txz
$ sudo installpkg d/gcc-g++-11.2.0-x86_64-2.txz
$ sudo installpkg d/m4-1.4.19-x86_64-1.txz
$ sudo installpkg d/pkg-config-0.29.2-x86_64-4.txz
$ sudo installpkg d/perl-5.34.0-x86_64-1.tx (install済み)
$ sudo installpkg a/findutils-4.8.0-x86_64-3.txz (install済み)
$ sudo installpkg d/autoconf-2.69-noarch-4.txz
$ sudo installpkg d/automake-1.16.2-noarch-4.txz
$ sudo installpkg d/flex-2.6.4-x86_64-5.txz
$ sudo installpkg d/bison-3.8.2-x86_64-1.txz
$ sudo installpkg d/binutils-2.37-x86_64-1.txz
$ sudo installpkg d/libtool-2.4.6-x86_64-18.txz
$ sudo installpkg d/kernel-headers-5.15.19-x86-2.txz
$ sudo installpkg l/glibc-2.33-x86_64-5.txz (install済み)
$ sudo installpkg d/gettext-tools-0.21-x86_64-3.txz (install済み)
$ sudo installpkg a/sed-4.8-x86_64-3.txz (install済み)
$ sudo installpkg a/gawk-5.1.1-x86_64-1.txz (install済み)
$ sudo installpkg a/patch-2.7.6-x86_64-5.txt (install済み)
$ sudo installpkg l/ncurses–6.3-x86_64-1.txz
$ sudo installpkg ap/diffutils-3.8-x86_64-1.txz (install済み)
$ sudo installpkg a/tar-1.34-x86_64-1.txz (install済み)
$ sudo installpkg l/libzip-1.8.0-x86_64-1.txz (install済み)
$ sudo installpkg a/gzip-1.11-x86_64-1.txz (install済み)
$ sudo installpkg a/bzip2-1.0.8-x86_64-3.txz (install済み)
$ sudo installpkg d/ccache-4.5.1-x86_64-1.txz
$ sudo installpkg ap/texinfo-6.8-x86_64-3.txz
$ sudo installpkg a/file-5.41-x86_64-1.txz (install済み)
$ sudo installpkg ap/bc-1.07.1-x86_64-5.txz
不足libチェック&Inst:
https://seesaawiki.jp/lifewithslackzaurus_15_0/d/%a5%e9%a5%a4%a5%d6%a5%e9%a5%ea%a4%ceinstall%c9%d4%c2%ad%a4%ce%a5%c1%a5%a7%a5%c3%a5%af
$ sudo installpkg d/gcc-go-11.2.0-x86_64-2.txz
$ grep -E ‘bin|lib’ /var/log/packages/gcc-go-11.2.0-x86_64-2 | sed s@^@/@ | xargs ldd | grep found
(依存libの不足はなかった)
$ LANG=C LC_ALL=POSIX gcc -v
Reading specs from /usr/lib64/gcc/x86_64-slackware-linux/11.2.0/specs
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-slackware-linux/11.2.0/lto-wrapper
Target: x86_64-slackware-linux
Configured with: ../configure –prefix=/usr –libdir=/usr/lib64 –mandir=/usr/man –infodir=/usr/info –enable-shared –enable-bootstrap –enable-languages=ada,brig,c,c++,d,fortran,go,lto,objc,obj-c++ –enable-threads=posix –enable-checking=release –enable-objc-gc –with-system-zlib –enable-libstdcxx-dual-abi –with-default-libstdcxx-abi=new –disable-libstdcxx-pch –disable-libunwind-exceptions –enable-__cxa_atexit –disable-libssp –enable-gnu-unique-object –enable-plugin –enable-lto –disable-install-libiberty –disable-werror –with-gnu-ld –with-isl –verbose –with-arch-directory=amd64 –disable-gtktest –enable-clocale=gnu –disable-multilib –target=x86_64-slackware-linux –build=x86_64-slackware-linux –host=x86_64-slackware-linux
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 11.2.0 (GCC)
$ echo ‘int main(){return 0;}’ > dummy.c
$ gcc dummy.c
$ file a.out
a.out: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, with debug_info, not stripped
$ ldd a.out
\ linux-vdso.so.1 (0x00007ffeab7dd000) <- こんなのspitzにはいない。
\ libc.so.6 => /lib64/libc.so.6 (0x00007fe6c2c64000)
\ /lib64/ld-linux-x86-64.so.2 (0x00007fe6c2e5d000)
\
linux-vdso.so とは、でググった:
システムコールを利用するためにカーネルが提供する仮想的な共有ライブラリ
https://qiita.com/akachochin/items/d5d1ba84fefae2f781f3
頻繁に呼び出されるシステムコールをカーネル空間に切り替えることなくユーザ空間で処理
させることにより性能を向上させる
参考情報:
ここで言ってるLSBとは、MSB/LSB(endian)のこと。Linux Standard Baseではない。(2024.08)
\
https://e-words.jp/w/LSB-1.html
LSBとは、Linuxの各ディストリビューション(配布パッケージ)間の互換性や相互運用性を高めるため、一部の仕様の標準を定めた規格。準拠ディストリビューション間では基本的に同じアプリケーションを修正・調整せずにそのまま動作させることができる。Linux Standard Base。
https://linux.srad.jp/story/23/03/09/1421247/
https://forums.debian.net/viewtopic.php?t=144143
DebianとかにはLSBのpkgがある。
Installまたは展開時のメッセージ:
\# gcc (Base GCC package with C support)
\# GCC is the GNU Compiler Collection.
\# This package contains those parts of the compiler collection needed to
\# compile C code. Other packages add Ada, C++, D, Fortran, Go,
\# Objective-C, and BRIG support to the compiler core.
\
\# gcc-go (Go support for GCC)
\# Go is a compiled, garbage-collected, concurrent programming language
\# developed by Google Inc. The initial design of Go was started in
\# September 2007 by Robert Griesemer, Rob Pike, and Ken Thompson.
\# Rob Pike has stated that Go is being used “for real stuff” at Google.
\# Go’s “gc” compiler targets the Linux, Mac OS X, FreeBSD, OpenBSD and
\# Microsoft Windows operating systems, and the i386, amd64, and ARM
\# processor architectures.
\# Homepage: http://golang.org