diff mbox series

First experiments with kmod-git and meson build-system

Message ID CA+icZUW_K-f-ATDuvtsjXokx7aWUcfh7XpW2JhxBeegXp3V4xw@mail.gmail.com (mailing list archive)
State Handled Elsewhere
Headers show
Series First experiments with kmod-git and meson build-system | expand

Checks

Context Check Description
mcgrof/vmtest-modules-next-PR fail merge-conflict

Commit Message

Sedat Dilek Oct. 18, 2024, 10:47 a.m. UTC
Hi,

looks like etc directory was not copied to $PREFIX.

Build-Instructions:

[ PREREQS ]

apt-get update

apt-get install -t unstable scdoc -s
apt-get install -t unstable scdoc -y

apt-get install -t unstable gtk-doc-tools -s
apt-get install -t unstable gtk-doc-tools -y


[ BASE-DIR ]

BASE_DIR="$HOME/src/kmod"

mkdir $BASE_DIR

[ KMOD GIT ]

cd $BASE_DIR

git clone git://git.kernel.org/pub/scm/utils/kernel/kmod/kmod.git git

[ build-dev.ini ]

NOTE: Requires linux-headers package(s) of running kernel to be installed!


[ BUILD-DIR ]

cd $BASE_DIR

mkdir build

[ CONFIGURE ]

PREFIX="/opt/kmod-v33-300-g7b416d59e450"

cd git

meson setup --prefix $PREFIX --sysconfdir $PREFIX/etc --native-file
build-dev.ini ../build

[ BUILD ]

meson compile -C ../build

[ INSTALL ]

sudo meson install -C ../build

From meson-log.txt:

Build targets in project: 23

kmod 33

 Directories
   moduledir     : /lib/modules
   prefix        : /opt/kmod-v33-300-g7b416d59e450
   sysconfdir    : /opt/kmod-v33-300-g7b416d59e450/etc
   distconfdir   : /opt/kmod-v33-300-g7b416d59e450/lib/x86_64-linux-gnu
   libdir        : /opt/kmod-v33-300-g7b416d59e450/lib/x86_64-linux-gnu
   includedir    : /opt/kmod-v33-300-g7b416d59e450/include
   bindir        : /opt/kmod-v33-300-g7b416d59e450/bin

 Options
   tools         : true
   logging       : true
   debug-messages: true
   build-tests   : false
   manpages      : true
   docs          : true

   features      : +ZSTD +XZ +ZLIB +LIBCRYPTO

 User defined options
   Native files  : build-dev.ini
   prefix        : /opt/kmod-v33-300-g7b416d59e450
   sysconfdir    : /opt/kmod-v33-300-g7b416d59e450/etc

[ CHECK INSTALL ]

root@iniza:/opt/kmod-v33-300-g7b416d59e450# ls
bin  include  lib  share

Attached are the meson-logs.

Thanks.

Best regards,
-Sedat-
[ PREREQS ]

apt-get update

apt-get install -t unstable scdoc -s
apt-get install -t unstable scdoc -y

apt-get install -t unstable gtk-doc-tools -s
apt-get install -t unstable gtk-doc-tools -y


[ BASE-DIR ]

BASE_DIR="$HOME/src/kmod"

mkdir $BASE_DIR

[ KMOD GIT ]

cd $BASE_DIR

git clone git://git.kernel.org/pub/scm/utils/kernel/kmod/kmod.git git

[ build-dev.ini ]

NOTE: Requires linux-headers package(s) of running kernel to be installed!

--- a/build-dev.ini
+++ b/build-dev.ini
@@ -4,7 +4,7 @@
 ; SPDX-License-Identifier: LGPL-2.1-or-later
 
 [project options]
-build-tests = true
+build-tests = false
 debug-messages = true
 docs = true
 zstd = 'enabled'

[ BUILD-DIR ]
 
cd $BASE_DIR

mkdir build 

[ CONFGURE ]

PREFIX="/opt/kmod-v33-300-g7b416d59e450"

cd git

meson setup --prefix $PREFIX --sysconfdir $PREFIX/etc --native-file build-dev.ini ../build

[ BUILD ]

meson compile -C ../build


[ INSTALL ]

sudo meson install -C ../build


-dileks // 18-Oct-2024
Build started at 2024-10-18T12:30:59.164835
Main binary: /usr/bin/python3
Build Options: -Dprefix=/opt/kmod-v33-300-g7b416d59e450 -Dsysconfdir=/opt/kmod-v33-300-g7b416d59e450/etc --native-file=build-dev.ini
Python system: Linux
The Meson build system
Version: 1.5.2
Source dir: /home/dileks/src/kmod/git
Build dir: /home/dileks/src/kmod/build
Build type: native build
Project name: kmod
Project version: 33
-----------
Detecting compiler via: `cc --version` -> 0
stdout:
cc (Debian 14.2.0-6) 14.2.0
Copyright (C) 2024 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-----------
Running command: -cpp -x c -E -dM -
-----
-----------
Detecting linker via: `cc -Wl,--version` -> 0
stdout:
GNU ld (GNU Binutils for Debian) 2.43.1
Copyright (C) 2024 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License version 3 or (at your option) a later version.
This program has absolutely no warranty.
-----------
stderr:
collect2 version 14.2.0
/usr/bin/ld -plugin /usr/libexec/gcc/x86_64-linux-gnu/14/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/14/lto-wrapper -plugin-opt=-fresolution=/tmp/ccJILg4w.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie /usr/lib/gcc/x86_64-linux-gnu/14/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/14/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/14/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/14 -L/usr/lib/gcc/x86_64-linux-gnu/14/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/14/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/14/../../.. --version -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/14/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/14/../../../x86_64-linux-gnu/crtn.o
-----------
Sanity testing C compiler: ccache cc
Is cross compiler: False.
Sanity check compiler command line: ccache cc sanitycheckc.c -o sanitycheckc.exe -D_FILE_OFFSET_BITS=64
Sanity check compile stdout:

-----
Sanity check compile stderr:

-----
Running test binary command:  /home/dileks/src/kmod/build/meson-private/sanitycheckc.exe
C compiler for the host machine: ccache cc (gcc 14.2.0 "cc (Debian 14.2.0-6) 14.2.0")
C linker for the host machine: cc ld.bfd 2.43.1
-----------
Detecting archiver via: `gcc-ar --version` -> 0
stdout:
GNU ar (GNU Binutils for Debian) 2.43.1
Copyright (C) 2024 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License version 3 or (at your option) any later version.
This program has absolutely no warranty.
-----------
-----------
Detecting compiler via: `cc --version` -> 0
stdout:
cc (Debian 14.2.0-6) 14.2.0
Copyright (C) 2024 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-----------
Running command: -cpp -x c -E -dM -
-----
-----------
Detecting linker via: `cc -Wl,--version` -> 0
stdout:
GNU ld (GNU Binutils for Debian) 2.43.1
Copyright (C) 2024 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License version 3 or (at your option) a later version.
This program has absolutely no warranty.
-----------
stderr:
collect2 version 14.2.0
/usr/bin/ld -plugin /usr/libexec/gcc/x86_64-linux-gnu/14/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/14/lto-wrapper -plugin-opt=-fresolution=/tmp/cc7bdQI2.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie /usr/lib/gcc/x86_64-linux-gnu/14/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/14/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/14/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/14 -L/usr/lib/gcc/x86_64-linux-gnu/14/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/14/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/14/../../.. --version -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/14/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/14/../../../x86_64-linux-gnu/crtn.o
-----------
Sanity testing C compiler: ccache cc
Is cross compiler: False.
Sanity check compiler command line: ccache cc sanitycheckc.c -o sanitycheckc.exe -D_FILE_OFFSET_BITS=64
Sanity check compile stdout:

-----
Sanity check compile stderr:

-----
Running test binary command:  /home/dileks/src/kmod/build/meson-private/sanitycheckc.exe
C compiler for the build machine: ccache cc (gcc 14.2.0 "cc (Debian 14.2.0-6) 14.2.0")
C linker for the build machine: cc ld.bfd 2.43.1
-----------
Detecting archiver via: `gcc-ar --version` -> 0
stdout:
GNU ar (GNU Binutils for Debian) 2.43.1
Copyright (C) 2024 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License version 3 or (at your option) any later version.
This program has absolutely no warranty.
-----------
Build machine cpu family: x86_64
Build machine cpu: x86_64
Host machine cpu family: x86_64
Host machine cpu: x86_64
Target machine cpu family: x86_64
Target machine cpu: x86_64
Running compile:
Working directory:  /home/dileks/src/kmod/build/meson-private/tmpyajrf_97
Code:

        #define open64 meson_disable_define_of_open64
        
        #include <limits.h>
        #undef open64
        
        #ifdef __cplusplus
        extern "C"
        #endif
        char open64 (void);
        
        #if defined __stub_open64 || defined __stub___open64
        fail fail fail this function is not going to work
        #endif
        
        int main(void) {
          return open64 ();
        }
-----------
Command line: `cc /home/dileks/src/kmod/build/meson-private/tmpyajrf_97/testfile.c -o /home/dileks/src/kmod/build/meson-private/tmpyajrf_97/output.exe -D_FILE_OFFSET_BITS=64 -O0 -std=gnu11 -D_GNU_SOURCE` -> 0
Checking for function "open64" : YES 
Running compile:
Working directory:  /home/dileks/src/kmod/build/meson-private/tmp7vfhq3ks
Code:

        #define stat64 meson_disable_define_of_stat64
        
        #include <limits.h>
        #undef stat64
        
        #ifdef __cplusplus
        extern "C"
        #endif
        char stat64 (void);
        
        #if defined __stub_stat64 || defined __stub___stat64
        fail fail fail this function is not going to work
        #endif
        
        int main(void) {
          return stat64 ();
        }
-----------
Command line: `cc /home/dileks/src/kmod/build/meson-private/tmp7vfhq3ks/testfile.c -o /home/dileks/src/kmod/build/meson-private/tmp7vfhq3ks/output.exe -D_FILE_OFFSET_BITS=64 -O0 -std=gnu11 -D_GNU_SOURCE` -> 0
Checking for function "stat64" : YES 
Running compile:
Working directory:  /home/dileks/src/kmod/build/meson-private/tmpg5n7su30
Code:

        #define fopen64 meson_disable_define_of_fopen64
        
        #include <limits.h>
        #undef fopen64
        
        #ifdef __cplusplus
        extern "C"
        #endif
        char fopen64 (void);
        
        #if defined __stub_fopen64 || defined __stub___fopen64
        fail fail fail this function is not going to work
        #endif
        
        int main(void) {
          return fopen64 ();
        }
-----------
Command line: `cc /home/dileks/src/kmod/build/meson-private/tmpg5n7su30/testfile.c -o /home/dileks/src/kmod/build/meson-private/tmpg5n7su30/output.exe -D_FILE_OFFSET_BITS=64 -O0 -std=gnu11 -D_GNU_SOURCE` -> 0
Checking for function "fopen64" : YES 
Running compile:
Working directory:  /home/dileks/src/kmod/build/meson-private/tmpd_m555w5
Code:

        #define __stat64_time64 meson_disable_define_of___stat64_time64
        
        #include <limits.h>
        #undef __stat64_time64
        
        #ifdef __cplusplus
        extern "C"
        #endif
        char __stat64_time64 (void);
        
        #if defined __stub___stat64_time64 || defined __stub_____stat64_time64
        fail fail fail this function is not going to work
        #endif
        
        int main(void) {
          return __stat64_time64 ();
        }
-----------
Command line: `cc /home/dileks/src/kmod/build/meson-private/tmpd_m555w5/testfile.c -o /home/dileks/src/kmod/build/meson-private/tmpd_m555w5/output.exe -D_FILE_OFFSET_BITS=64 -O0 -std=gnu11 -D_GNU_SOURCE` -> 1
stderr:
/usr/bin/ld: /tmp/ccu1RyCl.o: in function `main':
testfile.c:(.text+0x5): undefined reference to `__stat64_time64'
collect2: error: ld returned 1 exit status
-----------
Running compile:
Working directory:  /home/dileks/src/kmod/build/meson-private/tmplophcpwd
Code:

        int main(void) {

        /* With some toolchains (MSYS2/mingw for example) the compiler
         * provides various builtins which are not really implemented and
         * fall back to the stdlib where they aren't provided and fail at
         * build/link time. In case the user provides a header, including
         * the header didn't lead to the function being defined, and the
         * function we are checking isn't a builtin itself we assume the
         * builtin is not functional and we just error out. */
        #if !1 && !defined(__stat64_time64) && !0
            #error "No definition for __builtin___stat64_time64 found in the prefix"
        #endif

        #ifdef __has_builtin
            #if !__has_builtin(__builtin___stat64_time64)
                #error "__builtin___stat64_time64 not found"
            #endif
        #elif ! defined(__stat64_time64)
            __builtin___stat64_time64;
        #endif
        return 0;
        }
-----------
Command line: `cc /home/dileks/src/kmod/build/meson-private/tmplophcpwd/testfile.c -o /home/dileks/src/kmod/build/meson-private/tmplophcpwd/output.exe -D_FILE_OFFSET_BITS=64 -O0 -std=gnu11 -D_GNU_SOURCE` -> 1
stderr:
/home/dileks/src/kmod/build/meson-private/tmplophcpwd/testfile.c: In function 'main':
/home/dileks/src/kmod/build/meson-private/tmplophcpwd/testfile.c:17:18: error: #error "__builtin___stat64_time64 not found"
   17 |                 #error "__builtin___stat64_time64 not found"
      |                  ^~~~~
-----------
Checking for function "__stat64_time64" : NO 
Running compile:
Working directory:  /home/dileks/src/kmod/build/meson-private/tmpi41ydj55
Code:

        #define secure_getenv meson_disable_define_of_secure_getenv
        
        #include <limits.h>
        #undef secure_getenv
        
        #ifdef __cplusplus
        extern "C"
        #endif
        char secure_getenv (void);
        
        #if defined __stub_secure_getenv || defined __stub___secure_getenv
        fail fail fail this function is not going to work
        #endif
        
        int main(void) {
          return secure_getenv ();
        }
-----------
Command line: `cc /home/dileks/src/kmod/build/meson-private/tmpi41ydj55/testfile.c -o /home/dileks/src/kmod/build/meson-private/tmpi41ydj55/output.exe -D_FILE_OFFSET_BITS=64 -O0 -std=gnu11 -D_GNU_SOURCE` -> 0
Checking for function "secure_getenv" : YES 
Running compile:
Working directory:  /home/dileks/src/kmod/build/meson-private/tmpexhxhww0
Code:
int main(void){__builtin_clz(0);return 0;}
-----------
Command line: `cc /home/dileks/src/kmod/build/meson-private/tmpexhxhww0/testfile.c -o /home/dileks/src/kmod/build/meson-private/tmpexhxhww0/output.exe -D_FILE_OFFSET_BITS=64 -O0 -std=gnu11` -> 0
Running compile:
Working directory:  /home/dileks/src/kmod/build/meson-private/tmpe4gd41ul
Code:
int main(void){__builtin_types_compatible_p(int, int);return 0;}
-----------
Command line: `cc /home/dileks/src/kmod/build/meson-private/tmpe4gd41ul/testfile.c -o /home/dileks/src/kmod/build/meson-private/tmpe4gd41ul/output.exe -D_FILE_OFFSET_BITS=64 -O0 -std=gnu11` -> 0
Running compile:
Working directory:  /home/dileks/src/kmod/build/meson-private/tmpr599jggz
Code:
int main(void){__builtin_uadd_overflow(0U, 0U, (void*)0);return 0;}
-----------
Command line: `cc /home/dileks/src/kmod/build/meson-private/tmpr599jggz/testfile.c -o /home/dileks/src/kmod/build/meson-private/tmpr599jggz/output.exe -D_FILE_OFFSET_BITS=64 -O0 -std=gnu11` -> 0
Running compile:
Working directory:  /home/dileks/src/kmod/build/meson-private/tmpfouq2myq
Code:
int main(void){__builtin_uaddl_overflow(0UL, 0UL, (void*)0);return 0;}
-----------
Command line: `cc /home/dileks/src/kmod/build/meson-private/tmpfouq2myq/testfile.c -o /home/dileks/src/kmod/build/meson-private/tmpfouq2myq/output.exe -D_FILE_OFFSET_BITS=64 -O0 -std=gnu11` -> 0
Running compile:
Working directory:  /home/dileks/src/kmod/build/meson-private/tmp1_o2mteb
Code:
int main(void){__builtin_uaddll_overflow(0ULL, 0ULL, (void*)0);return 0;}
-----------
Command line: `cc /home/dileks/src/kmod/build/meson-private/tmp1_o2mteb/testfile.c -o /home/dileks/src/kmod/build/meson-private/tmp1_o2mteb/output.exe -D_FILE_OFFSET_BITS=64 -O0 -std=gnu11` -> 0
Running compile:
Working directory:  /home/dileks/src/kmod/build/meson-private/tmpuyeaxg5v
Code:
int main(void){__builtin_umul_overflow(0U, 0U, (void*)0);return 0;}
-----------
Command line: `cc /home/dileks/src/kmod/build/meson-private/tmpuyeaxg5v/testfile.c -o /home/dileks/src/kmod/build/meson-private/tmpuyeaxg5v/output.exe -D_FILE_OFFSET_BITS=64 -O0 -std=gnu11` -> 0
Running compile:
Working directory:  /home/dileks/src/kmod/build/meson-private/tmpa0raegj5
Code:
int main(void){__builtin_umull_overflow(0UL, 0UL, (void*)0);return 0;}
-----------
Command line: `cc /home/dileks/src/kmod/build/meson-private/tmpa0raegj5/testfile.c -o /home/dileks/src/kmod/build/meson-private/tmpa0raegj5/output.exe -D_FILE_OFFSET_BITS=64 -O0 -std=gnu11` -> 0
Running compile:
Working directory:  /home/dileks/src/kmod/build/meson-private/tmph_xs0iyt
Code:
int main(void){__builtin_umulll_overflow(0ULL, 0ULL, (void*)0);return 0;}
-----------
Command line: `cc /home/dileks/src/kmod/build/meson-private/tmph_xs0iyt/testfile.c -o /home/dileks/src/kmod/build/meson-private/tmph_xs0iyt/output.exe -D_FILE_OFFSET_BITS=64 -O0 -std=gnu11` -> 0
Running compile:
Working directory:  /home/dileks/src/kmod/build/meson-private/tmpm4wklva9
Code:
#include <sys/stat.h>
        void bar(void) {
            struct stat foo;
            (void) ( foo.st_mtim );

            (void) foo;
        }
-----------
Command line: `cc /home/dileks/src/kmod/build/meson-private/tmpm4wklva9/testfile.c -o /home/dileks/src/kmod/build/meson-private/tmpm4wklva9/output.obj -c -D_FILE_OFFSET_BITS=64 -O0 -std=gnu11 -D_GNU_SOURCE` -> 0
Checking whether type "struct stat" has member "st_mtim" : YES 
Running compile:
Working directory:  /home/dileks/src/kmod/build/meson-private/tmp5i4q8c5s
Code:

        #include <string.h>
        int main(void) {
            /* If it's not defined as a macro, try to use as a symbol */
            #ifndef basename
                basename;
            #endif
            return 0;
        }
-----------
Command line: `cc /home/dileks/src/kmod/build/meson-private/tmp5i4q8c5s/testfile.c -o /home/dileks/src/kmod/build/meson-private/tmp5i4q8c5s/output.obj -c -D_FILE_OFFSET_BITS=64 -O0 -std=gnu11 -D_GNU_SOURCE` -> 0
Header "string.h" has symbol "basename" : YES 
Running compile:
Working directory:  /home/dileks/src/kmod/build/meson-private/tmpc43urmsw
Code:

        #include <sys/stat.h>
        int main(void) {
            /* If it's not defined as a macro, try to use as a symbol */
            #ifndef __xstat
                __xstat;
            #endif
            return 0;
        }
-----------
Command line: `cc /home/dileks/src/kmod/build/meson-private/tmpc43urmsw/testfile.c -o /home/dileks/src/kmod/build/meson-private/tmpc43urmsw/output.obj -c -D_FILE_OFFSET_BITS=64 -O0 -std=gnu11 -D_GNU_SOURCE` -> 1
stderr:
/home/dileks/src/kmod/build/meson-private/tmpc43urmsw/testfile.c: In function 'main':
/home/dileks/src/kmod/build/meson-private/tmpc43urmsw/testfile.c:6:17: error: '__xstat' undeclared (first use in this function); did you mean 'lstat'?
    6 |                 __xstat;
      |                 ^~~~~~~
      |                 lstat
/home/dileks/src/kmod/build/meson-private/tmpc43urmsw/testfile.c:6:17: note: each undeclared identifier is reported only once for each function it appears in
-----------
Header "sys/stat.h" has symbol "__xstat" : NO 
Running compile:
Working directory:  /home/dileks/src/kmod/build/meson-private/tmpiu_zxj3y
Code:
_Static_assert(1, "Test");
-----------
Command line: `cc /home/dileks/src/kmod/build/meson-private/tmpiu_zxj3y/testfile.c -o /home/dileks/src/kmod/build/meson-private/tmpiu_zxj3y/output.obj -c -D_FILE_OFFSET_BITS=64 -O0 -std=gnu11` -> 0
Checking if "_Static_assert" compiles: YES 
Running compile:
Working directory:  /home/dileks/src/kmod/build/meson-private/tmpa880fe7_
Code:

    #include <stdlib.h>
    _Noreturn int foo(void) { exit(0); }
    
-----------
Command line: `cc /home/dileks/src/kmod/build/meson-private/tmpa880fe7_/testfile.c -o /home/dileks/src/kmod/build/meson-private/tmpa880fe7_/output.obj -c -D_FILE_OFFSET_BITS=64 -O0 -std=gnu11` -> 0
Checking if "_Noreturn" compiles: YES 
Running compile:
Working directory:  /home/dileks/src/kmod/build/meson-private/tmptjqfqfwg
Code:
extern int i;
int i;

-----------
Command line: `cc /home/dileks/src/kmod/build/meson-private/tmptjqfqfwg/testfile.c -o /home/dileks/src/kmod/build/meson-private/tmptjqfqfwg/output.obj -c -D_FILE_OFFSET_BITS=64 -O0 -Winline -Wno-inline` -> 0
Compiler for C supports arguments -Wno-inline: YES 
Running compile:
Working directory:  /home/dileks/src/kmod/build/meson-private/tmp8dniqqlg
Code:
extern int i;
int i;

-----------
Command line: `cc /home/dileks/src/kmod/build/meson-private/tmp8dniqqlg/testfile.c -o /home/dileks/src/kmod/build/meson-private/tmp8dniqqlg/output.obj -c -D_FILE_OFFSET_BITS=64 -O0 -Wvla` -> 0
Compiler for C supports arguments -Wvla: YES 
Running compile:
Working directory:  /home/dileks/src/kmod/build/meson-private/tmp11qdxwpz
Code:
extern int i;
int i;

-----------
Command line: `cc /home/dileks/src/kmod/build/meson-private/tmp11qdxwpz/testfile.c -o /home/dileks/src/kmod/build/meson-private/tmp11qdxwpz/output.obj -c -D_FILE_OFFSET_BITS=64 -O0 -Wundef` -> 0
Compiler for C supports arguments -Wundef: YES 
Running compile:
Working directory:  /home/dileks/src/kmod/build/meson-private/tmp8vq01cwn
Code:
extern int i;
int i;

-----------
Command line: `cc /home/dileks/src/kmod/build/meson-private/tmp8vq01cwn/testfile.c -o /home/dileks/src/kmod/build/meson-private/tmp8vq01cwn/output.obj -c -D_FILE_OFFSET_BITS=64 -O0 -Wformat=2` -> 0
Compiler for C supports arguments -Wformat=2: YES 
Running compile:
Working directory:  /home/dileks/src/kmod/build/meson-private/tmp71lotc7c
Code:
extern int i;
int i;

-----------
Command line: `cc /home/dileks/src/kmod/build/meson-private/tmp71lotc7c/testfile.c -o /home/dileks/src/kmod/build/meson-private/tmp71lotc7c/output.obj -c -D_FILE_OFFSET_BITS=64 -O0 -Wlogical-op` -> 0
Compiler for C supports arguments -Wlogical-op: YES 
Running compile:
Working directory:  /home/dileks/src/kmod/build/meson-private/tmpph8jpbj8
Code:
extern int i;
int i;

-----------
Command line: `cc /home/dileks/src/kmod/build/meson-private/tmpph8jpbj8/testfile.c -o /home/dileks/src/kmod/build/meson-private/tmpph8jpbj8/output.obj -c -D_FILE_OFFSET_BITS=64 -O0 -Wsign-compare` -> 0
Compiler for C supports arguments -Wsign-compare: YES 
Running compile:
Working directory:  /home/dileks/src/kmod/build/meson-private/tmpfsgiye96
Code:
extern int i;
int i;

-----------
Command line: `cc /home/dileks/src/kmod/build/meson-private/tmpfsgiye96/testfile.c -o /home/dileks/src/kmod/build/meson-private/tmpfsgiye96/output.obj -c -D_FILE_OFFSET_BITS=64 -O0 -Wformat-security` -> 0
stderr:
cc1: warning: '-Wformat-security' ignored without '-Wformat' [-Wformat-security]
-----------
Compiler for C supports arguments -Wformat-security: YES 
Running compile:
Working directory:  /home/dileks/src/kmod/build/meson-private/tmpy7otx2sw
Code:
extern int i;
int i;

-----------
Command line: `cc /home/dileks/src/kmod/build/meson-private/tmpy7otx2sw/testfile.c -o /home/dileks/src/kmod/build/meson-private/tmpy7otx2sw/output.obj -c -D_FILE_OFFSET_BITS=64 -O0 -Wmissing-include-dirs` -> 0
Compiler for C supports arguments -Wmissing-include-dirs: YES 
Running compile:
Working directory:  /home/dileks/src/kmod/build/meson-private/tmp1v2sqkxr
Code:
extern int i;
int i;

-----------
Command line: `cc /home/dileks/src/kmod/build/meson-private/tmp1v2sqkxr/testfile.c -o /home/dileks/src/kmod/build/meson-private/tmp1v2sqkxr/output.obj -c -D_FILE_OFFSET_BITS=64 -O0 -Wformat-nonliteral` -> 0
stderr:
cc1: warning: '-Wformat-nonliteral' ignored without '-Wformat' [-Wformat-nonliteral]
-----------
Compiler for C supports arguments -Wformat-nonliteral: YES 
Running compile:
Working directory:  /home/dileks/src/kmod/build/meson-private/tmp7pxi5zx4
Code:
extern int i;
int i;

-----------
Command line: `cc /home/dileks/src/kmod/build/meson-private/tmp7pxi5zx4/testfile.c -o /home/dileks/src/kmod/build/meson-private/tmp7pxi5zx4/output.obj -c -D_FILE_OFFSET_BITS=64 -O0 -Wold-style-definition` -> 0
Compiler for C supports arguments -Wold-style-definition: YES 
Running compile:
Working directory:  /home/dileks/src/kmod/build/meson-private/tmp7pwmrxm6
Code:
extern int i;
int i;

-----------
Command line: `cc /home/dileks/src/kmod/build/meson-private/tmp7pwmrxm6/testfile.c -o /home/dileks/src/kmod/build/meson-private/tmp7pwmrxm6/output.obj -c -D_FILE_OFFSET_BITS=64 -O0 -Wpointer-arith` -> 0
Compiler for C supports arguments -Wpointer-arith: YES 
Running compile:
Working directory:  /home/dileks/src/kmod/build/meson-private/tmp0zhon9jf
Code:
extern int i;
int i;

-----------
Command line: `cc /home/dileks/src/kmod/build/meson-private/tmp0zhon9jf/testfile.c -o /home/dileks/src/kmod/build/meson-private/tmp0zhon9jf/output.obj -c -D_FILE_OFFSET_BITS=64 -O0 -Winit-self` -> 0
Compiler for C supports arguments -Winit-self: YES 
Running compile:
Working directory:  /home/dileks/src/kmod/build/meson-private/tmpl24v90ck
Code:
extern int i;
int i;

-----------
Command line: `cc /home/dileks/src/kmod/build/meson-private/tmpl24v90ck/testfile.c -o /home/dileks/src/kmod/build/meson-private/tmpl24v90ck/output.obj -c -D_FILE_OFFSET_BITS=64 -O0 -Wdeclaration-after-statement` -> 0
Compiler for C supports arguments -Wdeclaration-after-statement: YES 
Running compile:
Working directory:  /home/dileks/src/kmod/build/meson-private/tmpjigagae3
Code:
extern int i;
int i;

-----------
Command line: `cc /home/dileks/src/kmod/build/meson-private/tmpjigagae3/testfile.c -o /home/dileks/src/kmod/build/meson-private/tmpjigagae3/output.obj -c -D_FILE_OFFSET_BITS=64 -O0 -Wfloat-equal` -> 0
Compiler for C supports arguments -Wfloat-equal: YES 
Running compile:
Working directory:  /home/dileks/src/kmod/build/meson-private/tmpey_oez13
Code:
extern int i;
int i;

-----------
Command line: `cc /home/dileks/src/kmod/build/meson-private/tmpey_oez13/testfile.c -o /home/dileks/src/kmod/build/meson-private/tmpey_oez13/output.obj -c -D_FILE_OFFSET_BITS=64 -O0 -Wmissing-prototypes` -> 0
Compiler for C supports arguments -Wmissing-prototypes: YES 
Running compile:
Working directory:  /home/dileks/src/kmod/build/meson-private/tmpnz1cwbgt
Code:
extern int i;
int i;

-----------
Command line: `cc /home/dileks/src/kmod/build/meson-private/tmpnz1cwbgt/testfile.c -o /home/dileks/src/kmod/build/meson-private/tmpnz1cwbgt/output.obj -c -D_FILE_OFFSET_BITS=64 -O0 -Wstrict-prototypes` -> 0
Compiler for C supports arguments -Wstrict-prototypes: YES 
Running compile:
Working directory:  /home/dileks/src/kmod/build/meson-private/tmp1f9ctlcn
Code:
extern int i;
int i;

-----------
Command line: `cc /home/dileks/src/kmod/build/meson-private/tmp1f9ctlcn/testfile.c -o /home/dileks/src/kmod/build/meson-private/tmp1f9ctlcn/output.obj -c -D_FILE_OFFSET_BITS=64 -O0 -Wredundant-decls` -> 0
Compiler for C supports arguments -Wredundant-decls: YES 
Running compile:
Working directory:  /home/dileks/src/kmod/build/meson-private/tmpugvsdbau
Code:
extern int i;
int i;

-----------
Command line: `cc /home/dileks/src/kmod/build/meson-private/tmpugvsdbau/testfile.c -o /home/dileks/src/kmod/build/meson-private/tmpugvsdbau/output.obj -c -D_FILE_OFFSET_BITS=64 -O0 -Wmissing-declarations` -> 0
Compiler for C supports arguments -Wmissing-declarations: YES 
Running compile:
Working directory:  /home/dileks/src/kmod/build/meson-private/tmpui_7xuzb
Code:
extern int i;
int i;

-----------
Command line: `cc /home/dileks/src/kmod/build/meson-private/tmpui_7xuzb/testfile.c -o /home/dileks/src/kmod/build/meson-private/tmpui_7xuzb/output.obj -c -D_FILE_OFFSET_BITS=64 -O0 -Wmissing-noreturn` -> 0
Compiler for C supports arguments -Wmissing-noreturn: YES 
Running compile:
Working directory:  /home/dileks/src/kmod/build/meson-private/tmplbyqc5ly
Code:
extern int i;
int i;

-----------
Command line: `cc /home/dileks/src/kmod/build/meson-private/tmplbyqc5ly/testfile.c -o /home/dileks/src/kmod/build/meson-private/tmplbyqc5ly/output.obj -c -D_FILE_OFFSET_BITS=64 -O0 -Wshadow` -> 0
Compiler for C supports arguments -Wshadow: YES 
Running compile:
Working directory:  /home/dileks/src/kmod/build/meson-private/tmpagos51xj
Code:
extern int i;
int i;

-----------
Command line: `cc /home/dileks/src/kmod/build/meson-private/tmpagos51xj/testfile.c -o /home/dileks/src/kmod/build/meson-private/tmpagos51xj/output.obj -c -D_FILE_OFFSET_BITS=64 -O0 -Wendif-labels` -> 0
Compiler for C supports arguments -Wendif-labels: YES 
Running compile:
Working directory:  /home/dileks/src/kmod/build/meson-private/tmpqkr5uh62
Code:
extern int i;
int i;

-----------
Command line: `cc /home/dileks/src/kmod/build/meson-private/tmpqkr5uh62/testfile.c -o /home/dileks/src/kmod/build/meson-private/tmpqkr5uh62/output.obj -c -D_FILE_OFFSET_BITS=64 -O0 -Wstrict-aliasing=3` -> 0
Compiler for C supports arguments -Wstrict-aliasing=3: YES 
Running compile:
Working directory:  /home/dileks/src/kmod/build/meson-private/tmpvyvbfz3l
Code:
extern int i;
int i;

-----------
Command line: `cc /home/dileks/src/kmod/build/meson-private/tmpvyvbfz3l/testfile.c -o /home/dileks/src/kmod/build/meson-private/tmpvyvbfz3l/output.obj -c -D_FILE_OFFSET_BITS=64 -O0 -Wwrite-strings` -> 0
Compiler for C supports arguments -Wwrite-strings: YES 
Running compile:
Working directory:  /home/dileks/src/kmod/build/meson-private/tmp6xm5jz1n
Code:
extern int i;
int i;

-----------
Command line: `cc /home/dileks/src/kmod/build/meson-private/tmp6xm5jz1n/testfile.c -o /home/dileks/src/kmod/build/meson-private/tmp6xm5jz1n/output.obj -c -D_FILE_OFFSET_BITS=64 -O0 -Wlong-long -Wno-long-long` -> 0
Compiler for C supports arguments -Wno-long-long: YES 
Running compile:
Working directory:  /home/dileks/src/kmod/build/meson-private/tmppaedk75h
Code:
extern int i;
int i;

-----------
Command line: `cc /home/dileks/src/kmod/build/meson-private/tmppaedk75h/testfile.c -o /home/dileks/src/kmod/build/meson-private/tmppaedk75h/output.obj -c -D_FILE_OFFSET_BITS=64 -O0 -Woverlength-strings -Wno-overlength-strings` -> 0
Compiler for C supports arguments -Wno-overlength-strings: YES 
Running compile:
Working directory:  /home/dileks/src/kmod/build/meson-private/tmpbcd328fm
Code:
extern int i;
int i;

-----------
Command line: `cc /home/dileks/src/kmod/build/meson-private/tmpbcd328fm/testfile.c -o /home/dileks/src/kmod/build/meson-private/tmpbcd328fm/output.obj -c -D_FILE_OFFSET_BITS=64 -O0 -Wunused-parameter -Wno-unused-parameter` -> 0
Compiler for C supports arguments -Wno-unused-parameter: YES 
Running compile:
Working directory:  /home/dileks/src/kmod/build/meson-private/tmphop4g8t1
Code:
extern int i;
int i;

-----------
Command line: `cc /home/dileks/src/kmod/build/meson-private/tmphop4g8t1/testfile.c -o /home/dileks/src/kmod/build/meson-private/tmphop4g8t1/output.obj -c -D_FILE_OFFSET_BITS=64 -O0 -Wmissing-field-initializers -Wno-missing-field-initializers` -> 0
Compiler for C supports arguments -Wno-missing-field-initializers: YES 
Running compile:
Working directory:  /home/dileks/src/kmod/build/meson-private/tmpq_x4kqsw
Code:
extern int i;
int i;

-----------
Command line: `cc /home/dileks/src/kmod/build/meson-private/tmpq_x4kqsw/testfile.c -o /home/dileks/src/kmod/build/meson-private/tmpq_x4kqsw/output.obj -c -D_FILE_OFFSET_BITS=64 -O0 -Wnested-externs` -> 0
Compiler for C supports arguments -Wnested-externs: YES 
Running compile:
Working directory:  /home/dileks/src/kmod/build/meson-private/tmprus06d_4
Code:
extern int i;
int i;

-----------
Command line: `cc /home/dileks/src/kmod/build/meson-private/tmprus06d_4/testfile.c -o /home/dileks/src/kmod/build/meson-private/tmprus06d_4/output.obj -c -D_FILE_OFFSET_BITS=64 -O0 -Wchar-subscripts` -> 0
Compiler for C supports arguments -Wchar-subscripts: YES 
Running compile:
Working directory:  /home/dileks/src/kmod/build/meson-private/tmpg279_ghf
Code:
extern int i;
int i;

-----------
Command line: `cc /home/dileks/src/kmod/build/meson-private/tmpg279_ghf/testfile.c -o /home/dileks/src/kmod/build/meson-private/tmpg279_ghf/output.obj -c -D_FILE_OFFSET_BITS=64 -O0 -Wtype-limits` -> 0
Compiler for C supports arguments -Wtype-limits: YES 
Running compile:
Working directory:  /home/dileks/src/kmod/build/meson-private/tmp126_a6u1
Code:
extern int i;
int i;

-----------
Command line: `cc /home/dileks/src/kmod/build/meson-private/tmp126_a6u1/testfile.c -o /home/dileks/src/kmod/build/meson-private/tmp126_a6u1/output.obj -c -D_FILE_OFFSET_BITS=64 -O0 -Wuninitialized` -> 0
Compiler for C supports arguments -Wuninitialized: YES 
Running compile:
Working directory:  /home/dileks/src/kmod/build/meson-private/tmp0ss25g6q
Code:
extern int i;
int i;

-----------
Command line: `cc /home/dileks/src/kmod/build/meson-private/tmp0ss25g6q/testfile.c -o /home/dileks/src/kmod/build/meson-private/tmp0ss25g6q/output.obj -c -D_FILE_OFFSET_BITS=64 -O0 -fno-common` -> 0
Compiler for C supports arguments -fno-common: YES 
Running compile:
Working directory:  /home/dileks/src/kmod/build/meson-private/tmp4upox2nd
Code:
extern int i;
int i;

-----------
Command line: `cc /home/dileks/src/kmod/build/meson-private/tmp4upox2nd/testfile.c -o /home/dileks/src/kmod/build/meson-private/tmp4upox2nd/output.obj -c -D_FILE_OFFSET_BITS=64 -O0 -fdiagnostics-show-option` -> 0
Compiler for C supports arguments -fdiagnostics-show-option: YES 
Running compile:
Working directory:  /home/dileks/src/kmod/build/meson-private/tmpkh5r6a9o
Code:
extern int i;
int i;

-----------
Command line: `cc /home/dileks/src/kmod/build/meson-private/tmpkh5r6a9o/testfile.c -o /home/dileks/src/kmod/build/meson-private/tmpkh5r6a9o/output.obj -c -D_FILE_OFFSET_BITS=64 -O0 -ffunction-sections` -> 0
Compiler for C supports arguments -ffunction-sections: YES 
Running compile:
Working directory:  /home/dileks/src/kmod/build/meson-private/tmpv9rzt31y
Code:
extern int i;
int i;

-----------
Command line: `cc /home/dileks/src/kmod/build/meson-private/tmpv9rzt31y/testfile.c -o /home/dileks/src/kmod/build/meson-private/tmpv9rzt31y/output.obj -c -D_FILE_OFFSET_BITS=64 -O0 -fdata-sections` -> 0
Compiler for C supports arguments -fdata-sections: YES 
Running compile:
Working directory:  /home/dileks/src/kmod/build/meson-private/tmprzms9wqs
Code:
int main(void) { return 0; }

-----------
Command line: `cc /home/dileks/src/kmod/build/meson-private/tmprzms9wqs/testfile.c -o /home/dileks/src/kmod/build/meson-private/tmprzms9wqs/output.exe -D_FILE_OFFSET_BITS=64 -O0 -Wl,--fatal-warnings -Wl,--gc-sections` -> 0
Compiler for C supports link arguments -Wl,--gc-sections: YES 
Pkg-config binary missing from cross or native file, or env var undefined.
Trying a default Pkg-config fallback at pkg-config
Found pkg-config: YES (/usr/bin/pkg-config) 1.8.1
Determining dependency 'bash-completion' with pkg-config executable '/usr/bin/pkg-config'
env[PKG_CONFIG_PATH]: 
env[PKG_CONFIG]: /usr/bin/pkg-config
-----------
Called: `/usr/bin/pkg-config --modversion bash-completion` -> 0
stdout:
2.14.0
-----------
env[PKG_CONFIG_PATH]: 
env[PKG_CONFIG]: /usr/bin/pkg-config
-----------
Called: `/usr/bin/pkg-config --cflags bash-completion` -> 0
env[PKG_CONFIG_ALLOW_SYSTEM_LIBS]: 1
env[PKG_CONFIG_PATH]: 
env[PKG_CONFIG]: /usr/bin/pkg-config
-----------
Called: `/usr/bin/pkg-config --libs bash-completion` -> 0
env[PKG_CONFIG_PATH]: 
env[PKG_CONFIG]: /usr/bin/pkg-config
-----------
Called: `/usr/bin/pkg-config --libs bash-completion` -> 0
Run-time dependency bash-completion found: YES 2.14.0
env[PKG_CONFIG_PATH]: 
env[PKG_CONFIG]: /usr/bin/pkg-config
-----------
Called: `/usr/bin/pkg-config --variable=completionsdir bash-completion` -> 0
stdout:
/usr/share/bash-completion/completions
-----------
Got pkg-config variable completionsdir : /usr/share/bash-completion/completions
Determining dependency 'fish' with pkg-config executable '/usr/bin/pkg-config'
env[PKG_CONFIG_PATH]: 
env[PKG_CONFIG]: /usr/bin/pkg-config
-----------
Called: `/usr/bin/pkg-config --modversion fish` -> 1
stderr:
Package fish was not found in the pkg-config search path.
Perhaps you should add the directory containing `fish.pc'
to the PKG_CONFIG_PATH environment variable
Package 'fish', required by 'virtual:world', not found
-----------
CMake binary for host machine is not cached
CMake binary missing from cross or native file, or env var undefined.
Trying a default CMake fallback at cmake
Found CMake: /usr/bin/cmake (3.30.5)
Extracting basic cmake information
CMake Toolchain: Calling CMake once to generate the compiler state
Calling CMake (['/usr/bin/cmake']) in /home/dileks/src/kmod/build/meson-private/__CMake_compiler_info__ with:
  - "--trace-expand"
  - "--trace-format=json-v1"
  - "--no-warn-unused-cli"
  - "--trace-redirect=cmake_trace.txt"
  - "-G"
  - "Ninja"
  - "-DCMAKE_TOOLCHAIN_FILE=/home/dileks/src/kmod/build/meson-private/__CMake_compiler_info__/CMakeMesonTempToolchainFile.cmake"
  - "."
CMake trace warning: add_executable() non imported executables are not supported
CMake TRACE: /home/dileks/src/kmod/build/meson-private/__CMake_compiler_info__/CMakeFiles/CMakeScratch/TryCompile-5EgkwX/CMakeLists.txt:22 add_executable(['cmTC_95ddd'])
CMake trace warning: target_link_options() TARGET cmTC_95ddd not found
CMake TRACE: /home/dileks/src/kmod/build/meson-private/__CMake_compiler_info__/CMakeFiles/CMakeScratch/TryCompile-5EgkwX/CMakeLists.txt:28 target_link_libraries(['cmTC_95ddd', ''])
Try CMake generator: auto
Calling CMake (['/usr/bin/cmake']) in /home/dileks/src/kmod/build/meson-private/cmake_fish with:
  - "--trace-expand"
  - "--trace-format=json-v1"
  - "--no-warn-unused-cli"
  - "--trace-redirect=cmake_trace.txt"
  - "-DCMAKE_TOOLCHAIN_FILE=/home/dileks/src/kmod/build/meson-private/cmake_fish/CMakeMesonToolchainFile.cmake"
  - "."
  -- Module search paths:    ['/', '/opt', '/usr', '/usr/local']
  -- CMake root:             /usr/share/cmake-3.30
  -- CMake architectures:    ['x86_64-linux-gnu']
  -- CMake lib search paths: ['lib', 'lib32', 'lib64', 'libx32', 'share', '', 'lib/x86_64-linux-gnu']
Preliminary CMake check failed. Aborting.
Run-time dependency fish found: NO (tried pkgconfig and cmake)
Determining dependency 'libzstd' with pkg-config executable '/usr/bin/pkg-config'
env[PKG_CONFIG_PATH]: 
env[PKG_CONFIG]: /usr/bin/pkg-config
-----------
Called: `/usr/bin/pkg-config --modversion libzstd` -> 0
stdout:
1.5.6
-----------
env[PKG_CONFIG_PATH]: 
env[PKG_CONFIG]: /usr/bin/pkg-config
-----------
Called: `/usr/bin/pkg-config --cflags libzstd` -> 0
env[PKG_CONFIG_ALLOW_SYSTEM_LIBS]: 1
env[PKG_CONFIG_PATH]: 
env[PKG_CONFIG]: /usr/bin/pkg-config
-----------
Called: `/usr/bin/pkg-config --libs libzstd` -> 0
stdout:
-L/usr/lib -lzstd
-----------
env[PKG_CONFIG_PATH]: 
env[PKG_CONFIG]: /usr/bin/pkg-config
-----------
Called: `/usr/bin/pkg-config --libs libzstd` -> 0
stdout:
-lzstd
-----------
Running compile:
Working directory:  /home/dileks/src/kmod/build/meson-private/tmp_z3bd8qh
Code:

        #include<stddef.h>
        #include<stdio.h>
        int main(void) {
            printf("%ld\n", (long)(sizeof(void *)));
            return 0;
        }
-----------
Command line: `cc /home/dileks/src/kmod/build/meson-private/tmp_z3bd8qh/testfile.c -o /home/dileks/src/kmod/build/meson-private/tmp_z3bd8qh/output.exe -D_FILE_OFFSET_BITS=64 -O0` -> 0
Program stdout:

8

Program stderr:


Running compile:
Working directory:  /home/dileks/src/kmod/build/meson-private/tmpkbeq_z2n
Code:

-----------
Command line: `cc /home/dileks/src/kmod/build/meson-private/tmpkbeq_z2n/testfile.c -o /home/dileks/src/kmod/build/meson-private/tmpkbeq_z2n/output.obj -c -D_FILE_OFFSET_BITS=64 -O0 --print-search-dirs` -> 0
stdout:
install: /usr/lib/gcc/x86_64-linux-gnu/14/
programs: =/usr/libexec/gcc/x86_64-linux-gnu/14/:/usr/libexec/gcc/x86_64-linux-gnu/14/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/14/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/14/../../../../x86_64-linux-gnu/bin/x86_64-linux-gnu/14/:/usr/lib/gcc/x86_64-linux-gnu/14/../../../../x86_64-linux-gnu/bin/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/14/../../../../x86_64-linux-gnu/bin/
libraries: =/usr/lib/gcc/x86_64-linux-gnu/14/:/usr/lib/gcc/x86_64-linux-gnu/14/../../../../x86_64-linux-gnu/lib/x86_64-linux-gnu/14/:/usr/lib/gcc/x86_64-linux-gnu/14/../../../../x86_64-linux-gnu/lib/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/14/../../../../x86_64-linux-gnu/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/14/../../../x86_64-linux-gnu/14/:/usr/lib/gcc/x86_64-linux-gnu/14/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/14/../../../../lib/:/lib/x86_64-linux-gnu/14/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/14/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/14/../../../../x86_64-linux-gnu/lib/:/usr/lib/gcc/x86_64-linux-gnu/14/../../../:/lib/:/usr/lib/
-----------
Run-time dependency libzstd found: YES 1.5.6
Determining dependency 'liblzma' with pkg-config executable '/usr/bin/pkg-config'
env[PKG_CONFIG_PATH]: 
env[PKG_CONFIG]: /usr/bin/pkg-config
-----------
Called: `/usr/bin/pkg-config --modversion liblzma` -> 0
stdout:
5.6.2
-----------
env[PKG_CONFIG_PATH]: 
env[PKG_CONFIG]: /usr/bin/pkg-config
-----------
Called: `/usr/bin/pkg-config --cflags liblzma` -> 0
env[PKG_CONFIG_ALLOW_SYSTEM_LIBS]: 1
env[PKG_CONFIG_PATH]: 
env[PKG_CONFIG]: /usr/bin/pkg-config
-----------
Called: `/usr/bin/pkg-config --libs liblzma` -> 0
stdout:
-L/usr/lib/x86_64-linux-gnu -llzma
-----------
env[PKG_CONFIG_PATH]: 
env[PKG_CONFIG]: /usr/bin/pkg-config
-----------
Called: `/usr/bin/pkg-config --libs liblzma` -> 0
stdout:
-llzma
-----------
Run-time dependency liblzma found: YES 5.6.2
Determining dependency 'zlib' with pkg-config executable '/usr/bin/pkg-config'
env[PKG_CONFIG_PATH]: 
env[PKG_CONFIG]: /usr/bin/pkg-config
-----------
Called: `/usr/bin/pkg-config --modversion zlib` -> 0
stdout:
1.3.1
-----------
env[PKG_CONFIG_PATH]: 
env[PKG_CONFIG]: /usr/bin/pkg-config
-----------
Called: `/usr/bin/pkg-config --cflags zlib` -> 0
env[PKG_CONFIG_ALLOW_SYSTEM_LIBS]: 1
env[PKG_CONFIG_PATH]: 
env[PKG_CONFIG]: /usr/bin/pkg-config
-----------
Called: `/usr/bin/pkg-config --libs zlib` -> 0
stdout:
-L/usr/lib/x86_64-linux-gnu -lz
-----------
env[PKG_CONFIG_PATH]: 
env[PKG_CONFIG]: /usr/bin/pkg-config
-----------
Called: `/usr/bin/pkg-config --libs zlib` -> 0
stdout:
-lz
-----------
Run-time dependency zlib found: YES 1.3.1
Determining dependency 'libcrypto' with pkg-config executable '/usr/bin/pkg-config'
env[PKG_CONFIG_PATH]: 
env[PKG_CONFIG]: /usr/bin/pkg-config
-----------
Called: `/usr/bin/pkg-config --modversion libcrypto` -> 0
stdout:
3.3.2
-----------
env[PKG_CONFIG_PATH]: 
env[PKG_CONFIG]: /usr/bin/pkg-config
-----------
Called: `/usr/bin/pkg-config --cflags libcrypto` -> 0
env[PKG_CONFIG_ALLOW_SYSTEM_LIBS]: 1
env[PKG_CONFIG_PATH]: 
env[PKG_CONFIG]: /usr/bin/pkg-config
-----------
Called: `/usr/bin/pkg-config --libs libcrypto` -> 0
stdout:
-L/usr/lib/x86_64-linux-gnu -lcrypto
-----------
env[PKG_CONFIG_PATH]: 
env[PKG_CONFIG]: /usr/bin/pkg-config
-----------
Called: `/usr/bin/pkg-config --libs libcrypto` -> 0
stdout:
-lcrypto
-----------
Run-time dependency libcrypto found: YES 3.3.2
Configuring config.h using configuration
Program scripts/kmod-symlink.sh found: YES (/home/dileks/src/kmod/git/scripts/kmod-symlink.sh)
Program scripts/build-scdoc.sh found: YES (/home/dileks/src/kmod/git/scripts/build-scdoc.sh)
Program scdoc found: YES (/usr/bin/scdoc)
Program scripts/test-gtkdoc.sh found: YES (/home/dileks/src/kmod/git/scripts/test-gtkdoc.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)
Adding test "test-gtkdoc"
Build targets in project: 23

kmod 33

  Directories
    moduledir     : /lib/modules
    prefix        : /opt/kmod-v33-300-g7b416d59e450
    sysconfdir    : /opt/kmod-v33-300-g7b416d59e450/etc
    distconfdir   : /opt/kmod-v33-300-g7b416d59e450/lib/x86_64-linux-gnu
    libdir        : /opt/kmod-v33-300-g7b416d59e450/lib/x86_64-linux-gnu
    includedir    : /opt/kmod-v33-300-g7b416d59e450/include
    bindir        : /opt/kmod-v33-300-g7b416d59e450/bin

  Options
    tools         : true
    logging       : true
    debug-messages: true
    build-tests   : false
    manpages      : true
    docs          : true

    features      : +ZSTD +XZ +ZLIB +LIBCRYPTO

  User defined options
    Native files  : build-dev.ini
    prefix        : /opt/kmod-v33-300-g7b416d59e450
    sysconfdir    : /opt/kmod-v33-300-g7b416d59e450/etc

Found ninja-1.12.1 at /usr/bin/ninja
Failed to guess install tag for /opt/kmod-v33-300-g7b416d59e450/share/man/man5/depmod.d.5
Failed to guess install tag for /opt/kmod-v33-300-g7b416d59e450/share/man/man5/modprobe.d.5
Failed to guess install tag for /opt/kmod-v33-300-g7b416d59e450/share/man/man5/modules.dep.5
Failed to guess install tag for /opt/kmod-v33-300-g7b416d59e450/share/man/man8/depmod.8
Failed to guess install tag for /opt/kmod-v33-300-g7b416d59e450/share/man/man8/insmod.8
Failed to guess install tag for /opt/kmod-v33-300-g7b416d59e450/share/man/man8/kmod.8
Failed to guess install tag for /opt/kmod-v33-300-g7b416d59e450/share/man/man8/lsmod.8
Failed to guess install tag for /opt/kmod-v33-300-g7b416d59e450/share/man/man8/modinfo.8
Failed to guess install tag for /opt/kmod-v33-300-g7b416d59e450/share/man/man8/modprobe.8
Failed to guess install tag for /opt/kmod-v33-300-g7b416d59e450/share/man/man8/rmmod.8
Failed to guess install tag for /opt/kmod-v33-300-g7b416d59e450/share/man/man5/modules.dep.bin.5
Failed to guess install tag for /usr/share/bash-completion/completions/insmod
Failed to guess install tag for /usr/share/bash-completion/completions/lsmod
Failed to guess install tag for /usr/share/bash-completion/completions/rmmod
Failed to guess install tag for /opt/kmod-v33-300-g7b416d59e450/share/fish/vendor_functions.d/insmod.fish
Failed to guess install tag for /opt/kmod-v33-300-g7b416d59e450/share/fish/vendor_functions.d/lsmod.fish
Failed to guess install tag for /opt/kmod-v33-300-g7b416d59e450/share/fish/vendor_functions.d/rmmod.fish
Failed to guess install tag for /opt/kmod-v33-300-g7b416d59e450/share/zsh/site-functions/_insmod
Failed to guess install tag for /opt/kmod-v33-300-g7b416d59e450/share/zsh/site-functions/_lsmod
Failed to guess install tag for /opt/kmod-v33-300-g7b416d59e450/share/zsh/site-functions/_rmmod
Failed to guess install tag for /usr/share/bash-completion/completions/kmod
Failed to guess install tag for install script: /home/dileks/src/kmod/git/scripts/kmod-symlink.sh bin/depmod
Failed to guess install tag for install script: /home/dileks/src/kmod/git/scripts/kmod-symlink.sh bin/insmod
Failed to guess install tag for install script: /home/dileks/src/kmod/git/scripts/kmod-symlink.sh bin/lsmod
Failed to guess install tag for install script: /home/dileks/src/kmod/git/scripts/kmod-symlink.sh bin/modinfo
Failed to guess install tag for install script: /home/dileks/src/kmod/git/scripts/kmod-symlink.sh bin/modprobe
Failed to guess install tag for install script: /home/dileks/src/kmod/git/scripts/kmod-symlink.sh bin/rmmod
Failed to guess install tag for /opt/kmod-v33-300-g7b416d59e450/share/man/man5/depmod.d.5
Failed to guess install tag for /opt/kmod-v33-300-g7b416d59e450/share/man/man5/modprobe.d.5
Failed to guess install tag for /opt/kmod-v33-300-g7b416d59e450/share/man/man5/modules.dep.5
Failed to guess install tag for /opt/kmod-v33-300-g7b416d59e450/share/man/man8/depmod.8
Failed to guess install tag for /opt/kmod-v33-300-g7b416d59e450/share/man/man8/insmod.8
Failed to guess install tag for /opt/kmod-v33-300-g7b416d59e450/share/man/man8/kmod.8
Failed to guess install tag for /opt/kmod-v33-300-g7b416d59e450/share/man/man8/lsmod.8
Failed to guess install tag for /opt/kmod-v33-300-g7b416d59e450/share/man/man8/modinfo.8
Failed to guess install tag for /opt/kmod-v33-300-g7b416d59e450/share/man/man8/modprobe.8
Failed to guess install tag for /opt/kmod-v33-300-g7b416d59e450/share/man/man8/rmmod.8
Failed to guess install tag for /opt/kmod-v33-300-g7b416d59e450/share/man/man5/modules.dep.bin.5
Failed to guess install tag for /usr/share/bash-completion/completions/insmod
Failed to guess install tag for /usr/share/bash-completion/completions/lsmod
Failed to guess install tag for /usr/share/bash-completion/completions/rmmod
Failed to guess install tag for /opt/kmod-v33-300-g7b416d59e450/share/fish/vendor_functions.d/insmod.fish
Failed to guess install tag for /opt/kmod-v33-300-g7b416d59e450/share/fish/vendor_functions.d/lsmod.fish
Failed to guess install tag for /opt/kmod-v33-300-g7b416d59e450/share/fish/vendor_functions.d/rmmod.fish
Failed to guess install tag for /opt/kmod-v33-300-g7b416d59e450/share/zsh/site-functions/_insmod
Failed to guess install tag for /opt/kmod-v33-300-g7b416d59e450/share/zsh/site-functions/_lsmod
Failed to guess install tag for /opt/kmod-v33-300-g7b416d59e450/share/zsh/site-functions/_rmmod
Failed to guess install tag for /usr/share/bash-completion/completions/kmod
Failed to guess install tag for install script: /home/dileks/src/kmod/git/scripts/kmod-symlink.sh bin/depmod
Failed to guess install tag for install script: /home/dileks/src/kmod/git/scripts/kmod-symlink.sh bin/insmod
Failed to guess install tag for install script: /home/dileks/src/kmod/git/scripts/kmod-symlink.sh bin/lsmod
Failed to guess install tag for install script: /home/dileks/src/kmod/git/scripts/kmod-symlink.sh bin/modinfo
Failed to guess install tag for install script: /home/dileks/src/kmod/git/scripts/kmod-symlink.sh bin/modprobe
Failed to guess install tag for install script: /home/dileks/src/kmod/git/scripts/kmod-symlink.sh bin/rmmod
# List of files installed by Meson
# Does not contain files installed by custom scripts.
/opt/kmod-v33-300-g7b416d59e450/lib/x86_64-linux-gnu/libkmod.so.2.5.0
/opt/kmod-v33-300-g7b416d59e450/bin/kmod
/opt/kmod-v33-300-g7b416d59e450/share/man/man5/depmod.d.5
/opt/kmod-v33-300-g7b416d59e450/share/man/man5/modprobe.d.5
/opt/kmod-v33-300-g7b416d59e450/share/man/man5/modules.dep.5
/opt/kmod-v33-300-g7b416d59e450/share/man/man8/depmod.8
/opt/kmod-v33-300-g7b416d59e450/share/man/man8/insmod.8
/opt/kmod-v33-300-g7b416d59e450/share/man/man8/kmod.8
/opt/kmod-v33-300-g7b416d59e450/share/man/man8/lsmod.8
/opt/kmod-v33-300-g7b416d59e450/share/man/man8/modinfo.8
/opt/kmod-v33-300-g7b416d59e450/share/man/man8/modprobe.8
/opt/kmod-v33-300-g7b416d59e450/share/man/man8/rmmod.8
/opt/kmod-v33-300-g7b416d59e450/share/man/man5/modules.dep.bin.5
/opt/kmod-v33-300-g7b416d59e450/include/libkmod.h
/usr/share/bash-completion/completions/insmod
/usr/share/bash-completion/completions/lsmod
/usr/share/bash-completion/completions/rmmod
/opt/kmod-v33-300-g7b416d59e450/share/fish/vendor_functions.d/insmod.fish
/opt/kmod-v33-300-g7b416d59e450/share/fish/vendor_functions.d/lsmod.fish
/opt/kmod-v33-300-g7b416d59e450/share/fish/vendor_functions.d/rmmod.fish
/opt/kmod-v33-300-g7b416d59e450/share/zsh/site-functions/_insmod
/opt/kmod-v33-300-g7b416d59e450/share/zsh/site-functions/_lsmod
/opt/kmod-v33-300-g7b416d59e450/share/zsh/site-functions/_rmmod
/usr/share/bash-completion/completions/kmod
/opt/kmod-v33-300-g7b416d59e450/lib/x86_64-linux-gnu/pkgconfig/libkmod.pc
/opt/kmod-v33-300-g7b416d59e450/share/pkgconfig/kmod.pc
/opt/kmod-v33-300-g7b416d59e450/lib/x86_64-linux-gnu/libkmod.so.2
/opt/kmod-v33-300-g7b416d59e450/lib/x86_64-linux-gnu/libkmod.so
/opt/kmod-v33-300-g7b416d59e450/share/pkgconfig
/opt/kmod-v33-300-g7b416d59e450/lib/x86_64-linux-gnu/pkgconfig
/opt/kmod-v33-300-g7b416d59e450/share/zsh/site-functions
/opt/kmod-v33-300-g7b416d59e450/share/zsh
/opt/kmod-v33-300-g7b416d59e450/share/fish/vendor_functions.d
/opt/kmod-v33-300-g7b416d59e450/share/fish
/opt/kmod-v33-300-g7b416d59e450/include
/opt/kmod-v33-300-g7b416d59e450/share/man/man8
/opt/kmod-v33-300-g7b416d59e450/share/man/man5
/opt/kmod-v33-300-g7b416d59e450/share/man
/opt/kmod-v33-300-g7b416d59e450/share
/opt/kmod-v33-300-g7b416d59e450/bin
/opt/kmod-v33-300-g7b416d59e450/lib/x86_64-linux-gnu
/opt/kmod-v33-300-g7b416d59e450/lib
/opt/kmod-v33-300-g7b416d59e450

Comments

Emil Velikov Oct. 18, 2024, 12:01 p.m. UTC | #1
Hi Sedat,

On Fri, 18 Oct 2024 at 11:48, Sedat Dilek <sedat.dilek@gmail.com> wrote:
>
> Hi,
>

Have you tested the resulting files, or you're just building testing?
In case of the latter we already have CI which covers Debian so
:shrug:

> looks like etc directory was not copied to $PREFIX.
>

Yes, meson behaves differently wrt /etc - not much we can do there.
Ideally you can check how other Debian packages using meson deal with
this and borrow the approach.

> meson setup --prefix $PREFIX --sysconfdir $PREFIX/etc --native-file
> build-dev.ini ../build
>

The build-dev.ini is a configuration file for kmod _developers_, so it
for packaging purposes seems off IMHO.

If you want to help with the Debian side, you can reach out to their
maintainer Marco (CC'd) via the debian bug tracker, email or salsa[1].

HTH
Emil
[1] https://salsa.debian.org/md/kmod
Sedat Dilek Oct. 19, 2024, 11:34 a.m. UTC | #2
On Fri, Oct 18, 2024 at 2:01 PM Emil Velikov <emil.l.velikov@gmail.com> wrote:
>
> Hi Sedat,
>
> On Fri, 18 Oct 2024 at 11:48, Sedat Dilek <sedat.dilek@gmail.com> wrote:

> Have you tested the resulting files, or you're just building testing?
> In case of the latter we already have CI which covers Debian so
> :shrug:
>

Hi Emil,

Great, you consider Debian/unstable builds in your CI.
Thanks.

> > looks like etc directory was not copied to $PREFIX.
> >
>
> Yes, meson behaves differently wrt /etc - not much we can do there.
> Ideally you can check how other Debian packages using meson deal with
> this and borrow the approach.
>

Hmmm, can this be somehow documented - say in README.md?

> > meson setup --prefix $PREFIX --sysconfdir $PREFIX/etc --native-file
> > build-dev.ini ../build
> >
>
> The build-dev.ini is a configuration file for kmod _developers_, so it
> for packaging purposes seems off IMHO.
>

Yupp.
Did upgrade to latest kmod-git and moved to a custom ini file - see below.

[ Documentation ]

README.md requires some hints to manpages and docs build requirements:

manpages: scdoc
docs: gtk-doc-tools (/usr/bin/gtkdoc-scan)

Link: https://packages.debian.org/sid/all/gtk-doc-tools/filelist

I see some more improvements to README.md.
Offer: I can cook up a patch and send for review.

> If you want to help with the Debian side, you can reach out to their
> maintainer Marco (CC'd) via the debian bug tracker, email or salsa[1].
>
> HTH
> Emil
> [1] https://salsa.debian.org/md/kmod

Ah Marco :-)!

I did an install from kmod-git with overwriting the kmod binary and
libkmod library.

Renew my initrd.img file:

KVER="6.12.0-rc3-1-amd64-clang19-kcfi" ; update-initramfs -c -k $KVER
-v 2>&1 | tee log_update-initramfs_$KVER.txt

Booted fine!

I saw some other things like:

 file /usr/lib/x86_64-linux-gnu/libkmod.so*
/usr/lib/x86_64-linux-gnu/libkmod.so:       symbolic link to libkmod.so.2
/usr/lib/x86_64-linux-gnu/libkmod.so.2:     symbolic link to libkmod.so.2.5.0
/usr/lib/x86_64-linux-gnu/libkmod.so.2.5.0: ELF 64-bit LSB shared
object, x86-64, version 1 (SYSV), dynamically linked,
BuildID[sha1]=3990121244ac36f617b2d289712054ecb1e390ba, with
debug_info, not stripped

Or an ASAN complaint is displayed requiring a LD_PRELOAD when
"b_sanitize = 'address,undefined'" is used (when running
update-initramfs).

I have done my own INI file:

--- build-dev.ini       2024-10-19 13:24:58.806312629 +0200
+++ build-dileks.ini    2024-10-19 13:26:05.332670566 +0200
@@ -4,15 +4,15 @@
; SPDX-License-Identifier: LGPL-2.1-or-later

[project options]
-build-tests = true
-debug-messages = true
-docs = true
+build-tests = false
+debug-messages = false
+docs = false
zstd = 'enabled'
xz = 'enabled'
zlib = 'enabled'
openssl = 'enabled'
werror = true
-b_sanitize = 'address,undefined'
+;b_sanitize = 'address,undefined'

[built-in options]
-buildtype = 'debugoptimized'
+;buildtype = 'debugoptimized'

^^ What buildtype other than above exists?

Thanks for the helpful hints, Emil.

Best regards,
-Sedat-
Emil Velikov Oct. 19, 2024, 2:30 p.m. UTC | #3
On Sat, 19 Oct 2024 at 12:35, Sedat Dilek <sedat.dilek@gmail.com> wrote:
>
> On Fri, Oct 18, 2024 at 2:01 PM Emil Velikov <emil.l.velikov@gmail.com> wrote:
> >
> > Hi Sedat,
> >
> > On Fri, 18 Oct 2024 at 11:48, Sedat Dilek <sedat.dilek@gmail.com> wrote:
>
> > Have you tested the resulting files, or you're just building testing?
> > In case of the latter we already have CI which covers Debian so
> > :shrug:
> >
>
> Hi Emil,
>
> Great, you consider Debian/unstable builds in your CI.

We already do use Debian unstable - see the .github folder, in particular [1]

[1] https://github.com/kmod-project/kmod/blob/2758cb57ebe2b7bbf3b435544187a98702929b48/.github/workflows/main.yml#L34

> Thanks.
>
> > > looks like etc directory was not copied to $PREFIX.
> > >
> >
> > Yes, meson behaves differently wrt /etc - not much we can do there.
> > Ideally you can check how other Debian packages using meson deal with
> > this and borrow the approach.
> >
>
> Hmmm, can this be somehow documented - say in README.md?
>

Don't think it scales to document more than the very basics build and
install in kmod's README. Meson has a dedicated site plus a very
active discussion and issues sections.

> > > meson setup --prefix $PREFIX --sysconfdir $PREFIX/etc --native-file
> > > build-dev.ini ../build
> > >
> >
> > The build-dev.ini is a configuration file for kmod _developers_, so it
> > for packaging purposes seems off IMHO.
> >
>
> Yupp.
> Did upgrade to latest kmod-git and moved to a custom ini file - see below.
>
> [ Documentation ]
>
> README.md requires some hints to manpages and docs build requirements:
>
> manpages: scdoc
> docs: gtk-doc-tools (/usr/bin/gtkdoc-scan)
>
> Link: https://packages.debian.org/sid/all/gtk-doc-tools/filelist
>
> I see some more improvements to README.md.
> Offer: I can cook up a patch and send for review.
>

Yes please, nicely spotted. Please read over the CONTRIBUTING.md file for tips.
Try to use the general project name (gtk-doc) and not the package name.

> > If you want to help with the Debian side, you can reach out to their
> > maintainer Marco (CC'd) via the debian bug tracker, email or salsa[1].
> >
> > HTH
> > Emil
> > [1] https://salsa.debian.org/md/kmod
>
> Ah Marco :-)!
>
> I did an install from kmod-git with overwriting the kmod binary and
> libkmod library.
>
> Renew my initrd.img file:
>
> KVER="6.12.0-rc3-1-amd64-clang19-kcfi" ; update-initramfs -c -k $KVER
> -v 2>&1 | tee log_update-initramfs_$KVER.txt
>
> Booted fine!
>
> I saw some other things like:
>
>  file /usr/lib/x86_64-linux-gnu/libkmod.so*
> /usr/lib/x86_64-linux-gnu/libkmod.so:       symbolic link to libkmod.so.2
> /usr/lib/x86_64-linux-gnu/libkmod.so.2:     symbolic link to libkmod.so.2.5.0
> /usr/lib/x86_64-linux-gnu/libkmod.so.2.5.0: ELF 64-bit LSB shared
> object, x86-64, version 1 (SYSV), dynamically linked,
> BuildID[sha1]=3990121244ac36f617b2d289712054ecb1e390ba, with
> debug_info, not stripped
>
> Or an ASAN complaint is displayed requiring a LD_PRELOAD when
> "b_sanitize = 'address,undefined'" is used (when running
> update-initramfs).
>

Yup, those are expected... Speaking of which - with the sanitizers
enablement move to `build-dev.ini` I forgot to update the README :-)

> I have done my own INI file:
>
> --- build-dev.ini       2024-10-19 13:24:58.806312629 +0200
> +++ build-dileks.ini    2024-10-19 13:26:05.332670566 +0200
> @@ -4,15 +4,15 @@
> ; SPDX-License-Identifier: LGPL-2.1-or-later
>
> [project options]
> -build-tests = true
> -debug-messages = true
> -docs = true
> +build-tests = false
> +debug-messages = false
> +docs = false
> zstd = 'enabled'
> xz = 'enabled'
> zlib = 'enabled'
> openssl = 'enabled'
> werror = true
> -b_sanitize = 'address,undefined'
> +;b_sanitize = 'address,undefined'
>
> [built-in options]
> -buildtype = 'debugoptimized'
> +;buildtype = 'debugoptimized'
>
> ^^ What buildtype other than above exists?
>

Check the meson website - it describes them quite well [2]

[2] https://mesonbuild.com/Builtin-options.html#details-for-buildtype

-Emil

> Thanks for the helpful hints, Emil.
>
> Best regards,
> -Sedat-
Sedat Dilek Oct. 19, 2024, 10:07 p.m. UTC | #4
On Sat, Oct 19, 2024 at 4:31 PM Emil Velikov <emil.l.velikov@gmail.com> wrote:
...
> > [built-in options]
> > -buildtype = 'debugoptimized'
> > +;buildtype = 'debugoptimized'
> >
> > ^^ What buildtype other than above exists?
> >
>
> Check the meson website - it describes them quite well [2]
>
> [2] https://mesonbuild.com/Builtin-options.html#details-for-buildtype
>
> -Emil
>

Thanks.

In my custom INI file:

[built-in options]
buildtype = 'release'

and:

sudo meson install --strip -C ../build

Results:

# file /bin/kmod /usr/lib/x86_64-linux-gnu/libkmod.so.2.5.0
/bin/kmod:                                  ELF 64-bit LSB pie
executable, x86-64, version 1 (SYSV), dynamically linked, interpreter
/lib64/ld-linux-x86-64.so.2, Build
ID[sha1]=ef45146171c0036544a9345fbd7d0c96e3fa4cc3, for GNU/Linux 3.2.0, stripped
/usr/lib/x86_64-linux-gnu/libkmod.so.2.5.0: ELF 64-bit LSB shared
object, x86-64, version 1 (SYSV), dynamically linked,
BuildID[sha1]=725a4446b481b380588011e4e8733c1db
eed3c82, stripped

# ll /bin/kmod /usr/lib/x86_64-linux-gnu/libkmod.so.2.5.0
-rwxr-xr-x 1 root root 172K 19. Okt 23:51 /bin/kmod
-rwxr-xr-x 1 root root 103K 19. Okt 23:51
/usr/lib/x86_64-linux-gnu/libkmod.so.2.5.0

Best regards,
-Sedat-
[ PREREQS ]

apt-get update

# man-pages
apt-get install -t unstable scdoc -s
apt-get install -t unstable scdoc -y

# docs
##apt-get install -t unstable gtk-doc-tools -s
##apt-get install -t unstable gtk-doc-tools -y


[ BASE-DIR ]

BASE_DIR="$HOME/src/kmod"

mkdir $BASE_DIR

[ KMOD GIT ]

cd $BASE_DIR

git clone git://git.kernel.org/pub/scm/utils/kernel/kmod/kmod.git git

[ build-dileks.ini ]

; SPDX-FileCopyrightText: 2024 Emil Velikov <emil.l.velikov@gmail.com>
; SPDX-FileCopyrightText: 2024 Lucas De Marchi <lucas.de.marchi@gmail.com>
;
; SPDX-License-Identifier: LGPL-2.1-or-later

[project options]
build-tests = false
debug-messages = false
docs = false
zstd = 'enabled'
xz = 'enabled'
zlib = 'enabled'
openssl = 'enabled'
werror = true
;b_sanitize = 'address,undefined'

[built-in options]
buildtype = 'release'
- EOF -

NOTE: build-tests option requires linux-headers package(s) to be installed!

[ BUILD-DIR ]
 
cd $BASE_DIR

mkdir build 

[ CONFIGURE ]

cd git

meson setup --native-file build-dileks.ini ../build

[ BUILD ]

meson compile -C ../build

[ INSTALL ]

sudo meson install --strip -C ../build


-dileks // 19-Oct-2024: Update to kmod-v33-314-g557e79c360a3; Use buildtype = 'release' and add '--strip' to install
-dileks // 18-Oct-2024: Initial release
Sedat Dilek Oct. 19, 2024, 10:09 p.m. UTC | #5
On Sun, Oct 20, 2024 at 12:07 AM Sedat Dilek <sedat.dilek@gmail.com> wrote:
>
> On Sat, Oct 19, 2024 at 4:31 PM Emil Velikov <emil.l.velikov@gmail.com> wrote:
> ...
> > > [built-in options]
> > > -buildtype = 'debugoptimized'
> > > +;buildtype = 'debugoptimized'
> > >
> > > ^^ What buildtype other than above exists?
> > >
> >
> > Check the meson website - it describes them quite well [2]
> >
> > [2] https://mesonbuild.com/Builtin-options.html#details-for-buildtype
> >
> > -Emil
> >
>
> Thanks.
>
> In my custom INI file:
>
> [built-in options]
> buildtype = 'release'
>
> and:
>
> sudo meson install --strip -C ../build
>
> Results:
>
> # file /bin/kmod /usr/lib/x86_64-linux-gnu/libkmod.so.2.5.0
> /bin/kmod:                                  ELF 64-bit LSB pie
> executable, x86-64, version 1 (SYSV), dynamically linked, interpreter
> /lib64/ld-linux-x86-64.so.2, Build
> ID[sha1]=ef45146171c0036544a9345fbd7d0c96e3fa4cc3, for GNU/Linux 3.2.0, stripped
> /usr/lib/x86_64-linux-gnu/libkmod.so.2.5.0: ELF 64-bit LSB shared
> object, x86-64, version 1 (SYSV), dynamically linked,
> BuildID[sha1]=725a4446b481b380588011e4e8733c1db
> eed3c82, stripped
>
> # ll /bin/kmod /usr/lib/x86_64-linux-gnu/libkmod.so.2.5.0
> -rwxr-xr-x 1 root root 172K 19. Okt 23:51 /bin/kmod
> -rwxr-xr-x 1 root root 103K 19. Okt 23:51
> /usr/lib/x86_64-linux-gnu/libkmod.so.2.5.0
>

Link: https://mesonbuild.com/Release-notes-for-0-62-0.html#meson-install-strip
Sedat Dilek Oct. 19, 2024, 10:27 p.m. UTC | #6
Add strip option to custom INI file:

[ build-dileks.ini ]

; SPDX-FileCopyrightText: 2024 Emil Velikov <emil.l.velikov@gmail.com>
; SPDX-FileCopyrightText: 2024 Lucas De Marchi <lucas.de.marchi@gmail.com>
;
; SPDX-License-Identifier: LGPL-2.1-or-later

[project options]
build-tests = false
debug-messages = false
docs = false
zstd = 'enabled'
xz = 'enabled'
zlib = 'enabled'
openssl = 'enabled'
werror = true
strip = true

[built-in options]
buildtype = 'release'
- EOF -

BR,
-sed@-
diff mbox series

Patch

--- a/build-dev.ini
+++ b/build-dev.ini
@@ -4,7 +4,7 @@ 
; SPDX-License-Identifier: LGPL-2.1-or-later

[project options]
-build-tests = true
+build-tests = false
debug-messages = true
docs = true
zstd = 'enabled'