1.27: linking fails on multiple definiton of `igt_cpu_crc32` symbol
meson output
+ /usr/bin/meson setup --buildtype=plain --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/libexec --bindir=/usr/bin --sbindir=/usr/sbin --includedir=/usr/include --datadir=/usr/share --mandir=/usr/share/man --infodir=/usr/share/info --localedir=/usr/share/locale --sysconfdir=/etc --localstatedir=/var --sharedstatedir=/var/lib --wrap-mode=nodownload --auto-features=enabled . x86_64-redhat-linux-gnu -D b_ndebug=false -D chamelium=enabled -D docs=enabled -D libunwind=disabled -D man=enabled -D oping=enabled -D overlay=disabled -D runner=enabled -D tests=enabled -D valgrind=enabled -D libdrm_drivers=intel,nouveau,amdgpu
The Meson build system
Version: 1.0.0
Source dir: /home/tkloczko/rpmbuild/BUILD/igt-gpu-tools-v1.27
Build dir: /home/tkloczko/rpmbuild/BUILD/igt-gpu-tools-v1.27/x86_64-redhat-linux-gnu
Build type: native build
Project name: igt-gpu-tools
Project version: 1.27
C compiler for the host machine: /usr/bin/gcc (gcc 12.2.1 "gcc (GCC) 12.2.1 20221121 (Red Hat 12.2.1-4)")
C linker for the host machine: /usr/bin/gcc ld.bfd 2.39-6
Host machine cpu family: x86_64
Host machine cpu: x86_64
Compiler for C supports arguments -fno-builtin-malloc: YES
Compiler for C supports arguments -fno-builtin-calloc: YES
Found pkg-config: /usr/bin/pkg-config (1.9.3)
Run-time dependency libdrm found: YES 2.4.114
Run-time dependency libdrm_intel found: YES 2.4.114
Run-time dependency libdrm_nouveau found: YES 2.4.114
Run-time dependency libdrm_amdgpu found: YES 2.4.114
Run-time dependency pciaccess found: YES 0.17
Run-time dependency libkmod found: YES 30
Found CMake: /usr/bin/cmake (3.25.1)
Run-time dependency libprocps found: NO (tried pkgconfig and cmake)
Run-time dependency libproc2 found: YES 4.0.1
Dependency libunwind skipped: feature libunwind disabled
Run-time dependency libdw found: YES 0.187
Run-time dependency pixman-1 found: YES 0.42.2
Run-time dependency valgrind found: YES 3.20.0
Run-time dependency cairo found: YES 1.17.6
Run-time dependency libudev found: YES 251
Run-time dependency glib-2.0 found: YES 2.75.1
Run-time dependency xmlrpc found: YES 1.51.0
Run-time dependency xmlrpc_util found: YES 1.51.0
Run-time dependency xmlrpc_client found: YES 1.51.0
Program xmlrpc-c-config found: YES (/usr/bin/xmlrpc-c-config)
Run-time dependency gsl found: YES 2.7.1
Run-time dependency alsa found: YES 1.2.8
Run-time dependency libcurl found: YES 7.87.0
Run-time dependency threads found: YES
Library m found: YES
Library rt found: YES
Library dl found: YES
Library z found: YES
Checking if "built-in atomics" : links: YES
Has header "linux/kd.h" : YES
Has header "sys/kd.h" : YES
Has header "libgen.h" : YES
Has header "sys/io.h" : YES
Checking if "cpuid.h" : links: YES
Header "unistd.h" has symbol "gettid" : YES
Checking whether type "struct sysinfo" has member "totalram" : YES
Checking for function "memfd_create" : YES
Configuring config.h using configuration
Program python3 found: YES (/usr/bin/python3)
Configuring i915-perf.pc using configuration
Program generate_testlist.sh found: YES (/home/tkloczko/rpmbuild/BUILD/igt-gpu-tools-v1.27/tests/generate_testlist.sh)
Program igt_command_line.sh found: YES (/home/tkloczko/rpmbuild/BUILD/igt-gpu-tools-v1.27/tests/igt_command_line.sh)
Run-time dependency json-c found: YES 0.16
Run-time dependency liboping found: YES 1.10.0
Compiler for C supports arguments -Wno-declaration-after-statement: YES
Compiler for C supports arguments -Wno-discarded-qualifiers: YES
Compiler for C supports arguments -Wno-missing-format-attribute: YES
Compiler for C supports arguments -Wno-old-style-definition: YES
Compiler for C supports arguments -Wno-redundant-decls: YES
Compiler for C supports arguments -Wno-shadow: YES
Compiler for C supports arguments -Wno-incompatible-pointer-types-discards-qualifiers: NO
Program flex found: YES (/usr/bin/flex)
Program bison found: YES (/usr/bin/bison)
Configuring intel-gen4asm.pc using configuration
Program test/run-test.sh found: YES (/bin/sh /home/tkloczko/rpmbuild/BUILD/igt-gpu-tools-v1.27/assembler/test/run-test.sh)
Run-time dependency xv found: YES 1.0.12
Run-time dependency x11 found: YES 1.8.3
Run-time dependency xext found: YES 1.3.5
Run-time dependency dri2proto found: YES 2.8
Run-time dependency cairo-xlib found: YES 1.17.6
Dependency xrandr skipped: feature overlay disabled
Program leg skipped: feature overlay disabled
Message: WARNING: leg command not found, disabling overlay; try : apt-get install peg
Configuring defs.rst using configuration
Program rst2man found: YES (/usr/bin/rst2man)
Program rst2man.sh found: YES (/home/tkloczko/rpmbuild/BUILD/igt-gpu-tools-v1.27/man/rst2man.sh)
Run-time dependency gtk-doc found: YES 1.33.1
Program generate_description_xml.py found: YES (/home/tkloczko/rpmbuild/BUILD/igt-gpu-tools-v1.27/docs/reference/igt-gpu-tools/generate_description_xml.py)
Program generate_programs_xml.sh found: YES (/home/tkloczko/rpmbuild/BUILD/igt-gpu-tools-v1.27/docs/reference/igt-gpu-tools/generate_programs_xml.sh)
Configuring version.xml using configuration
Program gtkdoc-scan found: YES (/usr/bin/gtkdoc-scan)
Program gtkdoc-scangobj found: YES (/usr/bin/gtkdoc-scangobj)
Program gtkdoc-mkdb found: YES (/usr/bin/gtkdoc-mkdb)
Program gtkdoc-mkhtml found: YES (/usr/bin/gtkdoc-mkhtml)
Program gtkdoc-fixxref found: YES (/usr/bin/gtkdoc-fixxref)
Message: Build options
Message: =============
Message: Build type: plain
Message: With libdrm: intel,nouveau,amdgpu
Message: With libunwind: false
Message: Valgrind annotations: true
Message: Build Chamelium test: true
Message: Build tests: true
Message: Build test runner: true
Message: Build test runner with oping: true
Message: Build overlay: false
Message: Build man pages: true
Message: Build documentation: true
Build targets in project: 650
NOTICE: Future-deprecated features used:
* 0.56.0: {'meson.source_root'}
* 0.64.0: {'copy arg in configure_file'}
igt-gpu-tools 1.27
User defined options
auto_features : enabled
bindir : /usr/bin
buildtype : plain
datadir : /usr/share
includedir : /usr/include
infodir : /usr/share/info
libdir : /usr/lib64
libexecdir : /usr/libexec
localedir : /usr/share/locale
localstatedir : /var
mandir : /usr/share/man
prefix : /usr
sbindir : /usr/sbin
sharedstatedir: /var/lib
sysconfdir : /etc
wrap_mode : nodownload
b_ndebug : false
chamelium : enabled
docs : enabled
libdrm_drivers: intel,nouveau,amdgpu
libunwind : disabled
man : enabled
oping : enabled
overlay : disabled
runner : enabled
tests : enabled
valgrind : enabled
and linking fails on
[tkloczko@pers-jacek x86_64-redhat-linux-gnu]$ ninja
[1/424] Generating lib/version.h with a custom command
fatal: not a git repository (or any parent up to mount point /home/tkloczko)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
[2/418] Linking target lib/libigt.so.0
FAILED: lib/libigt.so.0
/usr/bin/gcc -o lib/libigt.so.0 lib/libigt.so.0.p/dummy.c.o -Wl,--as-needed -Wl,--no-undefined -shared -fPIC -Wl,--start-group -Wl,-soname,libigt.so.0 -Wl,--whole-archive lib/libigt-drmtest_c.a lib/libigt-dmabuf_sync_file_c.a lib/libigt-huc_copy_c.a lib/libigt-i915_gem_c.a lib/libigt-i915_gem_context_c.a lib/libigt-i915_gem_create_c.a lib/libigt-i915_gem_engine_topology_c.a lib/libigt-i915_gem_scheduler_c.a lib/libigt-i915_gem_submission_c.a lib/libigt-i915_gem_ring_c.a lib/libigt-i915_gem_mman_c.a lib/libigt-i915_gem_vm_c.a lib/libigt-i915_intel_decode_c.a lib/libigt-i915_intel_memory_region_c.a lib/libigt-i915_intel_mocs_c.a lib/libigt-i915_i915_blt_c.a lib/libigt-i915_i915_crc_c.a lib/libigt-igt_collection_c.a lib/libigt-igt_color_encoding_c.a lib/libigt-igt_crc_c.a lib/libigt-igt_debugfs_c.a lib/libigt-igt_device_c.a lib/libigt-igt_device_scan_c.a lib/libigt-igt_drm_fdinfo_c.a lib/libigt-igt_aux_c.a lib/libigt-igt_gt_c.a lib/libigt-igt_halffloat_c.a lib/libigt-igt_hwmon_c.a lib/libigt-igt_io_c.a lib/libigt-igt_matrix_c.a lib/libigt-igt_os_c.a lib/libigt-igt_params_c.a lib/libigt-igt_perf_c.a lib/libigt-igt_pipe_crc_c.a lib/libigt-igt_power_c.a lib/libigt-igt_primes_c.a lib/libigt-igt_pci_c.a lib/libigt-igt_rand_c.a lib/libigt-igt_stats_c.a lib/libigt-igt_syncobj_c.a lib/libigt-igt_sysfs_c.a lib/libigt-igt_sysrq_c.a lib/libigt-igt_taints_c.a lib/libigt-igt_thread_c.a lib/libigt-igt_types_c.a lib/libigt-igt_vec_c.a lib/libigt-igt_vgem_c.a lib/libigt-igt_x86_c.a lib/libigt-instdone_c.a lib/libigt-intel_allocator_c.a lib/libigt-intel_allocator_msgchannel_c.a lib/libigt-intel_allocator_reloc_c.a lib/libigt-intel_allocator_simple_c.a lib/libigt-intel_batchbuffer_c.a lib/libigt-intel_bufops_c.a lib/libigt-intel_chipset_c.a lib/libigt-intel_ctx_c.a lib/libigt-intel_device_info_c.a lib/libigt-intel_mmio_c.a lib/libigt-ioctl_wrappers_c.a lib/libigt-media_spin_c.a lib/libigt-media_fill_c.a lib/libigt-gpgpu_fill_c.a lib/libigt-gpu_cmds_c.a lib/libigt-rendercopy_i915_c.a lib/libigt-rendercopy_i830_c.a lib/libigt-rendercopy_gen4_c.a lib/libigt-rendercopy_gen6_c.a lib/libigt-rendercopy_gen7_c.a lib/libigt-rendercopy_gen8_c.a lib/libigt-rendercopy_gen9_c.a lib/libigt-runnercomms_c.a lib/libigt-sw_sync_c.a lib/libigt-intel_aux_pgtable_c.a lib/libigt-intel_reg_map_c.a lib/libigt-intel_iosf_c.a lib/libigt-igt_kms_c.a lib/libigt-igt_fb_c.a lib/libigt-igt_core_c.a lib/libigt-igt_draw_c.a lib/libigt-igt_list_c.a lib/libigt-igt_map_c.a lib/libigt-igt_pm_c.a lib/libigt-igt_dummyload_c.a lib/libigt-igt_store_c.a lib/libigt-uwildmat_uwildmat_c.a lib/libigt-igt_kmod_c.a lib/libigt-igt_panfrost_c.a lib/libigt-igt_v3d_c.a lib/libigt-igt_vc4_c.a lib/libigt-igt_psr_c.a lib/libigt-igt_amd_c.a lib/libigt-igt_edid_c.a lib/libigt-igt_eld_c.a lib/libigt-igt_infoframe_c.a lib/libigt-veboxcopy_gen12_c.a lib/libigt-igt_msm_c.a lib/libigt-igt_nouveau_c.a lib/libigt-nouveau_cea0b5_c.a lib/libigt-amdgpu_amd_memory_c.a lib/libigt-amdgpu_amd_command_submission_c.a lib/libigt-amdgpu_amd_compute_c.a lib/libigt-amdgpu_amd_gfx_c.a lib/libigt-amdgpu_amd_ip_blocks_c.a lib/libigt-amdgpu_amd_shaders_c.a lib/libigt-amdgpu_amd_gfx_v8_0_c.a lib/libigt-amdgpu_amd_gfx_v9_0_c.a lib/libigt-amdgpu_amd_dispatch_helpers_c.a lib/libigt-amdgpu_amd_dispatch_c.a lib/libigt-amdgpu_amd_deadlock_helpers_c.a lib/libigt-amdgpu_amd_pci_unplug_c.a lib/libigt-amdgpu_xalloc_h.a lib/libigt-amdgpu_amd_cp_dma_c.a lib/libigt-igt_frame_c.a lib/libigt-igt_audio_c.a lib/libigt-igt_alsa_c.a lib/libigt-igt_chamelium_c.a lib/libigt-igt_chamelium_stream_c.a lib/libigt-monitor_edids_monitor_edids_helper_c.a -Wl,--no-whole-archive -Wl,--as-needed -Wl,--gc-sections -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -flto=auto -flto-partition=none -fuse-linker-plugin -Wl,--build-id=sha1 -O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none /usr/lib64/libcairo.so /usr/lib64/libglib-2.0.so /usr/lib64/libdrm.so /usr/lib64/libdw.so /usr/lib64/libelf.so /usr/lib64/libkmod.so /usr/lib64/libudev.so -lm /usr/lib64/libpciaccess.so /usr/lib64/libpixman-1.so -pthread -lrt -lz /usr/lib64/libdrm_nouveau.so /usr/lib64/libdrm_amdgpu.so /usr/lib64/libgsl.so /usr/lib64/libgslcblas.so /usr/lib64/libasound.so /usr/lib64/libxmlrpc.so /usr/lib64/libxmlrpc_util.so /usr/lib64/libxmlrpc_client.so /usr/lib64/libproc2.so -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -lz -Wl,--end-group
/usr/bin/ld: lib/libigt-igt_crc_c.a.p/igt_crc.c.o (symbol from plugin): in function `igt_cpu_crc32':
(.text+0x0): multiple definition of `igt_crc32_tab'; lib/libigt-i915_i915_crc_c.a.p/i915_i915_crc.c.o (symbol from plugin):(.text+0x0): first defined here
Thee is as well something wrong with libz detection because in above command line are multiple -lz
params.