Package Build Failed - Poudriere


  • Hello Everyone,

    I am trying to build packages using poudriere. I have configured it using ZFS and the poudriere.conf file is as follows:

    ZPOOL=zroot
    ZROOTFS=/poudriere
    RESOLV_CONF=/etc/resolv.conf
    BASEFS=/usr/local/poudriere
    USE_PORTLINT=no
    USE_TMPFS=yes
    NOLINUX=yes
    DISTFILES_CACHE=/usr/local/poudriere/distfiles
    CHECK_CHANGED_OPTIONS=yes
    CHECK_CHANGED_DEPS=yes
    ATOMIC_PACKAGE_REPOSITORY=yes
    COMMIT_PACKAGES_ON_FAILURE=no
    KEEP_OLD_PACKAGES=yes
    KEEP_OLD_PACKAGES_COUNT=5
    PKG_REPO_SIGNING_KEY=/usr/local/etc/ssl/repo.key

    The poudriere version is: 3.2-pre

    I have create a jail: amd64 and a port.

    Building on RELENG_2_3_2.

    Now when I am trying to create packages, it fails in sysutils/bsdinstaller.
    If i run: poudriere bulk -v -j 103amd64 sysutils/bsdinstaller

    I see the error:
    [00:00:43] ====>> [01][00:00:22] Finished build of sysutils/bsdinstaller: Failed: stage
    [00:00:43] ====>> Stopping 1 builders
    [00:00:48] ====>> No package built, no need to update the repository
    [00:00:48] ====>> Warning: Not committing packages to repository as failures were encountered
    [00:00:48] ====>> Failed ports: sysutils/bsdinstaller:stage
    [103amd64] [2017-01-21_15h49m34s] [idle:] Queued: 1 Built: 0 Failed: 1 Skipped: 0 Ignored: 0 Tobuild: 0 Time: 00:00:40
    [00:00:48] ====>> Logs: /usr/local/poudriere/data/logs/bulk/103amd64/2017-01-21_15h49m34s
    [00:00:48] ====>> Cleaning up
    [00:00:48] ====>> Umounting file systems

    In the logs, I get:
    =======================<phase: run-depends="">============================

    =======================<phase: stage="">============================
    ===> Staging for bsdinstaller-2.0.14
    ===> Generating temporary packing list
    echo "Installing libaura…"
    Installing libaura...
    /bin/mkdir -p /wrkdirs/usr/ports/sysutils/bsdinstaller/work/stage/usr/local/include/aura
    install -m 0644 -o root -g wheel -m 444 /wrkdirs/usr/ports/sysutils/bsdinstaller/work/installer/src/lib/libaura/libaura.a /wrkdirs/usr/ports/sysutils/bsdinstaller/work/stage/usr/local/lib/
    install: /wrkdirs/usr/ports/sysutils/bsdinstaller/work/stage/usr/local/lib//libaura.a: chown/chgrp: Operation not permitted
    *** Error code 71

    Stop.
    make: stopped in /usr/ports/sysutils/bsdinstaller
    ====>> Cleaning up wrkdir
    ===> Cleaning for bsdinstaller-2.0.14
    build of sysutils/bsdinstaller ended at Sat Jan 21 15:50:17 GMT 2017
    build time: 00:00:22
    !!! build failure encountered !!!

    Rest of the ports build OK, without issues.

    Thanks and Regards,</phase:></phase:>


  • I even configured everything without using ZFS and still the same issue. Can anyone, please help me out resolve this issue?


  • I have this configuration in the poudriere.conf file:

    USE_TMPFS=yes

    would this be the reason as to why it is throwing this error message:

    install: /wrkdirs/usr/ports/sysutils/bsdinstaller/work/stage/usr/local/lib//libaura.a: chown/chgrp: Operation not permitted


  • Has anyone faced such an issue before? I am facing this issue with 3 of my ports. The build stops at:

    do-install:
            echo "Installing libaura…"
            ${MKDIR} ${STAGEDIR}${PREFIX}/include/aura
            ${INSTALL_DATA} -o root -g wheel -m 444 ${WRKSRC}/lib/libaura/libaura.a ${STAGEDIR}${PREFIX}/lib/

    Somehow, I feel that install command is not able to change file mode to 444 in the Stating Directory. Is is because it is on tmpfs.


  • As far as I remember poudriere defaults to building as the "nobody" user and that's not going to go well with chown/chgrp root/wheel. You probably have to turn the BUILD_AS_NON_ROOT option off to proceed.


  • Thank you, kpa. It was a great help indeed!!!

    Now, I got that working. However, am stuck at this point:

    for _language in ru; do  install  -m 0644 /wrkdirs/usr/ports/sysutils/bsdinstaller/work/installer/src/frontends/ncurses/po/${_language}.mo  /usr/local/share/locale/${_language}/LC_MESSAGES/dfuife_curses.mo;  done
    install: /usr/local/share/locale/ru/LC_MESSAGES/dfuife_curses.mo: Permission denied
    *** Error code 71


  • Got it. The BUILD_AS_NON_ROOT did the trick.

    Thank you.