opencog / atomspace

The OpenCog (hyper-)graph database and graph rewriting system
https://wiki.opencog.org/w/AtomSpace
Other
818 stars 232 forks source link

Haskell build break. #135

Closed linas closed 9 years ago

linas commented 9 years ago

Something about the haskell bindings breaks the build. I get

cabal: Could not resolve dependencies:
trying: opencog-atomspace-0.1.0.0
MarcosPividori commented 9 years ago

Hi, I am working on this. I could not reproduce it. It looks like it is a , very common, dependency problem with haskell libraries installed in your computer. I am considering leaving cabal-install to start using stack, which is a new and far more comfortable tool for building and dealing with haskell packages [1]. But I need to go in depth in some details before being sure this is a good option for us. Could you please go to the opencog/haskell src directory and execute: "caball install" and let me know the output? Thanks, Marcos

linas commented 9 years ago

I have both haskell and cabal installed, the standard installation on ubuntu trusty 14.04

cabal -V
cabal-install version 1.16.0.2
using version 1.16.0 of the Cabal library 
$ ghc -v
Glasgow Haskell Compiler, Version 7.6.3, stage 2 booted by GHC version 7.6.3

I took a quick look at the CMakefile, it looks like you are maybe trying to install libraries without root access. The build process needs to be split into two steps: an ordinary build, as a non-root user, and an install step as root.

MarcosPividori commented 9 years ago

Hi Linas, Thanks for your response. The root access is not a problem because I am installing haskell packages in user environment. I have spent some time reading about the new Stack building tool. I think we should definitely stop directly using cabal to start using stack. It solves some very common problems of working with Haskell packages, such as: broken dependencies, different versions of ghc, etc. It ensures we are working with the lts snapshot, a group of haskell libraries that have been tested and work ok, etc. If someone wants to go in deepth about stack, more information on: [1] [2]. For example, the problem now is that you have different packages installed in your computer than me so I can not reproduce your problem. All of this problem seems to be solved by using stack because it ensures everyone builds with the same plan. I have made a pull request #143 , with the main changes. I think/hope it will work far better in future!

MarcosPividori commented 9 years ago

I forgot to mention, I have asked some questions to stack developers before updating the code: haskell-stack google group.