From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on gnuweeb.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, NICE_REPLY_A,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 Received: from mail-pl1-f181.google.com (mail-pl1-f181.google.com [209.85.214.181]) by gnuweeb.org (Postfix) with ESMTPS id 36E147E312 for ; Sun, 3 Apr 2022 15:01:01 +0000 (UTC) Authentication-Results: gnuweeb.org; dkim=pass (2048-bit key; unprotected) header.d=kernel-dk.20210112.gappssmtp.com header.i=@kernel-dk.20210112.gappssmtp.com header.a=rsa-sha256 header.s=20210112 header.b=qT1wvYs5; dkim-atps=neutral Received: by mail-pl1-f181.google.com with SMTP id c23so6283846plo.0 for ; Sun, 03 Apr 2022 08:01:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel-dk.20210112.gappssmtp.com; s=20210112; h=message-id:date:mime-version:user-agent:subject:content-language:to :cc:references:from:in-reply-to:content-transfer-encoding; bh=78t5jB+URxRJvWeVp7bawvkn5jW/ehLW3Xd2mtnl2qo=; b=qT1wvYs5WYIx0yWOoEmdtiC+WKdIR4UJ9XRGmFMgUGQLQJTpO+UsOJbAqwZLD9ighf GNdcC32pODe88yLrm5D/kCcqrgVcseCvrLvGlfM8fSvapocKvOkmRc8U6eQg5s5kFnI/ oqlqpAiTDESoxcAXyWQQQgg1s0uoAF6RPsDtBoTLkhvfRhMjJBH25YiT7Us1n4Xh6Jw2 TAhG2MEPCwlZfkYm1C8de5vqf1ou851du53n7k5kuSBR0tvJCVZOSpYXMgRwaoqUhc5N sK2Oj791bzyd7nPVmqGDxJrhrGpUvj/6XDcIOcY/hWvqEwJZ/01fEjaSb1/sJEgQlQ3z hs6g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:date:mime-version:user-agent:subject :content-language:to:cc:references:from:in-reply-to :content-transfer-encoding; bh=78t5jB+URxRJvWeVp7bawvkn5jW/ehLW3Xd2mtnl2qo=; b=jjrl0qBSzV+kKg2TTUOX+pkAaJkaKaXNnvelf+yvzsLv5wAcP6u1Uu+fYMiTPWvyot clydnUOeKHtxRTd81Wy0MdcXwqPvOJtZ0yNybUCk/+qeknStWCGsPK6SW1RiccbVKvkC 1rlM6JkyR5ZraiO9CUlAhW+WaIZS6ehYgFwCOWoEUolebOv0OVK2ZbtoHTLb9KHQVzqF UU3WI+BZPXswWTvMqBcYyavjg0bJCJcTPJed7SCa9NQ9fIOuGdzweoTtnNhHfJ7Wz4CV sxBzP/gMKWodeUDCS3LAH4rSEcqC4PqU8/U5w4/EpmB/TcBt3snPIabfNo2rVPMg/XBw /XDQ== X-Gm-Message-State: AOAM532l10MIfWITMRWtVz9WZ48ZE4jQYQ4nnjvKwTSa/mEdPY78zUw9 SuPXsfjWLTzP7dk+W5NbeTGY0y0tTLvwiA== X-Google-Smtp-Source: ABdhPJyu8U4NaHFSN795BdwB3oHedNXtn8AMf0QcHNKiIZXDYykac3nz9Wne38oHusOLj/+LWHmZcA== X-Received: by 2002:a17:902:cf05:b0:156:8445:ce0f with SMTP id i5-20020a170902cf0500b001568445ce0fmr5970441plg.99.1648998060529; Sun, 03 Apr 2022 08:01:00 -0700 (PDT) Received: from [192.168.1.100] ([198.8.77.157]) by smtp.gmail.com with ESMTPSA id c4-20020a17090a4d0400b001ca5cf3271csm4696366pjg.14.2022.04.03.08.00.59 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 03 Apr 2022 08:01:00 -0700 (PDT) Message-ID: <0f33b074-9bed-2fe2-10f6-a36b1c3f63d3@kernel.dk> Date: Sun, 3 Apr 2022 09:00:59 -0600 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux aarch64; rv:91.0) Gecko/20100101 Thunderbird/91.7.0 Subject: Re: [PATCH liburing v1 2/2] test/Makefile: Append `.test` to the test binary filename Content-Language: en-US To: Ammar Faizi Cc: io-uring Mailing List , GNU/Weeb Mailing List References: <20220403095602.133862-1-ammarfaizi2@gnuweeb.org> <20220403095602.133862-3-ammarfaizi2@gnuweeb.org> <5eb7b378-b0cf-83ff-7796-87a33517b1a0@kernel.dk> From: Jens Axboe In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit List-Id: On 4/3/22 8:55 AM, Ammar Faizi wrote: > On 4/3/22 9:51 PM, Jens Axboe wrote: >> On 4/3/22 3:56 AM, Ammar Faizi wrote: >>> When adding a new test, we often forget to add the new test binary to >>> `.gitignore`. Append `.test` to the test binary filename, this way we >>> can use a wildcard matching "test/*.test" in `.gitignore` to ignore all >>> test binary files. >> >> Did you build it? >> >> CC 917257daa0fe-test.test >> /usr/bin/ld: /tmp/ccGrhiuN.o: in function `thread_start': >> /home/axboe/git/liburing/test/35fa71a030ca-test.c:52: undefined reference to `pthread_attr_setstacksize' >> /usr/bin/ld: /home/axboe/git/liburing/test/35fa71a030ca-test.c:55: undefined reference to `pthread_create' >> CC a0908ae19763-test.test >> collect2: error: ld returned 1 exit status >> make[1]: *** [Makefile:210: 35fa71a030ca-test.test] Error 1 >> make[1]: *** Waiting for unfinished jobs.... >> /usr/bin/ld: /tmp/cc2nozDW.o: in function `main': >> /home/axboe/git/liburing/test/232c93d07b74-test.c:295: undefined reference to `pthread_create' >> /usr/bin/ld: /home/axboe/git/liburing/test/232c93d07b74-test.c:296: undefined reference to `pthread_create' >> /usr/bin/ld: /home/axboe/git/liburing/test/232c93d07b74-test.c:297: undefined reference to `pthread_join' >> /usr/bin/ld: /home/axboe/git/liburing/test/232c93d07b74-test.c:298: undefined reference to `pthread_join' >> collect2: error: ld returned 1 exit status >> make[1]: *** [Makefile:210: 232c93d07b74-test.test] Error 1 >> make[1]: Leaving directory '/home/axboe/git/liburing/test' >> >> I do like the idea of not having to keep fixing that gitignore list. > > Hmm.. weird... It builds just fine from my end. > Can you show the full commands? Sure, here it is: axboe@m1 ~/gi/liburing (master)> make V=1 0.011s Running configure ... prefix /usr includedir /usr/include libdir /usr/lib libdevdir /usr/lib relativelibdir mandir /usr/man datadir /usr/share stringop_overflow yes array_bounds yes __kernel_rwf_t yes __kernel_timespec yes open_how yes statx yes glibc_statx yes C++ yes has_ucontext yes has_memfd_create yes liburing_nolibc no CC gcc CXX g++ make[1]: Entering directory '/home/axboe/git/liburing/src' gcc -D_GNU_SOURCE -Iinclude/ -include ../config-host.h -MT "setup.ol" -MMD -MP -MF "setup.ol.d" -g -O2 -Wall -Wextra -fno-stack-protector -Wno-unused-parameter -Wno-sign-compare -DLIBURING_INTERNAL -c -o setup.ol setup.c gcc -D_GNU_SOURCE -Iinclude/ -include ../config-host.h -MT "queue.ol" -MMD -MP -MF "queue.ol.d" -g -O2 -Wall -Wextra -fno-stack-protector -Wno-unused-parameter -Wno-sign-compare -DLIBURING_INTERNAL -c -o queue.ol queue.c gcc -D_GNU_SOURCE -Iinclude/ -include ../config-host.h -MT "register.ol" -MMD -MP -MF "register.ol.d" -g -O2 -Wall -Wextra -fno-stack-protector -Wno-unused-parameter -Wno-sign-compare -DLIBURING_INTERNAL -c -o register.ol register.c gcc -D_GNU_SOURCE -Iinclude/ -include ../config-host.h -MT "syscall.ol" -MMD -MP -MF "syscall.ol.d" -g -O2 -Wall -Wextra -fno-stack-protector -Wno-unused-parameter -Wno-sign-compare -DLIBURING_INTERNAL -c -o syscall.ol syscall.c ar r liburing.a setup.ol queue.ol register.ol syscall.ol ar: creating liburing.a ranlib liburing.a gcc -D_GNU_SOURCE -Iinclude/ -include ../config-host.h -MT "setup.os" -MMD -MP -MF "setup.os.d" -fPIC -g -O2 -Wall -Wextra -fno-stack-protector -Wno-unused-parameter -Wno-sign-compare -DLIBURING_INTERNAL -c -o setup.os setup.c gcc -D_GNU_SOURCE -Iinclude/ -include ../config-host.h -MT "queue.os" -MMD -MP -MF "queue.os.d" -fPIC -g -O2 -Wall -Wextra -fno-stack-protector -Wno-unused-parameter -Wno-sign-compare -DLIBURING_INTERNAL -c -o queue.os queue.c gcc -D_GNU_SOURCE -Iinclude/ -include ../config-host.h -MT "register.os" -MMD -MP -MF "register.os.d" -fPIC -g -O2 -Wall -Wextra -fno-stack-protector -Wno-unused-parameter -Wno-sign-compare -DLIBURING_INTERNAL -c -o register.os register.c gcc -D_GNU_SOURCE -Iinclude/ -include ../config-host.h -MT "syscall.os" -MMD -MP -MF "syscall.os.d" -fPIC -g -O2 -Wall -Wextra -fno-stack-protector -Wno-unused-parameter -Wno-sign-compare -DLIBURING_INTERNAL -c -o syscall.os syscall.c gcc -fPIC -g -O2 -Wall -Wextra -fno-stack-protector -Wno-unused-parameter -Wno-sign-compare -DLIBURING_INTERNAL -shared -Wl,--version-script=liburing.map -Wl,-soname=liburing.so.2 -o liburing.so.2.2 setup.os queue.os register.os syscall.os make[1]: Leaving directory '/home/axboe/git/liburing/src' make[1]: Entering directory '/home/axboe/git/liburing/test' gcc -D_GNU_SOURCE -D__SANE_USERSPACE_TYPES__ -I../src/include/ -include ../config-host.h -g -O2 -Wall -Wextra -Wno-unused-parameter -Wno-sign-compare -Wstringop-overflow=0 -Warray-bounds=0 -DLIBURING_BUILD_TEST -o helpers.o -c helpers.c gcc -D_GNU_SOURCE -D__SANE_USERSPACE_TYPES__ -I../src/include/ -include ../config-host.h -g -O2 -Wall -Wextra -Wno-unused-parameter -Wno-sign-compare -Wstringop-overflow=0 -Warray-bounds=0 -DLIBURING_BUILD_TEST -o ../src/syscall.o -c ../src/syscall.c gcc -D_GNU_SOURCE -D__SANE_USERSPACE_TYPES__ -I../src/include/ -include ../config-host.h -g -O2 -Wall -Wextra -Wno-unused-parameter -Wno-sign-compare -Wstringop-overflow=0 -Warray-bounds=0 -DLIBURING_BUILD_TEST -o 232c93d07b74-test.test 232c93d07b74-test.c helpers.o ../src/syscall.o -L../src/ -luring /usr/bin/ld: /tmp/cchfKQEY.o: in function `main': /home/axboe/git/liburing/test/232c93d07b74-test.c:295: undefined reference to `pthread_create' /usr/bin/ld: /home/axboe/git/liburing/test/232c93d07b74-test.c:296: undefined reference to `pthread_create' /usr/bin/ld: /home/axboe/git/liburing/test/232c93d07b74-test.c:297: undefined reference to `pthread_join' /usr/bin/ld: /home/axboe/git/liburing/test/232c93d07b74-test.c:298: undefined reference to `pthread_join' collect2: error: ld returned 1 exit status make[1]: *** [Makefile:210: 232c93d07b74-test.test] Error 1 make[1]: Leaving directory '/home/axboe/git/liburing/test' make: *** [Makefile:11: all] Error 2 -- Jens Axboe