>=app-text/qpdf-11.0.0 (tested with 11.5.0) QPDF moved from traditional ./configure and make to CMake in v11. In the ChromiumOS SDK, we build this package for a target device, using a sysroot for that device that doesn't have /dev/urandom etc. The compile step fails with the new CMake workflow, which looks for these devices on non-windows platforms and throws an error if it can't find them, so it fails to build in our case. When I create a dummy /dev/urandom file in that sysroot, it builds successfully. The variable RANDOM_DEVICE in libqpdf/CMakeLists.txt controls this behavior. If I pass -DRANDOM_DEVICE=/dev/urandom via the cmake args in the ebuild, this also completes the build successfully. Is there any reason this device wouldn't be present at runtime for a Gentoo system at this time? Reproducible: Always Steps to Reproduce: This is chromiumos related setup: Set up a chromiumos SDK (inside SDK) $ cros_portage_upgrade --upgrade --unstable-ok --board=amd64-generic qpdf (outside SDK) $ cros build-packages --board=amd64-generic Actual Results: Compilation fails /build/amd64-generic/tmp/portage/app-text/qpdf-11.5.0/work/qpdf-11.5.0/libqpdf/SecureRandomDataProvider.cc:105:4: error: "Donβ/build/amd64-generic 't know how to generate secure random numbers on this platform. See random number generation in the top-level README.md" Expected Results: Compiles successfully Had to redact GENTOO_MIRRORS below because the bugzilla policy here wouldn't let me include any URLs. Portage 2.3.75 (python 3.8.16-final-0, default/linux/amd64/10.0/chromeos, gcc-10.2.0, unavailable, 6.3.11-1rodete1-amd64 x86_64) ================================================================= System uname: Linux-6.3.11-1rodete1-amd64-x86_64-Intel-R-_Xeon-R-_Gold_6154_CPU_@_3.00GHz-with-glibc2.34 KiB Mem: 196636948 total, 28669504 free KiB Swap: 162979836 total, 162978812 free sh bash 5.1_p16-r2 ld GNU ld (GNU Binutils) 2.39.0 ccache version 3.7.7 [disabled] app-misc/pax-utils: 1.3.3::portage-stable app-shells/bash: 5.1_p16-r2::portage-stable dev-lang/python: 3.6.15-r3::chromiumos, 3.8.16_p4-r2::chromiumos sys-apps/baselayout: 2.2-r2::chromiumos sys-devel/binutils: 2.39-r3::chromiumos sys-devel/binutils-config: 5.3.1::portage-stable sys-devel/llvm: 12.0.1-r5::chromiumos sys-kernel/linux-headers: 4.14-r2::chromiumos (virtual/os-headers) sys-libs/libselinux: 3.0-r5::chromiumos Repositories: portage-stable location: /mnt/host/source/src/third_party/portage-stable masters: eclass-overlay priority: -1000 chromiumos location: /mnt/host/source/src/third_party/chromiumos-overlay masters: portage-stable eclass-overlay priority: 0 eclass-overlay location: /mnt/host/source/src/third_party/eclass-overlay priority: 1 amd64-generic location: /mnt/host/source/src/overlays/overlay-amd64-generic masters: portage-stable chromiumos eclass-overlay priority: 2 ACCEPT_KEYWORDS="amd64" ACCEPT_LICENSE="* -@EULA -@CHROMEOS" CBUILD="x86_64-pc-linux-gnu" CFLAGS=" -Os -pipe -march=x86-64 -msse3 -g -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables -ffunction-sections -fdata-sections" CHOST="x86_64-cros-linux-gnu" CONFIG_PROTECT="/etc/hosts /etc/locale.gen /etc/localtime /etc/make.conf" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/terminfo" CXXFLAGS=" -Os -pipe -march=x86-64 -msse3 -g -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables -ffunction-sections -fdata-sections" DISTDIR="/var/cache/distfiles" EMERGE_DEFAULT_OPTS="--oneshot --autounmask-backtrack=y --autounmask=n --with-bdepends=n" FCFLAGS="" FEATURES="allow-missing-manifests assume-digests binpkg-docompress binpkg-dostrip binpkg-logs buildpkg clean-logs config-protect-if-modified distlocks fixlafiles force-mirror ipc-sandbox multilib-strict network-sandbox nodoc noinfo noman parallel-fetch parallel-install protect-owned sandbox sfperms splitdebug unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr" FFLAGS="" GENTOO_MIRRORS='[REDACTED]' INSTALL_MASK=" /usr/lib*/*.la /etc/init.d /etc/conf.d /etc/logrotate.d /etc/sandbox.d /usr/share/bash-completion /usr/share/locale " LANG="C.UTF-8" LDFLAGS="-Wl,-O2 -Wl,--as-needed -Wl,--gc-sections -Wl,--icf=all" MAKEOPTS="-j36" PKGDIR="/build/amd64-generic/packages/" PORTAGE_BINHOST="gs://chromeos-prebuilt/board/amd64-generic/full-R107-15117.0.0-rc3/packages/ gs://chromeos-prebuilt/board/amd64-generic/postsubmit-R117-15572.0.0-54311-8773323264589462513/packages gs://chromeos-prebuilt/board/amd64-generic/postsubmit-R117-15572.0.0-54312-8773321261635639153/packages gs://chromeos-prebuilt/board/amd64-generic/postsubmit-R118-15573.0.0-54313-8773319256457836401/packages gs://chromeos-prebuilt/board/amd64-generic/postsubmit-R118-15573.0.0-54314-8773317324197292241/packages gs://chromeos-prebuilt/board/amd64-generic/cq-R117-15572.0.0-54295-8773357420327271425/packages" PORTAGE_BUNZIP2_COMMAND="lbzip2 -d" PORTAGE_BZIP2_COMMAND="lbzip2 -z" PORTAGE_COMPRESS="pigz" PORTAGE_COMPRESS_FLAGS="-3" PORTAGE_CONFIGROOT="/build/amd64-generic/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git" PORTAGE_TMPDIR="/build/amd64-generic/tmp/" USE="acpi acpi_ac amd64 arc-camera3 bindist bluetooth bootsplash bt_deprecated_tools bzip2 camera_feature_frame_annotator cellular compupdates containers cras-ml cros-debug cros_p2p crosfonts crosvm-gpu crypt cups cxx diagnostics diagnostics-minidiag direncription_allow_v2 direncryption dlc dlp dns-proxy dri drm_atomic evdev_gestures extra_japanese_fonts featured federated_service floss frecon fusebox fwupd gsans_variable_font hardened has_chromeos_config_bsp iconv iioservice ime ime_addons include_vmlinuz ipv6 kerberos_daemon kernel-5_15 kvm_host lacros_rootfs legacy_firmware_ui legacy_keyboard legacy_power_button llvm mbim memd missive mist ml_benchmark_drivers ml_service mmx mmxext modules mosys_platform_generic mudflap multilib ncurses nnapi nptl nptlonly ondevice_document_scanner ondevice_grammar ondevice_handwriting ondevice_text_suggestions opengles pam perfetto pinweaver printscanmgr private_computing racc readline resourced rgbkbd scanner secagent secanomalyd smartdim smbprovider spaced sse sse2 ssl swap_management sysfs system_proxy tpm2 tpm2_simulator tpm2_simulator_manufacturer transparent_hugepage udev unibuild unicode usb usb_bouncer usbguard vaapi virtio_gpu vivid vkms vlan vtpm_proxy vulkan wifi_hostap_test xattr xkbcommon xorg zlib" ABI_X86="64" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" BOARD_USE="amd64-generic" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="ptp2" CHROMEOS_KERNEL_FAMILY="chromeos" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="mmx mmxext sse sse2" ELIBC="glibc" INPUT_DEVICES="evdev synaptics cmt" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="en" LINUX_FIRMWARE="iwlwifi-all rt2870 rtl8153" LLVM_TARGETS="AMDGPU X86" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-5" PYTHON_SINGLE_TARGET="python3_6" PYTHON_TARGETS="python3_6" RUBY_TARGETS="ruby25" USERLAND="GNU" VIDEO_CARDS="intel llvmpipe nouveau radeon fbdev" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" Unset: CPPFLAGS, CTARGET, ENV_UNSET, LC_ALL, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON
Created attachment 868091 [details] 11.5.0 emerge log
I also think qpdf is doing something wacky here in the first place, so I filed an issue with them to see if it can be cleaned up upstream. This is a new account so I can't post URLs, so see github qpdf/qpdf/issues/1022
Created attachment 868092 [details, diff] preliminary patch diff - not for integration
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=294fa7aaeb98d4c7d913cacf3d6917ed4eb6090f commit 294fa7aaeb98d4c7d913cacf3d6917ed4eb6090f Author: Sam James <sam@gentoo.org> AuthorDate: 2023-09-07 20:45:49 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2023-09-07 20:50:19 +0000 app-text/qpdf: add 11.6.1 Closes: https://bugs.gentoo.org/912421 Signed-off-by: Sam James <sam@gentoo.org> app-text/qpdf/Manifest | 2 ++ app-text/qpdf/qpdf-11.6.1.ebuild | 75 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 77 insertions(+)