thin-provisioning-tools
thin-provisioning-tools copied to clipboard
Cross-compiling with musl-cross-make doesn't link to target libraries
Hello.
Trying to bring thin-volume-provisioning inside of the Heads project.
My problem is that even if I force host and target hosts, point to where include files and libs are stored, it seems that thin-provisioning-tools picks up the build environement libraries (/lib64/ld-linux-x86-64.so.2 libdl.so.2 and libstdc++.so.6, that don't exist in target environement, which only provides libc.so, libaio.so.1 and libexpat.so.1 correctly, as defined below) and builds against build host ones.
So far I've created the following configuration files:
module/libexpat:
modules-$(CONFIG_THIN-PROVISIONING-TOOLS) += libexpat
libexpat_version := R_2_2_9
libexpat_dir := libexpat-$(libexpat_version)
libexpat_tar := libexpat-$(libexpat_version).tar.gz
libexpat_url := https://codeload.github.com/libexpat/libexpat/tar.gz/$(libexpat_version)
libexpat_hash := c341ac8c79e021cc3392a6d76e138e62d1dd287592cb455148540331756a2208
libexpat_configure := \
cd expat && \
./buildconf.sh && \
./configure \
$(CROSS_TOOLS) \
--host i386-elf-linux \
--prefix "/" \
--libexecdir "/bin" \
libexpat_target := \
$(MAKE_JOBS); \
$(MAKE) -C $(build)/$(libexpat_dir)/expat \
$(CROSS_TOOLS) \
DESTDIR="$(INSTALL)" \
install-strip
libexpat_libraries := \
expat/./lib/.libs/libexpat.so.1 \
expat/./lib/.libs/libexpat.so.1.6.11 \
libexpat_depends := $(musl_dep)
Which builds fine. strings of the libraries shows no dependency to local build host.
ldd build/libexpat-R_2_2_9/expat/lib/.libs/libexpat.so
build/libexpat-R_2_2_9/expat/lib/.libs/libexpat.so: error while loading shared libraries: /lib64/libc.so: invalid ELF header
which is good on the build host.
modules/libaio
modules-$(CONFIG_THIN-PROVISIONING-TOOLS) += libaio
libaio_version := 0.3.112
libaio_dir := libaio-$(libaio_version)
libaio_tar := libaio-$(libaio_version).tar.gz
libaio_url := https://releases.pagure.org/libaio/$(libaio_tar)
libaio_hash := ab0462f2c9d546683e5147b1ce9c195fe95d07fac5bf362f6c01637955c3b492
#CFLAGS line based on https://github.com/crossbuild/libaio/commit/59ca03a10ba7aa21c610bbe22e222c11351f1b94#diff-f57f2991a6aa25fe45d8036c51bf8b4dR5-R6
#CFLAGS+="-I$(INSTALL)/include -nostdlib -nostartfiles -Wall -I. -fPIC" \
libaio_target := \
$(MAKE_JOBS) \
$(CROSS_TOOLS) \
prefix="/" \
LDFLAGS="-L$(INSTALL)/lib" \
DESTDIR="$(INSTALL)" \
install \
&& cp $(build)/$(libaio_dir)/src/libaio.so.1.0.1 $(build)/$(libaio_dir)/src/libaio.so.1
libaio_libraries := \
src/libaio.so.1
libaio_depends := libexpat $(musl_dep)
This builds fine. No external librairies shown with strings, and:
ldd build/libaio-0.3.112/src/libaio.so.1
build/libaio-0.3.112/src/libaio.so.1: error while loading shared libraries: /lib64/libc.so: invalid ELF header
which is good since we are on the build host.
Now the tricky part.
modules/thin-provisioning-tools
modules-$(CONFIG_THIN-PROVISIONING-TOOLS) += thin-provisioning-tools
thin-provisioning-tools_version := 0.8.5
thin-provisioning-tools_dir := thin-provisioning-tools-$(thin-provisioning-tools_version)
thin-provisioning-tools_tar := $(thin-provisioning-tools_version).tar.gz
thin-provisioning-tools_url := https://codeload.github.com/jthornber/thin-provisioning-tools/tar.gz/v$(thin-provisioning-tools_version)
thin-provisioning-tools_hash := 377f40ba6331ecee025e0f39942a5d33f8eadc4d68b484f5fce189f03dd9f662
thin-provisioning-tools_configure := \
autoconf \
&& $(CROSS_TOOLS) \
./configure \
$(CROSS_TOOLS) \
--host i386-elf-linux \
--target i386-elf-linux \
--prefix "/" \
thin-provisioning-tools_target := \
$(MAKE_JOBS) \
&& $(CROSS_TOOLS) \
prefix="$(INSTALL)" \
LDFLAGS="-L$(INSTALL)/lib" \
CFLAGS="-I$(INSTALL)/include" \
DESTDIR="$(INSTALL)" \
thin-provisioning-tools_output := \
bin/cache_check \
bin/cache_dump \
bin/cache_metadata_size \
bin/cache_repair \
bin/cache_restore \
bin/era_check \
bin/era_dump \
bin/era_invalidate \
bin/era_restore \
bin/pdata_tools \
bin/thin_check \
bin/thin_delta \
bin/thin_dump \
bin/thin_generate_metadata \
bin/thin_journal_check \
bin/thin_ll_dump \
bin/thin_ll_restore \
bin/thin_ls \
bin/thin_metadata_size \
bin/thin_repair \
bin/thin_restore \
bin/thin_rmap \
bin/thin_scan \
bin/thin_show_duplicates \
bin/thin_show_metadata \
thin-provisioning-tools_depends := libexpat libaio $(musl_dep)
Builds fine. But against /lib64/ld-linux-x86-64.so.2 of the build host (shown by strings) instead of libc.so under LDFLAGS. It is also linked against libdl.so.2 and libstdc++.so.6, which don't exist under LIBS. Also, ldd is successful, which is bad:
ldd build/thin-provisioning-tools-0.8.5/bin/pdata_tools
linux-vdso.so.1 (0x00007ffd547b0000)
libaio.so.1 => /lib64/libaio.so.1 (0x000073e60390a000)
libexpat.so.1 => /lib64/libexpat.so.1 (0x000073e6038dc000)
libdl.so.2 => /lib64/libdl.so.2 (0x000073e6038d6000)
libstdc++.so.6 => /lib64/libstdc++.so.6 (0x000073e6036dc000)
libm.so.6 => /lib64/libm.so.6 (0x000073e603596000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x000073e60357c000)
libc.so.6 => /lib64/libc.so.6 (0x000073e6033b4000)
/lib64/ld-linux-x86-64.so.2 (0x000073e603935000)
The result should be the same as with libaio and libexpat above.
build/log/thin-provisioning-tools.configure.log
autoconf && CC=/home/user/heads/crossgcc/bin/x86_64-linux-musl-gcc -fdebug-prefix-map=/home/user/heads=heads -gno-record-gcc-switches -D__MUSL__ -I/home/user/heads/install/include -L/home/user/heads/install/lib AR=/home/user/heads/crossgcc/bin/x86_64-linux-musl-ar LD=/home/user/heads/crossgcc/bin/x86_64-linux-musl-ld STRIP=/home/user/heads/crossgcc/bin/x86_64-linux-musl-strip NM=/home/user/heads/crossgcc/bin/x86_64-linux-musl-nm OBJCOPY=/home/user/heads/crossgcc/bin/x86_64-linux-musl-objcopy OBJDUMP=/home/user/heads/crossgcc/bin/x86_64-linux-musl-objdump PKG_CONFIG_PATH=/home/user/heads/install/lib/pkgconfig PKG_CONFIG_SYSROOT_DIR=/home/user/heads/install PKG_CONFIG=/bin/false MODPROBE_CMD=/bin/false ac_cv_func_malloc_0_nonnull=yes ac_cv_func_realloc_0_nonnull=yes ./configure CC=/home/user/heads/crossgcc/bin/x86_64-linux-musl-gcc -fdebug-prefix-map=/home/user/heads=heads -gno-record-gcc-switches -D__MUSL__ -I/home/user/heads/install/include -L/home/user/heads/install/lib AR=/home/user/heads/crossgcc/bin/x86_64-linux-musl-ar LD=/home/user/heads/crossgcc/bin/x86_64-linux-musl-ld STRIP=/home/user/heads/crossgcc/bin/x86_64-linux-musl-strip NM=/home/user/heads/crossgcc/bin/x86_64-linux-musl-nm OBJCOPY=/home/user/heads/crossgcc/bin/x86_64-linux-musl-objcopy OBJDUMP=/home/user/heads/crossgcc/bin/x86_64-linux-musl-objdump PKG_CONFIG_PATH=/home/user/heads/install/lib/pkgconfig PKG_CONFIG_SYSROOT_DIR=/home/user/heads/install --host i386-elf-linux --target i386-elf-linux --prefix /
checking build system type... x86_64-unknown-linux-gnu
checking host system type... i386-elf-linux-gnu
checking target system type... i386-elf-linux-gnu
checking for i386-elf-linux-g++... no
checking for g++... g++
checking whether the C++ compiler works... yes
checking for C++ compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking for i386-elf-linux-gcc... /home/user/heads/crossgcc/bin/x86_64-linux-musl-gcc -fdebug-prefix-map=/home/user/heads=heads -gno-record-gcc-switches -D__MUSL__ -I/home/user/heads/install/include -L/home/user/heads/install/lib
checking whether we are using the GNU C compiler... yes
checking whether /home/user/heads/crossgcc/bin/x86_64-linux-musl-gcc -fdebug-prefix-map=/home/user/heads=heads -gno-record-gcc-switches -D__MUSL__ -I/home/user/heads/install/include -L/home/user/heads/install/lib accepts -g... yes
checking for /home/user/heads/crossgcc/bin/x86_64-linux-musl-gcc -fdebug-prefix-map=/home/user/heads=heads -gno-record-gcc-switches -D__MUSL__ -I/home/user/heads/install/include -L/home/user/heads/install/lib option to accept ISO C89... none needed
checking for a sed that does not truncate output... /usr/bin/sed
checking for gawk... gawk
checking whether ln -s works... yes
checking whether make sets $(MAKE)... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for a BSD-compatible install... /usr/bin/install -c
checking for i386-elf-linux-strip... /home/user/heads/crossgcc/bin/x86_64-linux-musl-strip
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... no
checking how to run the C++ preprocessor... g++ -E
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking whether strerror_r is declared... yes
checking for strerror_r... yes
checking whether strerror_r returns char *... yes
checking expat.h usability... yes
checking expat.h presence... yes
checking for expat.h... yes
checking iostream usability... yes
checking iostream presence... yes
checking for iostream... yes
checking libaio.h usability... yes
checking libaio.h presence... yes
checking for libaio.h... yes
checking boost/bind.hpp usability... yes
checking boost/bind.hpp presence... yes
checking for boost/bind.hpp... yes
checking boost/crc.hpp usability... yes
checking boost/crc.hpp presence... yes
checking for boost/crc.hpp... yes
checking boost/lexical_cast.hpp usability... yes
checking boost/lexical_cast.hpp presence... yes
checking for boost/lexical_cast.hpp... yes
checking boost/noncopyable.hpp usability... yes
checking boost/noncopyable.hpp presence... yes
checking for boost/noncopyable.hpp... yes
checking boost/optional.hpp usability... yes
checking boost/optional.hpp presence... yes
checking for boost/optional.hpp... yes
checking boost/shared_ptr.hpp usability... yes
checking boost/shared_ptr.hpp presence... yes
checking for boost/shared_ptr.hpp... yes
checking boost/static_assert.hpp usability... yes
checking boost/static_assert.hpp presence... yes
checking for boost/static_assert.hpp... yes
checking file owner...
checking group owner...
checking whether to enable debugging... no
checking for C++ optimisation flag... -O8
checking whether to enable unit testing... no
checking whether to enable development tools... no
checking whether to statically link libstdc++... no
checking whether to statically link... no
checking getopt.h usability... yes
checking getopt.h presence... yes
checking for getopt.h... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating contrib/Makefile
config.status: creating unit-tests/Makefile
config.status: creating version.h
cat build/log/thin-provisioning-tools.log
make -C "/home/user/heads/build/thin-provisioning-tools-0.8.5" && CC=/home/user/heads/crossgcc/bin/x86_64-linux-musl-gcc -fdebug-prefix-map=/home/user/heads=heads -gno-record-gcc-switches -D__MUSL__ -I/home/user/heads/install/include -L/home/user/heads/install/lib AR=/home/user/heads/crossgcc/bin/x86_64-linux-musl-ar LD=/home/user/heads/crossgcc/bin/x86_64-linux-musl-ld STRIP=/home/user/heads/crossgcc/bin/x86_64-linux-musl-strip NM=/home/user/heads/crossgcc/bin/x86_64-linux-musl-nm OBJCOPY=/home/user/heads/crossgcc/bin/x86_64-linux-musl-objcopy OBJDUMP=/home/user/heads/crossgcc/bin/x86_64-linux-musl-objdump PKG_CONFIG_PATH=/home/user/heads/install/lib/pkgconfig PKG_CONFIG_SYSROOT_DIR=/home/user/heads/install prefix=/home/user/heads/install LDFLAGS=-L/home/user/heads/install/lib CFLAGS=-I/home/user/heads/install/include DESTDIR=/home/user/heads/install
make[1]: Entering directory '/home/user/heads/build/thin-provisioning-tools-0.8.5'
[CXX] base/output_file_requirements.cc
[DEP] base/output_file_requirements.cc
[CXX] base/application.cc
[DEP] base/application.cc
[CXX] base/base64.cc
[DEP] base/base64.cc
[CXX] base/disk_units.cc
[DEP] base/disk_units.cc
[CXX] base/endian_utils.cc
[DEP] base/endian_utils.cc
[CXX] base/error_state.cc
[DEP] base/error_state.cc
[CXX] base/error_string.cc
[DEP] base/error_string.cc
[CXX] base/grid_layout.cc
[DEP] base/grid_layout.cc
[CXX] base/file_utils.cc
[DEP] base/file_utils.cc
[CXX] base/progress_monitor.cc
[DEP] base/progress_monitor.cc
[CXX] base/rolling_hash.cc
[DEP] base/rolling_hash.cc
[CXX] base/xml_utils.cc
[DEP] base/xml_utils.cc
[CXX] block-cache/block_cache.cc
[DEP] block-cache/block_cache.cc
[CXX] block-cache/copier.cc
[DEP] block-cache/copier.cc
[CXX] block-cache/io_engine.cc
[DEP] block-cache/io_engine.cc
[CXX] block-cache/mem_pool.cc
[DEP] block-cache/mem_pool.cc
[CXX] caching/cache_check.cc
[DEP] caching/cache_check.cc
[CXX] caching/cache_dump.cc
[DEP] caching/cache_dump.cc
[CXX] caching/cache_metadata_size.cc
[DEP] caching/cache_metadata_size.cc
[CXX] caching/cache_repair.cc
[DEP] caching/cache_repair.cc
[CXX] caching/cache_restore.cc
[DEP] caching/cache_restore.cc
[CXX] caching/cache_writeback.cc
[DEP] caching/cache_writeback.cc
[CXX] caching/commands.cc
[DEP] caching/commands.cc
[CXX] caching/hint_array.cc
[DEP] caching/hint_array.cc
[CXX] caching/mapping_array.cc
[DEP] caching/mapping_array.cc
[CXX] caching/metadata.cc
[DEP] caching/metadata.cc
[CXX] caching/metadata_dump.cc
[DEP] caching/metadata_dump.cc
[CXX] caching/restore_emitter.cc
[DEP] caching/restore_emitter.cc
[CXX] caching/superblock.cc
[DEP] caching/superblock.cc
[CXX] caching/xml_format.cc
[DEP] caching/xml_format.cc
[CXX] era/commands.cc
[DEP] era/commands.cc
[CXX] era/era_array.cc
[DEP] era/era_array.cc
[CXX] era/era_check.cc
[DEP] era/era_check.cc
[CXX] era/era_detail.cc
[DEP] era/era_detail.cc
[CXX] era/era_dump.cc
[DEP] era/era_dump.cc
[CXX] era/era_invalidate.cc
[DEP] era/era_invalidate.cc
[CXX] era/era_restore.cc
[DEP] era/era_restore.cc
[CXX] era/metadata.cc
[DEP] era/metadata.cc
[CXX] era/metadata_dump.cc
[DEP] era/metadata_dump.cc
[CXX] era/restore_emitter.cc
[DEP] era/restore_emitter.cc
[CXX] era/superblock.cc
[DEP] era/superblock.cc
[CXX] era/writeset_tree.cc
[DEP] era/writeset_tree.cc
[CXX] era/xml_format.cc
[DEP] era/xml_format.cc
[CXX] main.cc
[DEP] main.cc
[CXX] persistent-data/checksum.cc
[DEP] persistent-data/checksum.cc
[CXX] persistent-data/data-structures/bitset.cc
[DEP] persistent-data/data-structures/bitset.cc
[CXX] persistent-data/data-structures/bloom_filter.cc
[DEP] persistent-data/data-structures/bloom_filter.cc
[CXX] persistent-data/data-structures/btree.cc
[DEP] persistent-data/data-structures/btree.cc
[CXX] persistent-data/data-structures/btree_node_checker.cc
[DEP] persistent-data/data-structures/btree_node_checker.cc
[CXX] persistent-data/error_set.cc
[DEP] persistent-data/error_set.cc
[CXX] persistent-data/file_utils.cc
[DEP] persistent-data/file_utils.cc
[CXX] persistent-data/hex_dump.cc
[DEP] persistent-data/hex_dump.cc
[CXX] persistent-data/space-maps/careful_alloc.cc
[DEP] persistent-data/space-maps/careful_alloc.cc
[CXX] persistent-data/space-maps/disk.cc
[DEP] persistent-data/space-maps/disk.cc
[CXX] persistent-data/space-maps/recursive.cc
[DEP] persistent-data/space-maps/recursive.cc
[CXX] persistent-data/space_map.cc
[DEP] persistent-data/space_map.cc
[CXX] persistent-data/transaction_manager.cc
[DEP] persistent-data/transaction_manager.cc
[CXX] thin-provisioning/commands.cc
[DEP] thin-provisioning/commands.cc
[CXX] thin-provisioning/cache_stream.cc
[DEP] thin-provisioning/cache_stream.cc
[CXX] thin-provisioning/chunk_stream.cc
[DEP] thin-provisioning/chunk_stream.cc
[CXX] thin-provisioning/device_tree.cc
[DEP] thin-provisioning/device_tree.cc
[CXX] thin-provisioning/fixed_chunk_stream.cc
[DEP] thin-provisioning/fixed_chunk_stream.cc
[CXX] thin-provisioning/human_readable_format.cc
[DEP] thin-provisioning/human_readable_format.cc
[CXX] thin-provisioning/mapping_tree.cc
[DEP] thin-provisioning/mapping_tree.cc
[CXX] thin-provisioning/metadata.cc
[DEP] thin-provisioning/metadata.cc
[CXX] thin-provisioning/metadata_checker.cc
[DEP] thin-provisioning/metadata_checker.cc
[CXX] thin-provisioning/metadata_counter.cc
[DEP] thin-provisioning/metadata_counter.cc
[CXX] thin-provisioning/metadata_dumper.cc
[DEP] thin-provisioning/metadata_dumper.cc
[CXX] thin-provisioning/pool_stream.cc
[DEP] thin-provisioning/pool_stream.cc
[CXX] thin-provisioning/restore_emitter.cc
[DEP] thin-provisioning/restore_emitter.cc
[CXX] thin-provisioning/rmap_visitor.cc
[DEP] thin-provisioning/rmap_visitor.cc
[CXX] thin-provisioning/superblock.cc
[DEP] thin-provisioning/superblock.cc
[CXX] thin-provisioning/thin_check.cc
In file included from ./persistent-data/data-structures/btree.h:420,
from ./persistent-data/data-structures/btree_counter.h:4,
from thin-provisioning/thin_check.cc:32:
./persistent-data/data-structures/btree.tcc: In member function ‘virtual int thin_provisioning::thin_check_cmd::run(int, char**)’:
./persistent-data/data-structures/btree.tcc:435:45: warning: ‘*((void*)& fs +16)’ may be used uninitialized in this function [-Wmaybe-uninitialized]
435 | validator_(create_btree_node_validator())
| ^
thin-provisioning/thin_check.cc:345:8: note: ‘*((void*)& fs +16)’ was declared here
345 | flags fs;
| ^~
[DEP] thin-provisioning/thin_check.cc
[CXX] thin-provisioning/thin_delta.cc
[DEP] thin-provisioning/thin_delta.cc
[CXX] thin-provisioning/thin_dump.cc
[DEP] thin-provisioning/thin_dump.cc
[CXX] thin-provisioning/thin_ls.cc
[DEP] thin-provisioning/thin_ls.cc
[CXX] thin-provisioning/thin_metadata_size.cc
[DEP] thin-provisioning/thin_metadata_size.cc
[CXX] thin-provisioning/thin_pool.cc
[DEP] thin-provisioning/thin_pool.cc
[CXX] thin-provisioning/thin_repair.cc
[DEP] thin-provisioning/thin_repair.cc
[CXX] thin-provisioning/thin_restore.cc
[DEP] thin-provisioning/thin_restore.cc
[CXX] thin-provisioning/thin_rmap.cc
[DEP] thin-provisioning/thin_rmap.cc
[CXX] thin-provisioning/thin_trim.cc
[DEP] thin-provisioning/thin_trim.cc
[CXX] thin-provisioning/xml_format.cc
[DEP] thin-provisioning/xml_format.cc
[CXX] thin-provisioning/shared_library_emitter.cc
[DEP] thin-provisioning/shared_library_emitter.cc
[LD] bin/pdata_tools
make[1]: Leaving directory '/home/user/heads/build/thin-provisioning-tools-0.8.5'
Any advice on what to change under modules/thin-provisioning-tools?
I'm afraid I have no experience with cross compiling so can't offer any advice. Please submit a pull request if you do get it working though.
@richfelker @GregorR ?
In global Heads's makefile (snippets):
CROSS := $(TOOLCHAIN)/crossgcc/x86_64-linux-musl/bin/x86_64-linux-musl-
heads_cc := $(CROSS)gcc \
-fdebug-prefix-map=$(pwd)=heads \
-gno-record-gcc-switches \
-D__MUSL__ \
-I$(INSTALL)/include \
-L$(INSTALL)/lib \
CROSS_TOOLS_NOCC := \
AR="$(CROSS)ar" \
LD="$(CROSS)ld" \
STRIP="$(CROSS)strip" \
NM="$(CROSS)nm" \
OBJCOPY="$(CROSS)objcopy" \
OBJDUMP="$(CROSS)objdump" \
PKG_CONFIG_PATH="$(INSTALL)/lib/pkgconfig" \
PKG_CONFIG_SYSROOT_DIR="$(INSTALL)" \
CROSS_TOOLS := \
CC="$(heads_cc)" \
$(CROSS_TOOLS_NOCC) \
checking for g++... g++
checking whether the C++ compiler works... yes
You're using the host C++ compiler.
Dependencies built against libc.so from
cat build/log/libexpat.configure.log
cd expat && ./buildconf.sh && ./configure CC=/home/user/heads/crossgcc/bin/x86_64-linux-musl-gcc -fdebug-prefix-map=/home/user/heads=heads -gno-record-gcc-switches -D__MUSL__ -I/home/user/heads/install/include -L/home/user/heads/install/lib AR=/home/user/heads/crossgcc/bin/x86_64-linux-musl-ar LD=/home/user/heads/crossgcc/bin/x86_64-linux-musl-ld STRIP=/home/user/heads/crossgcc/bin/x86_64-linux-musl-strip NM=/home/user/heads/crossgcc/bin/x86_64-linux-musl-nm OBJCOPY=/home/user/heads/crossgcc/bin/x86_64-linux-musl-objcopy OBJDUMP=/home/user/heads/crossgcc/bin/x86_64-linux-musl-objdump PKG_CONFIG_PATH=/home/user/heads/install/lib/pkgconfig PKG_CONFIG_SYSROOT_DIR=/home/user/heads/install --host i386-elf-linux --prefix / --libexecdir /bin
autoreconf: Entering directory `.'
autoreconf: configure.ac: not using Gettext
autoreconf: running: aclocal --warnings=all -I m4
autoreconf: configure.ac: tracing
autoreconf: running: libtoolize --copy
autoreconf: running: /usr/bin/autoconf --warnings=all
autoreconf: running: /usr/bin/autoheader --warnings=all
autoreconf: running: automake --add-missing --copy --no-force --warnings=all
autoreconf: Leaving directory `.'
checking build system type... x86_64-pc-linux-gnu
checking host system type... i386-elf-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for i386-elf-linux-strip... /home/user/heads/crossgcc/bin/x86_64-linux-musl-strip
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether make supports the include directive... yes (GNU style)
checking for i386-elf-linux-gcc... /home/user/heads/crossgcc/bin/x86_64-linux-musl-gcc -fdebug-prefix-map=/home/user/heads=heads -gno-record-gcc-switches -D__MUSL__ -I/home/user/heads/install/include -L/home/user/heads/install/lib
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... yes
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether /home/user/heads/crossgcc/bin/x86_64-linux-musl-gcc -fdebug-prefix-map=/home/user/heads=heads -gno-record-gcc-switches -D__MUSL__ -I/home/user/heads/install/include -L/home/user/heads/install/lib accepts -g... yes
checking for /home/user/heads/crossgcc/bin/x86_64-linux-musl-gcc -fdebug-prefix-map=/home/user/heads=heads -gno-record-gcc-switches -D__MUSL__ -I/home/user/heads/install/include -L/home/user/heads/install/lib option to accept ISO C89... none needed
checking whether /home/user/heads/crossgcc/bin/x86_64-linux-musl-gcc -fdebug-prefix-map=/home/user/heads=heads -gno-record-gcc-switches -D__MUSL__ -I/home/user/heads/install/include -L/home/user/heads/install/lib understands -c and -o together... yes
checking dependency style of /home/user/heads/crossgcc/bin/x86_64-linux-musl-gcc -fdebug-prefix-map=/home/user/heads=heads -gno-record-gcc-switches -D__MUSL__ -I/home/user/heads/install/include -L/home/user/heads/install/lib ... gcc3
checking for i386-elf-linux-ar... /home/user/heads/crossgcc/bin/x86_64-linux-musl-ar
checking the archiver (/home/user/heads/crossgcc/bin/x86_64-linux-musl-ar) interface... ar
checking whether ln -s works... yes
checking whether make sets $(MAKE)... (cached) yes
checking how to print strings... printf
checking for a sed that does not truncate output... /usr/bin/sed
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for fgrep... /usr/bin/grep -F
checking for ld used by /home/user/heads/crossgcc/bin/x86_64-linux-musl-gcc -fdebug-prefix-map=/home/user/heads=heads -gno-record-gcc-switches -D__MUSL__ -I/home/user/heads/install/include -L/home/user/heads/install/lib ... /home/user/heads/crossgcc/bin/x86_64-linux-musl-ld
checking if the linker (/home/user/heads/crossgcc/bin/x86_64-linux-musl-ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /home/user/heads/crossgcc/bin/x86_64-linux-musl-nm
checking the name lister (/home/user/heads/crossgcc/bin/x86_64-linux-musl-nm) interface... BSD nm
checking the maximum length of command line arguments... 1572864
checking how to convert x86_64-pc-linux-gnu file names to i386-elf-linux-gnu format... func_convert_file_noop
checking how to convert x86_64-pc-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /home/user/heads/crossgcc/bin/x86_64-linux-musl-ld option to reload object files... -r
checking for i386-elf-linux-objdump... /home/user/heads/crossgcc/bin/x86_64-linux-musl-objdump
checking how to recognize dependent libraries... pass_all
checking for i386-elf-linux-dlltool... no
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for i386-elf-linux-ar... (cached) /home/user/heads/crossgcc/bin/x86_64-linux-musl-ar
checking for archiver @FILE support... @
checking for i386-elf-linux-strip... (cached) /home/user/heads/crossgcc/bin/x86_64-linux-musl-strip
checking for i386-elf-linux-ranlib... no
checking for ranlib... ranlib
configure: WARNING: using cross tools not prefixed with host triplet
checking command to parse /home/user/heads/crossgcc/bin/x86_64-linux-musl-nm output from /home/user/heads/crossgcc/bin/x86_64-linux-musl-gcc -fdebug-prefix-map=/home/user/heads=heads -gno-record-gcc-switches -D__MUSL__ -I/home/user/heads/install/include -L/home/user/heads/install/lib object... ok
checking for sysroot... no
checking for a working dd... /usr/bin/dd
checking how to truncate binary pipes... /usr/bin/dd bs=4096 count=1
checking for i386-elf-linux-mt... no
checking for mt... no
checking if : is a manifest tool... no
checking how to run the C preprocessor... /home/user/heads/crossgcc/bin/x86_64-linux-musl-gcc -fdebug-prefix-map=/home/user/heads=heads -gno-record-gcc-switches -D__MUSL__ -I/home/user/heads/install/include -L/home/user/heads/install/lib -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if /home/user/heads/crossgcc/bin/x86_64-linux-musl-gcc -fdebug-prefix-map=/home/user/heads=heads -gno-record-gcc-switches -D__MUSL__ -I/home/user/heads/install/include -L/home/user/heads/install/lib supports -fno-rtti -fno-exceptions... no
checking for /home/user/heads/crossgcc/bin/x86_64-linux-musl-gcc -fdebug-prefix-map=/home/user/heads=heads -gno-record-gcc-switches -D__MUSL__ -I/home/user/heads/install/include -L/home/user/heads/install/lib option to produce PIC... -fPIC -DPIC
checking if /home/user/heads/crossgcc/bin/x86_64-linux-musl-gcc -fdebug-prefix-map=/home/user/heads=heads -gno-record-gcc-switches -D__MUSL__ -I/home/user/heads/install/include -L/home/user/heads/install/lib PIC flag -fPIC -DPIC works... yes
checking if /home/user/heads/crossgcc/bin/x86_64-linux-musl-gcc -fdebug-prefix-map=/home/user/heads=heads -gno-record-gcc-switches -D__MUSL__ -I/home/user/heads/install/include -L/home/user/heads/install/lib static flag -static works... yes
checking if /home/user/heads/crossgcc/bin/x86_64-linux-musl-gcc -fdebug-prefix-map=/home/user/heads=heads -gno-record-gcc-switches -D__MUSL__ -I/home/user/heads/install/include -L/home/user/heads/install/lib supports -c -o file.o... yes
checking if /home/user/heads/crossgcc/bin/x86_64-linux-musl-gcc -fdebug-prefix-map=/home/user/heads=heads -gno-record-gcc-switches -D__MUSL__ -I/home/user/heads/install/include -L/home/user/heads/install/lib supports -c -o file.o... (cached) yes
checking whether the /home/user/heads/crossgcc/bin/x86_64-linux-musl-gcc -fdebug-prefix-map=/home/user/heads=heads -gno-record-gcc-switches -D__MUSL__ -I/home/user/heads/install/include -L/home/user/heads/install/lib linker (/home/user/heads/crossgcc/bin/x86_64-linux-musl-ld) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking for /home/user/heads/crossgcc/bin/x86_64-linux-musl-gcc -fdebug-prefix-map=/home/user/heads=heads -gno-record-gcc-switches -D__MUSL__ -I/home/user/heads/install/include -L/home/user/heads/install/lib option to accept ISO C99... none needed
checking whether C compiler accepts -Wall... yes
checking whether C compiler accepts -Wextra... yes
checking whether C compiler accepts -fexceptions... yes
checking whether C compiler accepts -fno-strict-aliasing... yes
checking whether C compiler accepts -Wmissing-prototypes... yes
checking whether C compiler accepts -Wstrict-prototypes... yes
checking whether C compiler accepts -pedantic... yes
checking whether C compiler accepts -Wduplicated-cond... yes
checking whether C compiler accepts -Wduplicated-branches... yes
checking whether C compiler accepts -Wlogical-op... yes
checking whether C compiler accepts -Wrestrict... yes
checking whether C compiler accepts -Wnull-dereference... yes
checking whether C compiler accepts -Wjump-misses-init... yes
checking whether C compiler accepts -Wdouble-promotion... yes
checking whether C compiler accepts -Wshadow... yes
checking whether C compiler accepts -Wformat=2... yes
checking whether C compiler accepts -Wmisleading-indentation... yes
checking for i386-elf-linux-g++... no
checking for i386-elf-linux-c++... no
checking for i386-elf-linux-gpp... no
checking for i386-elf-linux-aCC... no
checking for i386-elf-linux-CC... no
checking for i386-elf-linux-cxx... no
checking for i386-elf-linux-cc++... no
checking for i386-elf-linux-cl.exe... no
checking for i386-elf-linux-FCC... no
checking for i386-elf-linux-KCC... no
checking for i386-elf-linux-RCC... no
checking for i386-elf-linux-xlC_r... no
checking for i386-elf-linux-xlC... no
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... gcc3
checking how to run the C++ preprocessor... g++ -E
checking for ld used by g++... /home/user/heads/crossgcc/bin/x86_64-linux-musl-ld
checking if the linker (/home/user/heads/crossgcc/bin/x86_64-linux-musl-ld) is GNU ld... yes
checking whether the g++ linker (/home/user/heads/crossgcc/bin/x86_64-linux-musl-ld) supports shared libraries... yes
checking for g++ option to produce PIC... -fPIC -DPIC
checking if g++ PIC flag -fPIC -DPIC works... yes
checking if g++ static flag -static works... no
checking if g++ supports -c -o file.o... yes
checking if g++ supports -c -o file.o... (cached) yes
checking whether the g++ linker (/home/user/heads/crossgcc/bin/x86_64-linux-musl-ld) supports shared libraries... yes
checking dynamic linker characteristics... (cached) GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether C++ compiler accepts -Wall... yes
checking whether C++ compiler accepts -Wextra... yes
checking whether C++ compiler accepts -fexceptions... yes
checking whether C++ compiler accepts -fno-strict-aliasing... yes
checking whether the linker accepts -fno-strict-aliasing... yes
checking whether compiler supports visibility... yes
checking for ANSI C header files... (cached) yes
checking whether byte ordering is bigendian... no
checking for an ANSI C-conforming const... yes
checking for size_t... yes
checking for arc4random_buf (BSD or libbsd)... no
checking for arc4random (BSD, macOS or libbsd)... no
checking for getrandom (Linux 3.17+, glibc 2.25+)... yes
checking for syscall SYS_getrandom (Linux 3.17+)... yes
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking for unistd.h... (cached) yes
checking for off_t... yes
checking for stdlib.h... (cached) yes
checking for unistd.h... (cached) yes
checking for sys/param.h... yes
checking for getpagesize... yes
checking for working mmap... no
checking for docbook2x-man... no
checking for db2x_docbook2man... no
checking for docbook2man... no
checking for docbook-to-man... no
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating expat.pc
config.status: creating doc/Makefile
config.status: creating examples/Makefile
config.status: creating lib/Makefile
config.status: creating tests/Makefile
config.status: creating tests/benchmark/Makefile
config.status: creating xmlwf/Makefile
config.status: creating run.sh
config.status: creating expat_config.h
config.status: expat_config.h is unchanged
config.status: executing depfiles commands
config.status: executing libtool commands
cat build/log/libexpat.log
make -C "/home/user/heads/build/libexpat-R_2_2_9" ; make -C /home/user/heads/build/libexpat-R_2_2_9/expat CC=/home/user/heads/crossgcc/bin/x86_64-linux-musl-gcc -fdebug-prefix-map=/home/user/heads=heads -gno-record-gcc-switches -D__MUSL__ -I/home/user/heads/install/include -L/home/user/heads/install/lib AR=/home/user/heads/crossgcc/bin/x86_64-linux-musl-ar LD=/home/user/heads/crossgcc/bin/x86_64-linux-musl-ld STRIP=/home/user/heads/crossgcc/bin/x86_64-linux-musl-strip NM=/home/user/heads/crossgcc/bin/x86_64-linux-musl-nm OBJCOPY=/home/user/heads/crossgcc/bin/x86_64-linux-musl-objcopy OBJDUMP=/home/user/heads/crossgcc/bin/x86_64-linux-musl-objdump PKG_CONFIG_PATH=/home/user/heads/install/lib/pkgconfig PKG_CONFIG_SYSROOT_DIR=/home/user/heads/install DESTDIR=/home/user/heads/install install-strip
make[1]: Entering directory '/home/user/heads/build/libexpat-R_2_2_9'
make[1]: *** No targets specified and no makefile found. Stop.
make[1]: Leaving directory '/home/user/heads/build/libexpat-R_2_2_9'
make[1]: Entering directory '/home/user/heads/build/libexpat-R_2_2_9/expat'
if test -z '/home/user/heads/crossgcc/bin/x86_64-linux-musl-strip'; then \
make INSTALL_PROGRAM="/bin/sh /home/user/heads/build/libexpat-R_2_2_9/expat/conftools/install-sh -c -s" \
install_sh_PROGRAM="/bin/sh /home/user/heads/build/libexpat-R_2_2_9/expat/conftools/install-sh -c -s" INSTALL_STRIP_FLAG=-s \
install; \
else \
make INSTALL_PROGRAM="/bin/sh /home/user/heads/build/libexpat-R_2_2_9/expat/conftools/install-sh -c -s" \
install_sh_PROGRAM="/bin/sh /home/user/heads/build/libexpat-R_2_2_9/expat/conftools/install-sh -c -s" INSTALL_STRIP_FLAG=-s \
"INSTALL_PROGRAM_ENV=STRIPPROG='/home/user/heads/crossgcc/bin/x86_64-linux-musl-strip'" install; \
fi
make[2]: Entering directory '/home/user/heads/build/libexpat-R_2_2_9/expat'
Making install in lib
make[3]: Entering directory '/home/user/heads/build/libexpat-R_2_2_9/expat/lib'
/bin/sh ../libtool --tag=CC --mode=compile /home/user/heads/crossgcc/bin/x86_64-linux-musl-gcc -fdebug-prefix-map=/home/user/heads=heads -gno-record-gcc-switches -D__MUSL__ -I/home/user/heads/install/include -L/home/user/heads/install/lib -DHAVE_CONFIG_H -I. -I.. -DHAVE_EXPAT_CONFIG_H -g -O2 -Wall -Wextra -fexceptions -fno-strict-aliasing -Wmissing-prototypes -Wstrict-prototypes -pedantic -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wjump-misses-init -Wdouble-promotion -Wshadow -Wformat=2 -Wmisleading-indentation -fvisibility=hidden -DXML_ENABLE_VISIBILITY=1 -MT xmlparse.lo -MD -MP -MF .deps/xmlparse.Tpo -c -o xmlparse.lo xmlparse.c
libtool: compile: /home/user/heads/crossgcc/bin/x86_64-linux-musl-gcc -fdebug-prefix-map=/home/user/heads=heads -gno-record-gcc-switches -D__MUSL__ -I/home/user/heads/install/include -L/home/user/heads/install/lib -DHAVE_CONFIG_H -I. -I.. -DHAVE_EXPAT_CONFIG_H -g -O2 -Wall -Wextra -fexceptions -fno-strict-aliasing -Wmissing-prototypes -Wstrict-prototypes -pedantic -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wjump-misses-init -Wdouble-promotion -Wshadow -Wformat=2 -Wmisleading-indentation -fvisibility=hidden -DXML_ENABLE_VISIBILITY=1 -MT xmlparse.lo -MD -MP -MF .deps/xmlparse.Tpo -c xmlparse.c -fPIC -DPIC -o .libs/xmlparse.o
libtool: compile: /home/user/heads/crossgcc/bin/x86_64-linux-musl-gcc -fdebug-prefix-map=/home/user/heads=heads -gno-record-gcc-switches -D__MUSL__ -I/home/user/heads/install/include -L/home/user/heads/install/lib -DHAVE_CONFIG_H -I. -I.. -DHAVE_EXPAT_CONFIG_H -g -O2 -Wall -Wextra -fexceptions -fno-strict-aliasing -Wmissing-prototypes -Wstrict-prototypes -pedantic -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wjump-misses-init -Wdouble-promotion -Wshadow -Wformat=2 -Wmisleading-indentation -fvisibility=hidden -DXML_ENABLE_VISIBILITY=1 -MT xmlparse.lo -MD -MP -MF .deps/xmlparse.Tpo -c xmlparse.c -o xmlparse.o >/dev/null 2>&1
mv -f .deps/xmlparse.Tpo .deps/xmlparse.Plo
/bin/sh ../libtool --tag=CC --mode=compile /home/user/heads/crossgcc/bin/x86_64-linux-musl-gcc -fdebug-prefix-map=/home/user/heads=heads -gno-record-gcc-switches -D__MUSL__ -I/home/user/heads/install/include -L/home/user/heads/install/lib -DHAVE_CONFIG_H -I. -I.. -DHAVE_EXPAT_CONFIG_H -g -O2 -Wall -Wextra -fexceptions -fno-strict-aliasing -Wmissing-prototypes -Wstrict-prototypes -pedantic -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wjump-misses-init -Wdouble-promotion -Wshadow -Wformat=2 -Wmisleading-indentation -fvisibility=hidden -DXML_ENABLE_VISIBILITY=1 -MT xmltok.lo -MD -MP -MF .deps/xmltok.Tpo -c -o xmltok.lo xmltok.c
libtool: compile: /home/user/heads/crossgcc/bin/x86_64-linux-musl-gcc -fdebug-prefix-map=/home/user/heads=heads -gno-record-gcc-switches -D__MUSL__ -I/home/user/heads/install/include -L/home/user/heads/install/lib -DHAVE_CONFIG_H -I. -I.. -DHAVE_EXPAT_CONFIG_H -g -O2 -Wall -Wextra -fexceptions -fno-strict-aliasing -Wmissing-prototypes -Wstrict-prototypes -pedantic -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wjump-misses-init -Wdouble-promotion -Wshadow -Wformat=2 -Wmisleading-indentation -fvisibility=hidden -DXML_ENABLE_VISIBILITY=1 -MT xmltok.lo -MD -MP -MF .deps/xmltok.Tpo -c xmltok.c -fPIC -DPIC -o .libs/xmltok.o
libtool: compile: /home/user/heads/crossgcc/bin/x86_64-linux-musl-gcc -fdebug-prefix-map=/home/user/heads=heads -gno-record-gcc-switches -D__MUSL__ -I/home/user/heads/install/include -L/home/user/heads/install/lib -DHAVE_CONFIG_H -I. -I.. -DHAVE_EXPAT_CONFIG_H -g -O2 -Wall -Wextra -fexceptions -fno-strict-aliasing -Wmissing-prototypes -Wstrict-prototypes -pedantic -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wjump-misses-init -Wdouble-promotion -Wshadow -Wformat=2 -Wmisleading-indentation -fvisibility=hidden -DXML_ENABLE_VISIBILITY=1 -MT xmltok.lo -MD -MP -MF .deps/xmltok.Tpo -c xmltok.c -o xmltok.o >/dev/null 2>&1
mv -f .deps/xmltok.Tpo .deps/xmltok.Plo
/bin/sh ../libtool --tag=CC --mode=compile /home/user/heads/crossgcc/bin/x86_64-linux-musl-gcc -fdebug-prefix-map=/home/user/heads=heads -gno-record-gcc-switches -D__MUSL__ -I/home/user/heads/install/include -L/home/user/heads/install/lib -DHAVE_CONFIG_H -I. -I.. -DHAVE_EXPAT_CONFIG_H -g -O2 -Wall -Wextra -fexceptions -fno-strict-aliasing -Wmissing-prototypes -Wstrict-prototypes -pedantic -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wjump-misses-init -Wdouble-promotion -Wshadow -Wformat=2 -Wmisleading-indentation -fvisibility=hidden -DXML_ENABLE_VISIBILITY=1 -MT xmlrole.lo -MD -MP -MF .deps/xmlrole.Tpo -c -o xmlrole.lo xmlrole.c
libtool: compile: /home/user/heads/crossgcc/bin/x86_64-linux-musl-gcc -fdebug-prefix-map=/home/user/heads=heads -gno-record-gcc-switches -D__MUSL__ -I/home/user/heads/install/include -L/home/user/heads/install/lib -DHAVE_CONFIG_H -I. -I.. -DHAVE_EXPAT_CONFIG_H -g -O2 -Wall -Wextra -fexceptions -fno-strict-aliasing -Wmissing-prototypes -Wstrict-prototypes -pedantic -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wjump-misses-init -Wdouble-promotion -Wshadow -Wformat=2 -Wmisleading-indentation -fvisibility=hidden -DXML_ENABLE_VISIBILITY=1 -MT xmlrole.lo -MD -MP -MF .deps/xmlrole.Tpo -c xmlrole.c -fPIC -DPIC -o .libs/xmlrole.o
libtool: compile: /home/user/heads/crossgcc/bin/x86_64-linux-musl-gcc -fdebug-prefix-map=/home/user/heads=heads -gno-record-gcc-switches -D__MUSL__ -I/home/user/heads/install/include -L/home/user/heads/install/lib -DHAVE_CONFIG_H -I. -I.. -DHAVE_EXPAT_CONFIG_H -g -O2 -Wall -Wextra -fexceptions -fno-strict-aliasing -Wmissing-prototypes -Wstrict-prototypes -pedantic -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wjump-misses-init -Wdouble-promotion -Wshadow -Wformat=2 -Wmisleading-indentation -fvisibility=hidden -DXML_ENABLE_VISIBILITY=1 -MT xmlrole.lo -MD -MP -MF .deps/xmlrole.Tpo -c xmlrole.c -o xmlrole.o >/dev/null 2>&1
mv -f .deps/xmlrole.Tpo .deps/xmlrole.Plo
/bin/sh ../libtool --tag=CC --mode=link /home/user/heads/crossgcc/bin/x86_64-linux-musl-gcc -fdebug-prefix-map=/home/user/heads=heads -gno-record-gcc-switches -D__MUSL__ -I/home/user/heads/install/include -L/home/user/heads/install/lib -g -O2 -Wall -Wextra -fexceptions -fno-strict-aliasing -Wmissing-prototypes -Wstrict-prototypes -pedantic -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wjump-misses-init -Wdouble-promotion -Wshadow -Wformat=2 -Wmisleading-indentation -fvisibility=hidden -DXML_ENABLE_VISIBILITY=1 -no-undefined -version-info 7:11:6 -fno-strict-aliasing -o libexpat.la -rpath //lib xmlparse.lo xmltok.lo xmlrole.lo
libtool: link: rm -fr .libs/libexpat.a .libs/libexpat.la .libs/libexpat.lai .libs/libexpat.so .libs/libexpat.so.1 .libs/libexpat.so.1.6.11
libtool: link: /home/user/heads/crossgcc/bin/x86_64-linux-musl-gcc -fdebug-prefix-map=/home/user/heads=heads -gno-record-gcc-switches -D__MUSL__ -I/home/user/heads/install/include -L/home/user/heads/install/lib -shared -fPIC -DPIC .libs/xmlparse.o .libs/xmltok.o .libs/xmlrole.o -L/home/user/heads/install/lib -gno-record-gcc-switches -g -O2 -Wl,-soname -Wl,libexpat.so.1 -o .libs/libexpat.so.1.6.11
libtool: link: (cd ".libs" && rm -f "libexpat.so.1" && ln -s "libexpat.so.1.6.11" "libexpat.so.1")
libtool: link: (cd ".libs" && rm -f "libexpat.so" && ln -s "libexpat.so.1.6.11" "libexpat.so")
libtool: link: /home/user/heads/crossgcc/bin/x86_64-linux-musl-ar cru .libs/libexpat.a xmlparse.o xmltok.o xmlrole.o
/home/user/heads/crossgcc/bin/x86_64-linux-musl-ar: `u' modifier ignored since `D' is the default (see `U')
libtool: link: ranlib .libs/libexpat.a
libtool: link: ( cd ".libs" && rm -f "libexpat.la" && ln -s "../libexpat.la" "libexpat.la" )
make[4]: Entering directory '/home/user/heads/build/libexpat-R_2_2_9/expat/lib'
/usr/bin/mkdir -p '/home/user/heads/install//lib'
/bin/sh ../libtool --mode=install /usr/bin/install -c -s libexpat.la '/home/user/heads/install//lib'
libtool: install: /usr/bin/install -c .libs/libexpat.so.1.6.11 /home/user/heads/install//lib/libexpat.so.1.6.11
libtool: install: /home/user/heads/crossgcc/bin/x86_64-linux-musl-strip --strip-unneeded /home/user/heads/install//lib/libexpat.so.1.6.11
libtool: install: (cd /home/user/heads/install//lib && { ln -s -f libexpat.so.1.6.11 libexpat.so.1 || { rm -f libexpat.so.1 && ln -s libexpat.so.1.6.11 libexpat.so.1; }; })
libtool: install: (cd /home/user/heads/install//lib && { ln -s -f libexpat.so.1.6.11 libexpat.so || { rm -f libexpat.so && ln -s libexpat.so.1.6.11 libexpat.so; }; })
libtool: install: /usr/bin/install -c .libs/libexpat.lai /home/user/heads/install//lib/libexpat.la
libtool: install: /usr/bin/install -c .libs/libexpat.a /home/user/heads/install//lib/libexpat.a
libtool: install: /home/user/heads/crossgcc/bin/x86_64-linux-musl-strip --strip-debug /home/user/heads/install//lib/libexpat.a
libtool: install: chmod 644 /home/user/heads/install//lib/libexpat.a
libtool: install: ranlib /home/user/heads/install//lib/libexpat.a
libtool: warning: remember to run 'libtool --finish //lib'
/usr/bin/mkdir -p '/home/user/heads/install//share/doc/expat'
/usr/bin/install -c -m 644 ../AUTHORS ../Changes '/home/user/heads/install//share/doc/expat'
/usr/bin/mkdir -p '/home/user/heads/install//include'
/usr/bin/install -c -m 644 ../expat_config.h expat.h expat_external.h '/home/user/heads/install//include'
make install-data-hook
make[5]: Entering directory '/home/user/heads/build/libexpat-R_2_2_9/expat/lib'
cd "/home/user/heads/install//share/doc/expat" && mv -f Changes changelog
make[5]: Leaving directory '/home/user/heads/build/libexpat-R_2_2_9/expat/lib'
make[4]: Leaving directory '/home/user/heads/build/libexpat-R_2_2_9/expat/lib'
make[3]: Leaving directory '/home/user/heads/build/libexpat-R_2_2_9/expat/lib'
Making install in examples
make[3]: Entering directory '/home/user/heads/build/libexpat-R_2_2_9/expat/examples'
/home/user/heads/crossgcc/bin/x86_64-linux-musl-gcc -fdebug-prefix-map=/home/user/heads=heads -gno-record-gcc-switches -D__MUSL__ -I/home/user/heads/install/include -L/home/user/heads/install/lib -DHAVE_CONFIG_H -I. -I.. -I./../lib -DHAVE_EXPAT_CONFIG_H -g -O2 -Wall -Wextra -fexceptions -fno-strict-aliasing -Wmissing-prototypes -Wstrict-prototypes -pedantic -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wjump-misses-init -Wdouble-promotion -Wshadow -Wformat=2 -Wmisleading-indentation -fvisibility=hidden -DXML_ENABLE_VISIBILITY=1 -MT elements.o -MD -MP -MF .deps/elements.Tpo -c -o elements.o elements.c
mv -f .deps/elements.Tpo .deps/elements.Po
/bin/sh ../libtool --tag=CC --mode=link /home/user/heads/crossgcc/bin/x86_64-linux-musl-gcc -fdebug-prefix-map=/home/user/heads=heads -gno-record-gcc-switches -D__MUSL__ -I/home/user/heads/install/include -L/home/user/heads/install/lib -g -O2 -Wall -Wextra -fexceptions -fno-strict-aliasing -Wmissing-prototypes -Wstrict-prototypes -pedantic -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wjump-misses-init -Wdouble-promotion -Wshadow -Wformat=2 -Wmisleading-indentation -fvisibility=hidden -DXML_ENABLE_VISIBILITY=1 -fno-strict-aliasing -o elements elements.o ../lib/libexpat.la
libtool: link: /home/user/heads/crossgcc/bin/x86_64-linux-musl-gcc -fdebug-prefix-map=/home/user/heads=heads -gno-record-gcc-switches -D__MUSL__ -I/home/user/heads/install/include -g -O2 -Wall -Wextra -fexceptions -fno-strict-aliasing -Wmissing-prototypes -Wstrict-prototypes -pedantic -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wjump-misses-init -Wdouble-promotion -Wshadow -Wformat=2 -Wmisleading-indentation -fvisibility=hidden -DXML_ENABLE_VISIBILITY=1 -fno-strict-aliasing -o .libs/elements elements.o -L/home/user/heads/install/lib ../lib/.libs/libexpat.so -Wl,-rpath -Wl,//lib
/home/user/heads/crossgcc/bin/x86_64-linux-musl-gcc -fdebug-prefix-map=/home/user/heads=heads -gno-record-gcc-switches -D__MUSL__ -I/home/user/heads/install/include -L/home/user/heads/install/lib -DHAVE_CONFIG_H -I. -I.. -I./../lib -DHAVE_EXPAT_CONFIG_H -g -O2 -Wall -Wextra -fexceptions -fno-strict-aliasing -Wmissing-prototypes -Wstrict-prototypes -pedantic -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wjump-misses-init -Wdouble-promotion -Wshadow -Wformat=2 -Wmisleading-indentation -fvisibility=hidden -DXML_ENABLE_VISIBILITY=1 -MT outline.o -MD -MP -MF .deps/outline.Tpo -c -o outline.o outline.c
mv -f .deps/outline.Tpo .deps/outline.Po
/bin/sh ../libtool --tag=CC --mode=link /home/user/heads/crossgcc/bin/x86_64-linux-musl-gcc -fdebug-prefix-map=/home/user/heads=heads -gno-record-gcc-switches -D__MUSL__ -I/home/user/heads/install/include -L/home/user/heads/install/lib -g -O2 -Wall -Wextra -fexceptions -fno-strict-aliasing -Wmissing-prototypes -Wstrict-prototypes -pedantic -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wjump-misses-init -Wdouble-promotion -Wshadow -Wformat=2 -Wmisleading-indentation -fvisibility=hidden -DXML_ENABLE_VISIBILITY=1 -fno-strict-aliasing -o outline outline.o ../lib/libexpat.la
libtool: link: /home/user/heads/crossgcc/bin/x86_64-linux-musl-gcc -fdebug-prefix-map=/home/user/heads=heads -gno-record-gcc-switches -D__MUSL__ -I/home/user/heads/install/include -g -O2 -Wall -Wextra -fexceptions -fno-strict-aliasing -Wmissing-prototypes -Wstrict-prototypes -pedantic -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wjump-misses-init -Wdouble-promotion -Wshadow -Wformat=2 -Wmisleading-indentation -fvisibility=hidden -DXML_ENABLE_VISIBILITY=1 -fno-strict-aliasing -o .libs/outline outline.o -L/home/user/heads/install/lib ../lib/.libs/libexpat.so -Wl,-rpath -Wl,//lib
make[4]: Entering directory '/home/user/heads/build/libexpat-R_2_2_9/expat/examples'
make[4]: Nothing to be done for 'install-exec-am'.
make[4]: Nothing to be done for 'install-data-am'.
make[4]: Leaving directory '/home/user/heads/build/libexpat-R_2_2_9/expat/examples'
make[3]: Leaving directory '/home/user/heads/build/libexpat-R_2_2_9/expat/examples'
Making install in tests
make[3]: Entering directory '/home/user/heads/build/libexpat-R_2_2_9/expat/tests'
Making install in .
make[4]: Entering directory '/home/user/heads/build/libexpat-R_2_2_9/expat/tests'
/home/user/heads/crossgcc/bin/x86_64-linux-musl-gcc -fdebug-prefix-map=/home/user/heads=heads -gno-record-gcc-switches -D__MUSL__ -I/home/user/heads/install/include -L/home/user/heads/install/lib -DHAVE_CONFIG_H -I. -I.. -I./../lib -DHAVE_EXPAT_CONFIG_H -g -O2 -Wall -Wextra -fexceptions -fno-strict-aliasing -Wmissing-prototypes -Wstrict-prototypes -pedantic -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wjump-misses-init -Wdouble-promotion -Wshadow -Wformat=2 -Wmisleading-indentation -fvisibility=hidden -DXML_ENABLE_VISIBILITY=1 -MT chardata.o -MD -MP -MF .deps/chardata.Tpo -c -o chardata.o chardata.c
mv -f .deps/chardata.Tpo .deps/chardata.Po
/home/user/heads/crossgcc/bin/x86_64-linux-musl-gcc -fdebug-prefix-map=/home/user/heads=heads -gno-record-gcc-switches -D__MUSL__ -I/home/user/heads/install/include -L/home/user/heads/install/lib -DHAVE_CONFIG_H -I. -I.. -I./../lib -DHAVE_EXPAT_CONFIG_H -g -O2 -Wall -Wextra -fexceptions -fno-strict-aliasing -Wmissing-prototypes -Wstrict-prototypes -pedantic -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wjump-misses-init -Wdouble-promotion -Wshadow -Wformat=2 -Wmisleading-indentation -fvisibility=hidden -DXML_ENABLE_VISIBILITY=1 -MT structdata.o -MD -MP -MF .deps/structdata.Tpo -c -o structdata.o structdata.c
mv -f .deps/structdata.Tpo .deps/structdata.Po
rm -f libruntests.a
/home/user/heads/crossgcc/bin/x86_64-linux-musl-ar cru libruntests.a chardata.o structdata.o memcheck.o minicheck.o
/home/user/heads/crossgcc/bin/x86_64-linux-musl-ar: `u' modifier ignored since `D' is the default (see `U')
ranlib libruntests.a
make[5]: Entering directory '/home/user/heads/build/libexpat-R_2_2_9/expat/tests'
make[5]: Nothing to be done for 'install-exec-am'.
make[5]: Nothing to be done for 'install-data-am'.
make[5]: Leaving directory '/home/user/heads/build/libexpat-R_2_2_9/expat/tests'
make[4]: Leaving directory '/home/user/heads/build/libexpat-R_2_2_9/expat/tests'
Making install in benchmark
make[4]: Entering directory '/home/user/heads/build/libexpat-R_2_2_9/expat/tests/benchmark'
/home/user/heads/crossgcc/bin/x86_64-linux-musl-gcc -fdebug-prefix-map=/home/user/heads=heads -gno-record-gcc-switches -D__MUSL__ -I/home/user/heads/install/include -L/home/user/heads/install/lib -DHAVE_CONFIG_H -I. -I../.. -I./../../lib -DHAVE_EXPAT_CONFIG_H -g -O2 -Wall -Wextra -fexceptions -fno-strict-aliasing -Wmissing-prototypes -Wstrict-prototypes -pedantic -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wjump-misses-init -Wdouble-promotion -Wshadow -Wformat=2 -Wmisleading-indentation -fvisibility=hidden -DXML_ENABLE_VISIBILITY=1 -MT benchmark.o -MD -MP -MF .deps/benchmark.Tpo -c -o benchmark.o benchmark.c
mv -f .deps/benchmark.Tpo .deps/benchmark.Po
/bin/sh ../../libtool --tag=CC --mode=link /home/user/heads/crossgcc/bin/x86_64-linux-musl-gcc -fdebug-prefix-map=/home/user/heads=heads -gno-record-gcc-switches -D__MUSL__ -I/home/user/heads/install/include -L/home/user/heads/install/lib -g -O2 -Wall -Wextra -fexceptions -fno-strict-aliasing -Wmissing-prototypes -Wstrict-prototypes -pedantic -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wjump-misses-init -Wdouble-promotion -Wshadow -Wformat=2 -Wmisleading-indentation -fvisibility=hidden -DXML_ENABLE_VISIBILITY=1 -fno-strict-aliasing -o benchmark benchmark.o ../../lib/libexpat.la
libtool: link: /home/user/heads/crossgcc/bin/x86_64-linux-musl-gcc -fdebug-prefix-map=/home/user/heads=heads -gno-record-gcc-switches -D__MUSL__ -I/home/user/heads/install/include -g -O2 -Wall -Wextra -fexceptions -fno-strict-aliasing -Wmissing-prototypes -Wstrict-prototypes -pedantic -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wjump-misses-init -Wdouble-promotion -Wshadow -Wformat=2 -Wmisleading-indentation -fvisibility=hidden -DXML_ENABLE_VISIBILITY=1 -fno-strict-aliasing -o .libs/benchmark benchmark.o -L/home/user/heads/install/lib ../../lib/.libs/libexpat.so -Wl,-rpath -Wl,//lib
make[5]: Entering directory '/home/user/heads/build/libexpat-R_2_2_9/expat/tests/benchmark'
make[5]: Nothing to be done for 'install-exec-am'.
make[5]: Nothing to be done for 'install-data-am'.
make[5]: Leaving directory '/home/user/heads/build/libexpat-R_2_2_9/expat/tests/benchmark'
make[4]: Leaving directory '/home/user/heads/build/libexpat-R_2_2_9/expat/tests/benchmark'
make[3]: Leaving directory '/home/user/heads/build/libexpat-R_2_2_9/expat/tests'
Making install in xmlwf
make[3]: Entering directory '/home/user/heads/build/libexpat-R_2_2_9/expat/xmlwf'
/home/user/heads/crossgcc/bin/x86_64-linux-musl-gcc -fdebug-prefix-map=/home/user/heads=heads -gno-record-gcc-switches -D__MUSL__ -I/home/user/heads/install/include -L/home/user/heads/install/lib -DHAVE_CONFIG_H -I. -I.. -I./../lib -DHAVE_EXPAT_CONFIG_H -g -O2 -Wall -Wextra -fexceptions -fno-strict-aliasing -Wmissing-prototypes -Wstrict-prototypes -pedantic -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wjump-misses-init -Wdouble-promotion -Wshadow -Wformat=2 -Wmisleading-indentation -fvisibility=hidden -DXML_ENABLE_VISIBILITY=1 -MT xmlwf-xmlwf.o -MD -MP -MF .deps/xmlwf-xmlwf.Tpo -c -o xmlwf-xmlwf.o `test -f 'xmlwf.c' || echo './'`xmlwf.c
mv -f .deps/xmlwf-xmlwf.Tpo .deps/xmlwf-xmlwf.Po
/home/user/heads/crossgcc/bin/x86_64-linux-musl-gcc -fdebug-prefix-map=/home/user/heads=heads -gno-record-gcc-switches -D__MUSL__ -I/home/user/heads/install/include -L/home/user/heads/install/lib -DHAVE_CONFIG_H -I. -I.. -I./../lib -DHAVE_EXPAT_CONFIG_H -g -O2 -Wall -Wextra -fexceptions -fno-strict-aliasing -Wmissing-prototypes -Wstrict-prototypes -pedantic -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wjump-misses-init -Wdouble-promotion -Wshadow -Wformat=2 -Wmisleading-indentation -fvisibility=hidden -DXML_ENABLE_VISIBILITY=1 -MT xmlwf-xmlfile.o -MD -MP -MF .deps/xmlwf-xmlfile.Tpo -c -o xmlwf-xmlfile.o `test -f 'xmlfile.c' || echo './'`xmlfile.c
mv -f .deps/xmlwf-xmlfile.Tpo .deps/xmlwf-xmlfile.Po
/home/user/heads/crossgcc/bin/x86_64-linux-musl-gcc -fdebug-prefix-map=/home/user/heads=heads -gno-record-gcc-switches -D__MUSL__ -I/home/user/heads/install/include -L/home/user/heads/install/lib -DHAVE_CONFIG_H -I. -I.. -I./../lib -DHAVE_EXPAT_CONFIG_H -g -O2 -Wall -Wextra -fexceptions -fno-strict-aliasing -Wmissing-prototypes -Wstrict-prototypes -pedantic -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wjump-misses-init -Wdouble-promotion -Wshadow -Wformat=2 -Wmisleading-indentation -fvisibility=hidden -DXML_ENABLE_VISIBILITY=1 -MT xmlwf-readfilemap.o -MD -MP -MF .deps/xmlwf-readfilemap.Tpo -c -o xmlwf-readfilemap.o `test -f 'readfilemap.c' || echo './'`readfilemap.c
mv -f .deps/xmlwf-readfilemap.Tpo .deps/xmlwf-readfilemap.Po
/bin/sh ../libtool --tag=CC --mode=link /home/user/heads/crossgcc/bin/x86_64-linux-musl-gcc -fdebug-prefix-map=/home/user/heads=heads -gno-record-gcc-switches -D__MUSL__ -I/home/user/heads/install/include -L/home/user/heads/install/lib -g -O2 -Wall -Wextra -fexceptions -fno-strict-aliasing -Wmissing-prototypes -Wstrict-prototypes -pedantic -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wjump-misses-init -Wdouble-promotion -Wshadow -Wformat=2 -Wmisleading-indentation -fvisibility=hidden -DXML_ENABLE_VISIBILITY=1 -fno-strict-aliasing -o xmlwf xmlwf-xmlwf.o xmlwf-xmlfile.o xmlwf-codepage.o xmlwf-readfilemap.o ../lib/libexpat.la
libtool: link: /home/user/heads/crossgcc/bin/x86_64-linux-musl-gcc -fdebug-prefix-map=/home/user/heads=heads -gno-record-gcc-switches -D__MUSL__ -I/home/user/heads/install/include -g -O2 -Wall -Wextra -fexceptions -fno-strict-aliasing -Wmissing-prototypes -Wstrict-prototypes -pedantic -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wjump-misses-init -Wdouble-promotion -Wshadow -Wformat=2 -Wmisleading-indentation -fvisibility=hidden -DXML_ENABLE_VISIBILITY=1 -fno-strict-aliasing -o .libs/xmlwf xmlwf-xmlwf.o xmlwf-xmlfile.o xmlwf-codepage.o xmlwf-readfilemap.o -L/home/user/heads/install/lib ../lib/.libs/libexpat.so -Wl,-rpath -Wl,//lib
make[4]: Entering directory '/home/user/heads/build/libexpat-R_2_2_9/expat/xmlwf'
/usr/bin/mkdir -p '/home/user/heads/install//bin'
STRIPPROG='/home/user/heads/crossgcc/bin/x86_64-linux-musl-strip' /bin/sh ../libtool --mode=install /bin/sh /home/user/heads/build/libexpat-R_2_2_9/expat/conftools/install-sh -c -s xmlwf '/home/user/heads/install//bin'
libtool: warning: '../lib/libexpat.la' has not been installed in '//lib'
libtool: install: /bin/sh /home/user/heads/build/libexpat-R_2_2_9/expat/conftools/install-sh -c -s .libs/xmlwf /home/user/heads/install//bin/xmlwf
make[4]: Nothing to be done for 'install-data-am'.
make[4]: Leaving directory '/home/user/heads/build/libexpat-R_2_2_9/expat/xmlwf'
make[3]: Leaving directory '/home/user/heads/build/libexpat-R_2_2_9/expat/xmlwf'
Making install in doc
make[3]: Entering directory '/home/user/heads/build/libexpat-R_2_2_9/expat/doc'
make[4]: Entering directory '/home/user/heads/build/libexpat-R_2_2_9/expat/doc'
make[4]: Nothing to be done for 'install-exec-am'.
make[4]: Leaving directory '/home/user/heads/build/libexpat-R_2_2_9/expat/doc'
make[3]: Leaving directory '/home/user/heads/build/libexpat-R_2_2_9/expat/doc'
make[3]: Entering directory '/home/user/heads/build/libexpat-R_2_2_9/expat'
make[4]: Entering directory '/home/user/heads/build/libexpat-R_2_2_9/expat'
make[4]: Nothing to be done for 'install-exec-am'.
/usr/bin/mkdir -p '/home/user/heads/install//lib/pkgconfig'
/usr/bin/install -c -m 644 expat.pc '/home/user/heads/install//lib/pkgconfig'
make[4]: Leaving directory '/home/user/heads/build/libexpat-R_2_2_9/expat'
make[3]: Leaving directory '/home/user/heads/build/libexpat-R_2_2_9/expat'
make[2]: Leaving directory '/home/user/heads/build/libexpat-R_2_2_9/expat'
make[1]: Leaving directory '/home/user/heads/build/libexpat-R_2_2_9/expat'
That's a lot of information, but the things that stand out at me right away that you should check:
- Running glibc's
lddon a musl-linked program is meaningless. You want to runld-musl-$(ARCH).so.1 --list, or make a symlink to that namedlddand run thatldd. i386-elf-linuxis not a correct tuple for musl, and if that's what you're passing tomusl-cross-makeas the target, you're most likely going to get a broken toolchain. The correct tuple isi386-linux-musl.- You don't seem to be showing what
$(CROSS_TOOLS)is. Is that to set theCC, etc.? You shouldn't need that if--hostis right.
Aside from that, rather than dumping more and more information, you need to express clearly what the basic thing you're doing/trying to do is, and for things that turn out different than what you expect, how you're measuring the unexpected outcome.
In your logs it looks like your target is x86_64, not i386, so now I'm even more confused about your weird value of --host...
@richfelker @GregorR
checking for g++... g++ checking whether the C++ compiler works... yesYou're using the host C++ compiler.
I know. The question is how to force it to use the target under /install, implied by:
-I$(INSTALL)/include \
-L$(INSTALL)/lib \
Of $heads_cc, which is supposed to be passed to thin-provisioning-tools by $CROSS_TOOLS in global Heads Makefile above. I can't wrap my head around it.
Get rid of all that $(CROSS_TOOLS), etc. stuff and just pass the right --host. Then configure will automatically choose the right tools. For some non-autoconf-based software (typically stuff like Busybox with build system derived from Linux kernel one) you need to pass a variable CROSS_COMPILE=x86_64-linux-musl- (note the final -!) to achieve the same thing. I assume CMake has its own way to do this too but I don't know it right off.
@osresearch?
@jthornber :
autoconf && ./configure --host x86_64-linux-musl --prefix /
checking build system type... x86_64-unknown-linux-gnu
checking host system type... Invalid configuration `x86_64-linux-musl': system `musl' not recognized
configure: error: /bin/sh autoconf/config.sub x86_64-linux-musl failed
make: *** [Makefile:382: /home/user/heads/build/thin-provisioning-tools-0.8.5/.configured] Error 1
Any insight?
Edit: seems like autoconf is the culprit and doesn't provide recognition of musl at all and relies on build system environment to provide ./configure options... Trying to find my way in passing it correctly. Any advice welcome.
Read the comments at the top of config.sub. They include the URL for an updated copy of config.sub that will recognize musl. But if you're running autoconf yourself to generate the configure script, I think config.sub is coming from your local version of autoconf and it probably means you have a really, really outdated version, in which case just updating it should fix the problem too.
@richfelker : config.guess, config.sub are coming from this repo, which dates all from 2008. Upgrading and testing.
@richfelker : Well all RPM based distros seem to provide the same autoconf. Any reason why you don't provide a ./configure script in the repo?
@richfelker : autoconf is based on what is provided here. This repo should provide the latest ones.
I ran into similar problem before, when I built thin-p tools for AArch64 platforms. The config.guess and config.sub really need to be updated, in order to support newer platforms and systems, including AArch64, RISC-V, musl, and so on. If you had done the test, please help to send a pull request.