Bug #11907
openBuild and publish errors for print/cups-filters on SPARC
0%
Description
This is the last of a series of bugs I encountered while building and publishing OI source on SPARC hardware. The OI source is from 2018. Consequently, there may be a new version of the source, or some of the bugs may have already been fixed. Though the changes have been developed on SPARC hardware, they might correct bugs in some x86 packages. In any case, they should not damage other x86 packages.
During the build of print/cups-filters, I got these errors:
checking for avahi-client... no configure: error: Package requirements (avahi-client) were not met: No package 'avahi-client' found ... checking for poppler >= 0.18... no configure: error: Package requirements (poppler >= 0.18) were not met: No package 'poppler' found
The cause of these errors was two missing packages: system/network/avahi and library/libpoppler . Both of these packages require graphics and cannot be built on a text-only system. The solution is to enable the configure options: --disable-avahi and --disable-poppler . However, there's no variable to specify text-only systems. The patch Makefile.diff corrects these errors. You will need to edit the Makefile for systems with graphics. With the error corrected, the build was successful. For the publish step, I received two sets of errors:
Couldn't find 'usr/lib/cups/filter/bannertopdf' in any of the specified search directories: ... Couldn't find 'usr/lib/cups/filter/pdftoijs' in any of the specified search directories: ... Couldn't find 'usr/lib/cups/filter/pdftoopvp' in any of the specified search directories: ... Couldn't find 'usr/share/cups/mime/cupsfilters-poppler.convs' in any of the specified search directories: ... Couldn't find 'usr/share/ppd/cupsfilters/HP-PhotoSmart_Pro_B8300-hpijs-pdftoijs.ppd' in any of the specified search directories:
.../oi-userland/components/print/cups-filters/build/manifest-sparc-cups-filters.depend has unresolved dependency ' ... .../oi-userland/components/print/cups-filters/build/manifest-sparc-cups-filters.depend has unresolved dependency ' ... .../oi-userland/components/print/cups-filters/build/manifest-sparc-cups-filters.depend has unresolved dependency ' depend type=require fmri=__TBD \ pkg.debug.depend.fullpath=usr/lib/libjpeg6-ijg/lib/libgcc_s.so.1 \ Pkg.debug.depend.reason=usr/lib/cups/filter/urftopdf \ pkg.debug.depend.type=elf'. gmake: *** [/dpool.../oi-userland-apr/make-rules/ips.mk:398: .../oi-userland/components/print/cups-filters/build/.resolved-sparc] Error 1
The publish errors had several causes. Six of the files described in the manifest were not installed for SPARC hardware. The solution, in this case, is to append variant.arch=i386 in the manifest. Several files had an unused element in the RUNPATH, specifically /usr/lib/libjpeg6-ijg/lib . The solution was to remove this element with elfedit in the Makefile. The patch Makefile.diff also accomplishes this change. Finally, some of the files had a dependancy on libcupsfilters.so.1, a circular dependancy. The patch cups-filters.diff corrects this publish error as well as the first one.
Files