too long lines were shrinked: /bin/sh ../../libtool --tag=CC --mode=compile x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I../.. -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/sysprof-4 -pthread -I../../src -I../../src/public -Wall -std=c11 -Werror=unused-result -Wimplicit-function-declaration -Wno-comp /bin/sh ../../libtool --tag=CC --mode=compile x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I../.. -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/sysprof-4 -pthread -I../../src -I../../src/public -Wall -std=c11 -Werror=unused-result -Wimplicit-function-declaration -Wno-comp libtool: compile: x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I../.. -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/sysprof-4 -pthread -I../../src -I../../src/public -Wall -std=c11 -Werror=unused-result -Wimplicit-function-declaration -Wno-compound-token-split-by-macro -fPIC libtool: compile: x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I../.. -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/sysprof-4 -pthread -I../../src -I../../src/public -Wall -std=c11 -Werror=unused-result -Wimplicit-function-declaration -Wno-compound-token-split-by-macro -fPIC libtool: compile: x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I../.. -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/sysprof-4 -pthread -I../../src -I../../src/public -Wall -std=c11 -Werror=unused-result -Wimplicit-function-declaration -Wno-compound-token-split-by-macro -fPIC cmd_parser_goption.c: In function 'parse_command': cmd_parser_goption.c:1516:8: error: 'ignored_vid_pid' undeclared (first use in this function) 1516 | if (ignored_vid_pid) { | ^~~~~~~~~~~~~~~ ------------------------------------------------------------------- This is an unstable amd64 chroot image at a tinderbox (==build bot) name: 17.1_no_multilib_hardened-20231114-170805 ------------------------------------------------------------------- GNUMAKEFLAGS="$GNUMAKEFLAGS --shuffle" gcc-config -l: [1] x86_64-pc-linux-gnu-10 [2] x86_64-pc-linux-gnu-13 * clang/llvm (if any): clang version 17.0.5 Target: x86_64-pc-linux-gnu Thread model: posix InstalledDir: /usr/lib/llvm/17/bin Configuration file: /etc/clang/x86_64-pc-linux-gnu-clang.cfg /usr/lib/llvm/17 17.0.5 Python 3.11.6 Available Ruby profiles: [1] ruby31 (with Rubygems) * Available Rust versions: [1] rust-bin-1.73.0 * The following VMs are available for generation-2: 1) Eclipse Temurin JDK 11.0.20.1_p1 [openjdk-bin-11] 2) Eclipse Temurin JDK 17.0.8.1_p1 [openjdk-bin-17] *) Eclipse Temurin JDK 21.0.1_p12 [openjdk-bin-21] 4) Eclipse Temurin JDK 8.382_p05 [openjdk-bin-8] Available Java Virtual Machines: [1] openjdk-bin-8 [2] openjdk-bin-11 [3] openjdk-bin-17 [4] openjdk-bin-21 system-vm The Glorious Glasgow Haskell Compilation System, version 9.0.2 php cli (if any): go version go1.21.4 linux/amd64 HEAD of ::gentoo commit c15572c8e4b25d28c9f7bb7f939f20b563764ef4 Author: Repository mirror & CI <repomirrorci@gentoo.org> Date: Fri Nov 24 13:02:05 2023 +0000 2023-11-24 13:02:04 UTC emerge -qpvO app-misc/ddcutil [ebuild U ] app-misc/ddcutil-2.0.0 [1.4.1] USE="X -drm -usb-monitor -user-permissions" VIDEO_CARDS="-nvidia"
Created attachment 875502 [details] emerge-info.txt
Created attachment 875503 [details] app-misc:ddcutil-2.0.0:20231124-131053.log
Created attachment 875504 [details] emerge-history.txt.xz
Created attachment 875505 [details] environment
Created attachment 875506 [details] etc.clang.tar.xz
Created attachment 875507 [details] etc.portage.tar.xz
Created attachment 875508 [details] logs.tar.xz
Created attachment 875509 [details] qlist-info.txt.xz
Created attachment 875510 [details] temp.tar.xz
Setting USE=usb-monitor gets things working for me Looking at the code, it looks like ignored_vid_pid is defined inside an ifdef for USB, and then used outside in code not ifdef'd Has this been reported upstream?
Created attachment 875542 [details, diff] Work around This gets things compiling
Thanks Mike, adding the usb-monitor USE flag got me rolling too.
Created attachment 875547 [details, diff] source code edit to patch the missing symbol back in An #ifdef USB section was preventing a symbol "ignored_vid_pid" from being defined, in the src/cmdline/cmd_parser_goption.c file. This patch will move the symbol definition past the #endif. Upstream should be informed of this break, so it can be resolved there.
Comment on attachment 875547 [details, diff] source code edit to patch the missing symbol back in The affected code location is here : https://github.com/rockowitz/ddcutil/blob/2.0.2-dev/src/cmdline/cmd_parser_goption.c#L875
I reported it to upstream: https://github.com/rockowitz/ddcutil/issues/355 I'm not entirely sure if moving the declaration out of the ifdef block is the correct fix, let's see what upstream says.
Upstream patch: https://github.com/rockowitz/ddcutil/commit/4e2681a89fc5ba1ab5f909e30baf9eef0c99e5bd
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=79d92dece993d8d1d1a9d45a8f4f84c5d895009a commit 79d92dece993d8d1d1a9d45a8f4f84c5d895009a Author: Andrew Ammerlaan <andrewammerlaan@gentoo.org> AuthorDate: 2023-11-27 20:07:45 +0000 Commit: Andrew Ammerlaan <andrewammerlaan@gentoo.org> CommitDate: 2023-11-27 20:07:45 +0000 app-misc/ddcutil: fix build USE=-usb-monitor, add missing dep Closes: https://bugs.gentoo.org/918124 Closes: https://bugs.gentoo.org/918408 Signed-off-by: Andrew Ammerlaan <andrewammerlaan@gentoo.org> ...dcutil-2.0.0.ebuild => ddcutil-2.0.0-r1.ebuild} | 2 ++ ...2.0.0-fix-build-with-usb-monitor-disabled.patch | 22 ++++++++++++++++++++++ 2 files changed, 24 insertions(+)