Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Problems in dependency resolution #45

Closed
soakbot opened this issue Jun 30, 2015 · 5 comments
Closed

Problems in dependency resolution #45

soakbot opened this issue Jun 30, 2015 · 5 comments

Comments

@soakbot
Copy link

soakbot commented Jun 30, 2015

(Original issue 45 created by kallisti5 on 2014-12-03T14:56:07.499590+00:00)

There are some major problems in dependency resolution in the latest version of HaikuPorter.

Here is an example:

#!shell

/Builds/haikuporter> git pull --rebase
Current branch master is up to date.
/Builds/haikuporter> ./haikuporter bash
Checking if any package-infos need to be updated ...
Looking for stale dependency-infos ...
======================================================================
app-shells::bash-4.3.30
======================================================================
The following required ports will be built first:
    sys-apps::findutils-4.4.2
    sys-devel::make-3.82
    sys-devel::m4-1.4.16
    sys-apps::diffutils-3.3
    sys-apps::texinfo-4.13a
    sys-apps::sed-4.2.1
    dev-lang::perl-5.18.2
    app-arch::tar-1.27.1
    sys-apps::help2man-1.46.3
    sys-apps::coreutils-8.22
    sys-apps::gawk-4.1.0
    sys-devel::flex-2.5.39
    sys-devel::bison-2.6.5
    sys-devel::autoconf-2.69
    sys-devel::libtool-2.4.2
    sys-devel::gcc-4.8.3_2014_07_26
    sys-devel::automake-1.13.1
    sys-devel::binutils-2.24_2014_03_19
----------------------------------------------------------------------
sys-apps::findutils-4.4.2
    /Builds/haikuports/sys-apps/findutils/findutils-4.4.2.recipe
----------------------------------------------------------------------
Skipping download of source for findutils-4.4.2.tar.gz
Skipping checksum validation of findutils-4.4.2.tar.gz
Skipping unpack of findutils-4.4.2.tar.gz
Cleaning up temporary directories ...
chroot has these packages active:
    /Builds/haikuports/packages/bash-4.3.30-1-x86_64.hpkg
    /Builds/haikuports/packages/expat-2.1.0-1-x86_64.hpkg
    /Builds/haikuports/packages/freetype-2.5.3-5-x86_64.hpkg
    /Builds/haikuports/packages/jasper-1.900.1-4-x86_64.hpkg
    /Builds/haikuports/packages/jpeg-9a-1-x86_64.hpkg
    /Builds/haikuports/packages/libicns-0.8.1-2-x86_64.hpkg
    /Builds/haikuports/packages/libpng-1.5.20-1-x86_64.hpkg
    /Builds/haikuports/packages/libpng16-1.6.15-1-x86_64.hpkg
    /Builds/haikuports/packages/libsolv-0.3.0_haiku_2013_10_01-3-x86_64.hpkg
    /Builds/haikuports/packages/ncurses-5.9-10-x86_64.hpkg
    /Builds/haikuports/packages/readline-6.3-2-x86_64.hpkg
    /boot/system/packages/binutils-2.24_2014_03_19-7-x86_64.hpkg
    /boot/system/packages/bzip2-1.0.6-5-x86_64.hpkg
    /boot/system/packages/ca_root_certificates-2014_04_08-2-any.hpkg
    /boot/system/packages/curl-7.39.0-1-x86_64.hpkg
    /boot/system/packages/gcc-4.8.3_2014_07_26-2-x86_64.hpkg
    /boot/system/packages/gcc_syslibs-4.8.3_2014_07_26-2-x86_64.hpkg
    /boot/system/packages/giflib-5.1.0-1-x86_64.hpkg
    /boot/system/packages/gutenprint-5.2.10-1-x86_64.hpkg
    /boot/system/packages/haiku-r1~alpha4_pm_hrev48368-1-x86_64.hpkg
    /boot/system/packages/haiku_devel-r1~alpha4_pm_hrev48368-1-x86_64.hpkg
    /boot/system/packages/icu-54.1-4-x86_64.hpkg
    /boot/system/packages/libwebp-0.4.1-1-x86_64.hpkg
    /boot/system/packages/make-3.82-5-x86_64.hpkg
    /boot/system/packages/openssl-1.0.0o-1-x86_64.hpkg
    /boot/system/packages/qrencode-3.3.0-2-x86_64.hpkg
    /boot/system/packages/tiff-3.9.6-2-x86_64.hpkg
    /boot/system/packages/zlib-1.2.8-4-x86_64.hpkg
----- Package Info ----------------
header size:                     80
heap size:                      863
TOC size:                        41
package attributes size:       1054
total size:                     943
-----------------------------------
----- Package Info ----------------
header size:                     80
heap size:                      884
TOC size:                        41
package attributes size:       1103
total size:                     964
-----------------------------------
waiting for build package findutils-4.4.2-1 to be activated
waiting for build package findutils_debuginfo-4.4.2-1 to be activated
Building ...
/wrapper-script: line 137: sed: command not found
./configure: line 559: sed: command not found
./configure: line 1313: sed: command not found
./configure: line 1088: sed: command not found
./configure: line 1304: sed: command not found
./configure: line 1701: sed: command not found
checking for a BSD-compatible install... /bin/install -c
checking whether build environment is sane... yes
./configure: line 2268: sed: command not found
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... no
checking for mawk... no
checking for nawk... no
checking for awk... no
checking whether make sets $(MAKE)... ./configure: line 2376: sed: command not found
yes
configure: error: cannot run /bin/sh build-aux/config.sub
./configure: line 14: sed: command not found
./configure: line 36: sed: command not found
Command '['bash', '-c', '. /wrapper-script']' returned non-zero exit status 1
keeping chroot folder /Builds/haikuports/sys-apps/findutils/work-4.4.2 intact for inspection
Error: Build has failed - stopping.

In the log above, haikuporter states that it needs to build sed first. However, it builds findutils first.

sed is a implicitBuildHostProvides, any implicitBuildHostProvides should always be built and activated first.

@soakbot
Copy link
Author

soakbot commented Jun 30, 2015

(Original issue 45 last updated on 2014-12-23T18:58:59.676399+00:00)

(Issue automaticaly closed due to status in Bitbucket: resolved)

@soakbot
Copy link
Author

soakbot commented Jun 30, 2015

(Original comment by zooey on 2014-12-03T17:56:51.079931+00:00)

Where in the shown log does haikuporter give you the impression that it is going to build sed first? To me, it looks as if it intends to build findutils first and that is exactly what it does.

The problem of course is that the findutils recipe fails to declare the dependency (build prerequires) on sed, thus the build fails early on.

implicitBuildHostProvides is something that's only ever relevant during a bootstrap, when cross-compiling from some other OS (that's why it lives in BuildPlatformUnix). The meaning of that list is just that we expect those cmds to be available on the build host (as one of the builds done as part of the bootstrap process is going to use them).

@soakbot soakbot closed this as completed Jun 30, 2015
@soakbot
Copy link
Author

soakbot commented Jun 30, 2015

(Original comment by kallisti5 on 2014-12-03T19:43:41.742444+00:00)

Gotcha. Plus if we bootstrap sed, requiring sed could be a pain. I'll fix.

@soakbot
Copy link
Author

soakbot commented Jun 30, 2015

(Original comment by kallisti5 on 2014-12-03T19:43:52.418493+00:00)

resolved. Invalid

@soakbot
Copy link
Author

soakbot commented Jun 30, 2015

(Original comment by scottmc on 2014-12-23T18:58:59.672135+00:00)

coreutils has a similar issue where it probably needs to have cmd:flex and cmd:bison added to the recipe, but adding that and then building leads to several more packages that have the same issue. And eventually you get to bison or flex which have an issue finding the correct symbol.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

1 participant