blanu / Dust

A Polymorphic Engine for Filtering-Resistant Transport Protocols
286 stars 31 forks source link

New build issue with Debian+threefish (maintainer build)+Dust-2.3.1 #15

Open burncycl opened 10 years ago

burncycl commented 10 years ago

Hello blanu,

I have added the Debian install instructions to the repo Wiki, as per your request.

However, I am running into a new issue since the code 2.3.1 release. I setup a fresh Debian VM to do the build.

I do the build of threefish

[...threefish build/install from your git repo...]

I then go to build/install Dust.

root@Euclid:/source/Dust/hs# cabal configure Resolving dependencies... Configuring Dust-2.3.1... cabal: At least the following dependencies are missing: Dust-crypto -any, network -any, random-extras -any, random-fu -any, random-source -any, split -any root@Euclid:/source/Dust/hs# cabal install --only-dependencies Resolving dependencies... cabal: Could not resolve dependencies: trying: Dust-2.3.1 (user goal) trying: threefish-0.2.2/installed-14a... (dependency of Dust-2.3.1) trying: directory-1.1.0.2/installed-eba... (dependency of Dust-2.3.1) next goal: unix (dependency of directory-1.1.0.2/installed-eba...) rejecting: unix-2.7.0.0/installed-d02... (conflict: directory => unix==2.5.1.0/installed-3c1...) rejecting: unix-2.5.1.0/installed-3c1... (conflict: threefish => bytestring==0.10.4.0/installed-5cf..., unix => bytestring==0.9.2.1/installed-18f...) rejecting: unix-2.7.0.0, 2.6.0.1, 2.6.0.0, 2.5.1.1, 2.5.1.0, 2.5.0.0, 2.4.2.0, 2.4.1.0, 2.4.0.2, 2.4.0.1, 2.4.0.0, 2.3.2.0, 2.3.1.0, 2.3.0.0, 2.2.0.0, 2.0 (conflict: directory => unix==2.5.1.0/installed-3c1...)

blanu commented 10 years ago

Hm! I'm not sure what I changed that would have caused this. I don't think there are any new dependencies. I've just been moving things around.

What version of the unix and directory packages do you have installed?

burncycl commented 10 years ago

Debian 7.

Directory packages?

Btw, this is the same fellow who had to install your version of threefish. Just FYI.

blanu commented 10 years ago

As far as I can tell, there is a conflict installing the "unix" package, which has different versions required by the "directory" and "bytestring" packages. These are required (with specific versions) by threefish. threefish is required by Dust.

So if you can tell me what versions you have of the unix, directory, and bytestring packages, I can fix the required versions for the dependencies in the threefish package. Hopefully that will resolve the problem.

burncycl commented 10 years ago

unix-2.7.0.0 bytestring-0.10.4.0

I did not see directory mentioned during build. For complete output of my build reference:

http://pastebin.com/NtzyKjhk

burncycl commented 10 years ago

What's your default build environment? I've been held up because of these dependency issues, and I'd like to try out dust-tools.

blanu commented 10 years ago

My apologies that I haven't been able to spend more time looking into this. I'm using Ubuntu 12.04.

One thing you might try is to use --force-install and --force-reinstall to install the packages despite the version conflict warnings. This is not the best solution if you have actual Haskell packages installed, but it might work if you're only using Haskell to install Dust-tools.

I'm not sure what the long-term plan for getting out of this dependency hell should be. One solution is to reduce the number of dependencies by forking the libraries and including the parts I actually use. Another possibility is to provide pre-compiled binaries for a few popular platforms like Ubuntu and Debian so that you don't have to compile any Haskell code at all. This is probably what will happen once the C API to Dust is available.

burncycl commented 10 years ago

No worries, I figured with the holidays, you were likely busy.

"cabal: unrecognised command: --force-install (try --help)"

I read the man and did not see support for --force-install

blanu commented 10 years ago

Ah sorry. The correct flag is --force-reinstalls

burncycl commented 10 years ago

That didn't work...again, I think my version doesn't have a --force-anything. If you'd like I'd be happy to set you up with a test lab with Debian or any other OS you wish. We'd just need to correspond via email....Just putting that out there.