Re: poudriere pkgclean -jNAME-HERE -a gets complaints/rejections: "Error: Packages stuck in queue (depended on but not in queue)"
Date: Sun, 03 Jul 2022 20:03:55 UTC
On 2022-Jul-3, at 05:19, Edward Sanford Sutton, III <mirror176@hotmail.com> wrote: > On 7/2/22 18:46, Mark Millard wrote: >> # poudriere version >> poudriere-git-3.3.99.20220617 >> An amd64 example: >> [00:01:12] Error: Packages stuck in queue (depended on but not in queue): IPA-1.08_2 >> SoPlex-6.0.0_1 >> . . . >> zxid-1.42_1 >> [00:01:12] Cleaning up >> [00:01:13] Unmounting file systems >> Exiting with status 1 > > I presumed https://github.com/freebsd/poudriere/issues/931 applies but not really sure as the 'leaving open' was a little bit vague at the end. Its the closest I found when I looked into in the past. I had to remove all packages to be able to run poudriere pkgclean which after a full rebuild of my usual packages didn't see the error right away but have seen it again since. Not sure if my output fully matches as I have a build currently running but recall starting with IPA, and I think schroedinger, in its output. Well, "pkgclean -a" is somewhat different. Turns out that the reported ports seem to have things like (I cover some aarch64 examples that you cut from your reply): BROKEN= does not build: use of undeclared identifier 'nilHandle' ONLY_FOR_ARCHS= amd64 powerpc64 powerpc64le ONLY_FOR_ARCHS_REASON= fails to build: uses x86 asm BROKEN_aarch64= Fails to link: missing sbrk BROKEN_riscv64= Fails to link: missing sbrk LICENSE_PERMS= no-dist-mirror no-pkg-mirror no-auto-accept (I'm guessing at this one being the cause here.) BROKEN_FreeBSD_14= network.c:298:19: error: variable has incomplete type 'struct ifdatareq' .if !exists(${DISTDIR}/${DISTNAME}${EXTRACT_SUFX}) IGNORE= because of licensing restrictions, you must fetch the source\ distribution manually.\ Please access https://www.oracle.com/java/technologies/java-archive-downloads-java-client-downloads.html \ with a web browser and follow the "Java Media Framework (JMF) ${PORTVERSION}" link.\ Select download format: cross-platform format. Please place this file in\ ${DISTDIR} .endif BROKEN_RUBY30= yes BROKEN_RUBY31= yes I'll stop with that. Generally: something is present that means the port would be avoied in a bulk run. As stands, "pkgclean -a" seems to be a way to find examples of such ports for a context of interest. >> I'll note that I had to modify www/firefox/Makefile to avoid >> the following in my environment that has llvm14 as the default: >> [00:00:05] Warning: (www/firefox): Error: www/firefox depends on nonexistent origin 'devel/wasi-compiler-rt14'; Please contact maintainer of the port to fix this. >> [00:00:05] Error: Fatal errors encountered gathering ports metadata >> Avoided via: >> # git -C /usr/ports/ diff www/firefox >> diff --git a/www/firefox/Makefile b/www/firefox/Makefile >> index 9b67fb57e928..c236af69782c 100644 >> --- a/www/firefox/Makefile >> +++ b/www/firefox/Makefile >> @@ -52,10 +52,11 @@ MOZ_OPTIONS= --enable-application=browser \ >> .if ${ARCH} == powerpc64 >> MOZ_OPTIONS+= --disable-webrtc --without-wasm-sandboxed-libraries >> .else >> -BUILD_DEPENDS+= ${LOCALBASE}/share/wasi-sysroot/lib/wasm32-wasi/libc++abi.a:devel/wasi-libcxx \ >> - ${LOCALBASE}/share/wasi-sysroot/lib/wasm32-wasi/libc.a:devel/wasi-libc \ >> - ${LOCALBASE}/llvm${LLVM_DEFAULT}/lib/clang/${LLVM_VERSION}/lib/wasi/libclang_rt.builtins-wasm32.a:devel/wasi-compiler-rt${LLVM_DEFAULT} >> -MOZ_OPTIONS+= --with-wasi-sysroot=${LOCALBASE}/share/wasi-sysroot >> +#BUILD_DEPENDS+= ${LOCALBASE}/share/wasi-sysroot/lib/wasm32-wasi/libc++abi.a:devel/wasi-libcxx \ >> +# ${LOCALBASE}/share/wasi-sysroot/lib/wasm32-wasi/libc.a:devel/wasi-libc \ >> +# ${LOCALBASE}/llvm${LLVM_DEFAULT}/lib/clang/${LLVM_VERSION}/lib/wasi/libclang_rt.builtins-wasm32.a:devel/wasi-compiler-rt${LLVM_DEFAULT} >> +#MOZ_OPTIONS+= --with-wasi-sysroot=${LOCALBASE}/share/wasi-sysroot >> +MOZ_OPTIONS+= --disable-webrtc --without-wasm-sandboxed-libraries >> .endif >> post-patch: >> NOTE: I do not build firefox except for very rare experiments >> with "bulk -a -c". Even then, I do not use firefox . > > I think they were aware of an llvm14+rust issue. I'm not so much worried about building firefox as the lack of a dependency for one port preventing the overall "pkgclean -a" activity which was not specific to the firefox example at all. More of a possible poudriere error handling issue. (But I've not thought through if such a handling is required to avoid some potential consequences that could be important sometimes. Or if nicer error handling might just be too complicated to produce.) > If this is different, hope this doesn't get lost without a formal PR to at least draw attention to the current compile issue existing. If your changes are disabling wasm, I presume it can impact performance of both the browser and some addons that use it. Again, I was not building firefox at all --or building any ports. "poudriere pkgclean -a" does not build ports. My changes were only for my context, not to be used by others. I was only enabling "poudriere pkgclean -a" in my context. === Mark Millard marklmi at yahoo.com