Problems with installing the correct version of "process". Help?

From what I can tell, the only hangup I have is that the "process" package depends on the wrong version of "directory". [blaine@macbook:~/Dropbox/src/berp/compiler Tue Nov 15] 75$ cabal configure Resolving dependencies... Configuring berpcompiler-0.0.3... Warning: This package indirectly depends on multiple versions of the same
Hi everyone. I'm new to haskell (venturing over from python land); i can't figure this one problem out. This has been incredibly difficult to solve, and it is quite discouraging! i'm trying to get berp up and running ( https://github.com/bjpop/berp/). berp-libs installed fine, berp-compiler is hanging up: package. This is highly likely to cause a compile failure. *package process-1.0.1.3 requires directory-1.0.1.0* package cpphs-1.13.2 requires directory-1.1.0.1 package berplibs-0.0.3 requires directory-1.1.0.1 package berpcompiler-0.0.3 requires directory-1.1.0.1 OK so I need to rebuild process so it uses the newest version of directory like the rest of them (I have no idea if this is the right thing to do, but this is what i did with cpphs and it worked). But when I try and build process, it can't find a header on my file that does exist. I also did successfully install from source package manually (using these instructionshttp://www.haskell.org/haskellwiki/Cabal/How_to_install_a_Cabal_packageon the package downloaded from here http://hackage.haskell.org/package/process-1.0.1.3, which worked fine, but didn't seem update the dependency to rely on the newest version of directory (aka still can't configure berp). I don't know where to go from here. Please note: I have installed from source package, so even if I fix this cabal issue I'm not sure it will fix the dependency issue (but who knows, maybe it will). I'm having a hard time scaring up internet resources on where to proceed. What am I doing wrong? Thanks so much in advance, Blaine Reference: 22$ uname -a Linux macbook 2.6.32-34-generic #77-Ubuntu SMP Tue Sep 13 19:39:17 UTC 2011 x86_64 GNU/Linux (Here I am trying to force include the directory where the missing header file lives. It does exist but cabal won't have it) [blaine@macbook:~/Dropbox/src/berp/compiler Tue Nov 08] 92$ sudo cabal --extra-include-dirs=/usr/lib/ghc-6.12.1/process-1.0.1.2/include/ install process Resolving dependencies... Configuring process-1.1.0.0... configure: WARNING: unrecognized options: --with-compiler checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking how to run the C preprocessor... gcc -E checking for grep that handles long lines and -e... /bin/grep checking for egrep... /bin/grep -E checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking for pid_t... yes checking vfork.h usability... no checking vfork.h presence... no checking for vfork.h... no checking for fork... yes checking for vfork... yes checking for working fork... yes checking for working vfork... (cached) yes checking signal.h usability... yes checking signal.h presence... yes checking for signal.h... yes checking sys/wait.h usability... yes checking sys/wait.h presence... yes checking for sys/wait.h... yes checking fcntl.h usability... yes checking fcntl.h presence... yes checking for fcntl.h... yes checking for setitimer,... no checking for sysconf... yes checking value of SIG_DFL... -1 checking value of SIG_IGN... -1 configure: creating ./config.status config.status: creating include/HsProcessConfig.h config.status: include/HsProcessConfig.h is unchanged configure: WARNING: unrecognized options: --with-compiler cabal: Missing dependency on a foreign library: ** Missing header file: runProcess.h* This problem can usually be solved by installing the system package that provides this library (you may need the "-dev" version). If the library is already installed but in a non-standard location then you can use the flags --extra-include-dirs= and --extra-lib-dirs= to specify where it is. cabal: Error: some packages failed to install: process-1.1.0.0 failed during the configure step. The exception was: ExitFailure 1 [blaine@macbook:~/Dropbox/src/berp/compiler Tue Nov 08] 93$ ls /usr/lib/ghc-6.12.1/process-1.0.1.2/include/ HsProcessConfig.h *runProcess.h* Blaine

On Tue, Nov 15, 2011 at 14:56, Blaine
** Missing header file: runProcess.h*
[blaine@macbook:~/Dropbox/src/berp/compiler Tue Nov 08] 93$ ls /usr/lib/ghc-6.12.1/process-1.0.1.2/include/ HsProcessConfig.h *runProcess.h*
Notice it's found in the files for the other install of "process". This is in fact a bug in the "process" package on Hackage, which is fixed in its repo but no new release has been made yet. So build it from its repo ( http://darcs.haskell.org/packages/process.git/ per Hackage page) instead. -- brandon s allbery allbery.b@gmail.com wandering unix systems administrator (available) (412) 475-9364 vm/sms

On Tue, Nov 15, 2011 at 1:56 PM, Blaine
Hi everyone. I'm new to haskell (venturing over from python land); i can't figure this one problem out. This has been incredibly difficult to solve, and it is quite discouraging! i'm trying to get berp up and running (https://github.com/bjpop/berp/). berp-libs installed fine, berp-compiler is hanging up: From what I can tell, the only hangup I have is that the "process" package depends on the wrong version of "directory". [blaine@macbook:~/Dropbox/src/berp/compiler Tue Nov 15] 75$ cabal configure Resolving dependencies... Configuring berpcompiler-0.0.3... Warning: This package indirectly depends on multiple versions of the same package. This is highly likely to cause a compile failure. package process-1.0.1.3 requires directory-1.0.1.0 package cpphs-1.13.2 requires directory-1.1.0.1 package berplibs-0.0.3 requires directory-1.1.0.1 package berpcompiler-0.0.3 requires directory-1.1.0.1
What happens if you ignore this warning? Antoine

Great question. How does one ignore the warning?
Blaine
On Tue, Nov 15, 2011 at 4:02 PM, Antoine Latter
Hi everyone. I'm new to haskell (venturing over from python land); i can't figure this one problem out. This has been incredibly difficult to solve, and it is quite discouraging! i'm trying to get berp up and running (https://github.com/bjpop/berp/). berp-libs installed fine, berp-compiler is hanging up: From what I can tell, the only hangup I have is that the "process"
On Tue, Nov 15, 2011 at 1:56 PM, Blaine
wrote: package depends on the wrong version of "directory". [blaine@macbook:~/Dropbox/src/berp/compiler Tue Nov 15] 75$ cabal configure Resolving dependencies... Configuring berpcompiler-0.0.3... Warning: This package indirectly depends on multiple versions of the same package. This is highly likely to cause a compile failure. package process-1.0.1.3 requires directory-1.0.1.0 package cpphs-1.13.2 requires directory-1.1.0.1 package berplibs-0.0.3 requires directory-1.1.0.1 package berpcompiler-0.0.3 requires directory-1.1.0.1
What happens if you ignore this warning?
Antoine

On Tue, Nov 15, 2011 at 3:34 PM, Blaine
Great question. How does one ignore the warning?
By doing whatever you would have done next had you not received the warning :-) Such as "cabal build" or the like. Antoine

On Tuesday 15 November 2011, 22:34:17, Blaine wrote:
Great question. How does one ignore the warning?
Not. process and directory are boot packages, required by ghc and indirectly by many of the packages you install(ed). Having multiple versions of these spells trouble and breakage. Read http://www.vex.net/~trebla/haskell/sicp.xhtml for more. You already have two versions of directory, the one ghc was built with and 1.1.0.1. It's not unlikely that you already have some unusable packages due to that. $ ghc-pkg check should tell you about such. You should unregister the duplicate directory (1.1.0.1, *keep the one ghc was built with*) and all packages depending on it. Then you can try to reinstall those packages, before cabal installing anything, you should check with --dry-run whether it would install a new version of any of the boot packages (basically everything coming with ghc itself, but having a newer version of Cabal is okay). If it would, stop.

So this is hilarious. This whole time I thought 'warning' meant 'error'. I rebuilt all of ghc and the platform with 7.0.3, and did it again. Now it complains about containers. Went ahead and installed anyway (duh!). Now it looks like it worked. I'll check back if it didn't work. I can't believe I never tried to just install the darn thing... Blaine On Tue, Nov 15, 2011 at 5:04 PM, Daniel Fischer < daniel.is.fischer@googlemail.com> wrote:
On Tuesday 15 November 2011, 22:34:17, Blaine wrote:
Great question. How does one ignore the warning?
Not.
process and directory are boot packages, required by ghc and indirectly by many of the packages you install(ed). Having multiple versions of these spells trouble and breakage. Read http://www.vex.net/~trebla/haskell/sicp.xhtml for more.
You already have two versions of directory, the one ghc was built with and 1.1.0.1. It's not unlikely that you already have some unusable packages due to that.
$ ghc-pkg check
should tell you about such. You should unregister the duplicate directory (1.1.0.1, *keep the one ghc was built with*) and all packages depending on it. Then you can try to reinstall those packages, before cabal installing anything, you should check with --dry-run whether it would install a new version of any of the boot packages (basically everything coming with ghc itself, but having a newer version of Cabal is okay). If it would, stop.

On 11-11-15 05:56 PM, Blaine wrote:
So this is hilarious. This whole time I thought 'warning' meant 'error'.
Under some conditions, having multiple versions does not hurt; under some other conditions, it hurts. This is not an unquestionable error. Though, I would recommend against it, unless you are a pro.
On Tue, Nov 15, 2011 at 5:04 PM, Daniel Fischer
wrote: $ ghc-pkg check
"ghc-pkg check" is incomplete. "ghc -v" is the authoritative check.
participants (5)
-
Albert Y. C. Lai
-
Antoine Latter
-
Blaine
-
Brandon Allbery
-
Daniel Fischer