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

Unknown dependency #3027

Closed
lwhansen opened this issue May 6, 2013 · 21 comments
Closed

Unknown dependency #3027

lwhansen opened this issue May 6, 2013 · 21 comments
Labels
domain:packages Package management and loading

Comments

@lwhansen
Copy link

lwhansen commented May 6, 2013

Hi,

I am using Kubuntu 13.04

$ sudo apt-get install julia

julia> Pkg.update()
Already up-to-date.
ERROR: unknown dependency for NIfTI: StrPack
in dependencies at pkg/metadata.jl:155
in ReqsStruct at pkg/resolve.jl:65
in resolve at pkg/resolve.jl:1204
in _resolve at pkg.jl:265
in anonymous at no file:524
in cd at file.jl:26
in cd_pkgdir at pkg.jl:34
in update at pkg.jl:499

@mlubin
Copy link
Member

mlubin commented May 6, 2013

@ViralBShah
Copy link
Member

@StefanKarpinski Seems like we need to do something about this, so that package metadata is consistent with 0.1. Perhaps we just need to remove the offending dependency for now?

@StefanKarpinski
Copy link
Sponsor Member

What version of Julia are you using?

@Keno
Copy link
Member

Keno commented May 6, 2013

Seems like he's using whatever's shipping with Ubuntu nowadays ;)

@StefanKarpinski
Copy link
Sponsor Member

I just did a remaster of metadata and it looks like someone pushed a StrPack dependency to METADATA@master, which will cause this problem. Hopefully it's fixed now.

@mlubin
Copy link
Member

mlubin commented May 6, 2013

It's a bit of an issue that a single commit to an arbitrary package in metadata can break the whole package system.

@lwhansen
Copy link
Author

lwhansen commented May 6, 2013

I an using a fresh install of the Julia package in most current Ubuntu.

$ sudo dpkg -s julia
Package: julia
Status: install ok installed
Priority: extra
Section: science
Installed-Size: 8430
Maintainer: Ubuntu Developers ubuntu-devel-discuss@lists.ubuntu.com
Architecture: amd64
Version: 0.1.2+dfsg-1
Depends: libc6 (>= 2.14), libcholmod1.7.1 (>= 1:3.4.0),
libdouble-conversion0, libgcc1 (>= 1:4.1.1), libgfortran3 (>= 4.6),
libllvm3.2, libreadline6 (>= 6.0), libstdc++6 (>= 4.2.1), libunwind8,
libopenblas-base | libblas3 | libatlas3-base, liblapack3 | libatlas3-base,
libpcre3, libfftw3-3, libumfpack5.4.0, libgmp10, zlib1g, libarpack2

On Sun, May 5, 2013 at 10:59 PM, Stefan Karpinski
notifications@github.comwrote:

What version of Julia are you using?


Reply to this email directly or view it on GitHubhttps://github.com//issues/3027#issuecomment-17466378
.

@lwhansen
Copy link
Author

lwhansen commented May 6, 2013

The problem is now fixed!

Thanks,
Lars

@StefanKarpinski
Copy link
Sponsor Member

It should be fixed now. Can you update again?

@mlubin: One commit can always break everything. This is why people shouldn't be pushing anything to master.

@ViralBShah
Copy link
Member

We should have a separate issue for the breakage in this case.

@StefanKarpinski
Copy link
Sponsor Member

There isn't anything to fix.

@mlubin
Copy link
Member

mlubin commented May 6, 2013

Isn't it the case that a misspecified dependency in one package (that may not even be installed) prevents Pkg from working at all? That's at least what happened here.

@StefanKarpinski
Copy link
Sponsor Member

Only in the old, already-released 0.1.x versions – and there's nothing we can do about that now. The whole reason there's a devel branch and a master branch of metadata is so that we can make sure the master branch, which the old versions use, is safe for them to use. Pushing dependencies that the old versions don't understand to master will break them. That's why no one should be pushing anything to master at all.

@Suz
Copy link

Suz commented Sep 4, 2013

Looks like @mlubin might be right... I've just gotten started with Julia. Fresh install from .dmg on a MacBook Pro (OS X 10.8.4). When I went to install 'Winston', I got:

ERROR: unknown dependency for GARCH: NLopt
in dependencies at pkg/metadata.jl:155
in ReqsStruct at pkg/resolve.jl:65
in resolve at pkg/resolve.jl:1205
in _resolve at pkg.jl:265
in anonymous at no file:524
in cd at file.jl:26
in cd_pkgdir at pkg.jl:34
in update at pkg.jl:499

I've tried using Pkg.update() and I've tried deleting $Home/.julia and running Pkg.update() again. Everything is failing with the same error -- apparently not finding NLopt dependency for the GARCH package. Further, it seems that the maintainer of GARCH.jl recently updated metadata.

@johnmyleswhite
Copy link
Member

I just tried adding a julia 0.2- dependency in GARCH to see if this problem goes away.

@johnmyleswhite
Copy link
Member

Is our problem that Pkg doesn't propagate out Julia version dependencies? GARCH depends on NLopt, but does not say that it depends on Julia 0.2. But since NLopt depends on Julia 0.2, GARCH in fact depends on Julia 0.2.

@Suz
Copy link

Suz commented Sep 4, 2013

Tried it, but no success.
Steps taken:
-- remove $Home/.julia
-- start Julia
-- julia> Pkg.update()
MESSAGE: Auto-initializing default package repository /Users/suz/.julia.
Initialized empty Git repository in /Users/suz/.julia/.git/
[master (root-commit) f233559] Initial empty commit
Cloning into 'METADATA'...
remote: Counting objects: 9759, done.
remote: Compressing objects: 100% (5218/5218), done.
remote: Total 9759 (delta 1574), reused 9591 (delta 1416)
Receiving objects: 100% (9759/9759), 887.86 KiB | 308 KiB/s, done.
Resolving deltas: 100% (1574/1574), done.
[master ed58086] Empty package repo
3 files changed, 4 insertions(+)
create mode 100644 .gitmodules
create mode 160000 METADATA
create mode 100644 REQUIRE
Already up-to-date.
ERROR: unknown dependency for GARCH: NLopt
in dependencies at pkg/metadata.jl:155
in ReqsStruct at pkg/resolve.jl:65
in resolve at pkg/resolve.jl:1205
in _resolve at pkg.jl:265
in anonymous at no file:524
in cd at file.jl:26
in cd_pkgdir at pkg.jl:34
in update at pkg.jl:499

julia>

@johnmyleswhite
Copy link
Member

You're on Julia 0.1, right? I think we have to wait until master gets remerged for any of this to affect you. Basically, GARCH should not be considered an available package for 0.1 because its dependencies make it impossible to resolve correctly. The fact that GARCH is in master is at least one of the reasons that master is now corrupt.

@Suz
Copy link

Suz commented Sep 4, 2013

Julia Version 0.1.2+113667293.r7252
Commit 7252bb5 (2013-03-30 23:23:59)
'master is now corrupt'.... oh dear. But is GARCH being available a cause or a symptom?

@johnmyleswhite
Copy link
Member

Yeah, you're on a very old Julia, which is why the dependencies are so messed up for you.

It's possible that GARCH is the only cause of our problems. But we should really be doing the propagation of Julia version dependencies automatically so that this kind of problem can't happen.

@Suz
Copy link

Suz commented Sep 4, 2013

Thanks. Best of luck. Looks like it's time for me to get up to speed with Homebrew.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
domain:packages Package management and loading
Projects
None yet
Development

No branches or pull requests

7 participants