
I am having trouble installing Haskore due to a dependency issue. I am a pampered user of Debian. Thanks to wonderful work by the Cabal people and the Debian package maintainers, I have never had to use Cabal manually to install a package before. In order to learn how to do that, I practiced by installing the ever-important HNOP package. After a few tries, I found that the following sequence of commands works: ./Setup.hs configure --prefix=/usr ./Setup.hs build sudo ./Setup.hs install But similar commands for Haskore do not fair as well. The configure command fails with the following error: Setup.lhs: cannot satisfy dependency Hsc-any How can I satisfy that dependency? I am using ghc on Debian testing. I obtained Haskore from http://cvs.haskell.org/darcs/haskore Thanks! Incidentally, why is Cabal not smart enough to know that with ghc on linux the default prefix is /usr? -Yitz

On Wed, 12 Jul 2006, Yitzchak Gale wrote:
In order to learn how to do that, I practiced by installing the ever-important HNOP package. After a few tries, I found that the following sequence of commands works:
./Setup.hs configure --prefix=/usr ./Setup.hs build sudo ./Setup.hs install
But similar commands for Haskore do not fair as well. The configure command fails with the following error:
Setup.lhs: cannot satisfy dependency Hsc-any
This belongs to a SuperCollider wrapper: http://www.slavepianos.org/rd/f/409875/ You don't need to install that wrapper, if you do not want to use SuperCollider. In this case remove the Hsc dependency and the SuperCollider modules from Haskore.cabal. I would like to tell Cabal which modules are required and which are supported, or recommended, but not needed. I could split Haskore into several packages, but then again, installation of Haskore and its sub-packages becomes uncomfortable and the Haddock documentation has no longer a common table of contents. I tried to write custom Setup code for finding out which parts of Haskore cannot be installed due to unsatisfied dependencies, but this is more complicated than I hoped.

Henning Thielemann (lemming) wrote:
...Yitz Gale wrote:
I am having trouble installing Haskore due to a dependency issue... Cabal... The configure command fails with the following error: Setup.lhs: cannot satisfy dependency Hsc-any
This belongs to a SuperCollider wrapper: http://www.slavepianos.org/rd/f/409875/
Thanks! I'll just install the Debian package. It is much easier than mucking around with the Cabal file. I'll decide later whether I actually want to use it. There is no way I would have figured that out without your help, even with Google. Maybe it is time to bring the README file a little more up-to-date. Thanks again, Yitz

Setup.lhs: cannot satisfy dependency Hsc-any
This belongs to a SuperCollider wrapper: http://www.slavepianos.org/rd/f/409875/
Thanks! I'll just install the Debian package.
I installed the supercollider Debian package, got hsc using darcs and installed it using Cabal. All seemed to work OK. Now the build command for Haskore fails with: Could not find module `Hsc.UGen'... (imported from src/Haskore/Interface/SuperCollider/Example.hs) That sounds like you did not say "-package Hsc". Besides that, just for the fun of it I tried "ghci -package HSc". The result was: Loading package Hsc-0.1 ... linking ... ghc-6.4.1: /usr/lib/Hsc-0.1/ghc-6.4.1/HSHsc-0.1.o: unknown symbol `__stginit_HscziSndFile_' ghc-6.4.1: unable to load package `Hsc-0.1' I installed the supercollider-dev Debian package and re-installed Hsc (unregister, clean, configure, build, install). It did not help. What now? Should I give up and hack all of the Hsc stuff out of Haskore.cabal? Thanks for your help, Yitz

On Wed, 12 Jul 2006, Yitzchak Gale wrote:
Setup.lhs: cannot satisfy dependency Hsc-any
This belongs to a SuperCollider wrapper: http://www.slavepianos.org/rd/f/409875/
Thanks! I'll just install the Debian package.
I installed the supercollider Debian package, got hsc using darcs and installed it using Cabal. All seemed to work OK.
Now the build command for Haskore fails with:
Could not find module `Hsc.UGen'... (imported from src/Haskore/Interface/SuperCollider/Example.hs)
That sounds like you did not say "-package Hsc".
If you install Hsc with Cabal, then it is registered and if you compile Haskore with Cabal, Cabal should provide the -package option. If you use the Makefile, this may contain my custom paths, because there is no configure step. I know, it's all still very experimental.
I installed the supercollider-dev Debian package and re-installed Hsc (unregister, clean, configure, build, install). It did not help.
What now? Should I give up and hack all of the Hsc stuff out of Haskore.cabal?
The SuperCollider wrapper is as experimental as the revised Haskore package, so I cannot guarantee that some versions of them work together. I advise commenting out the SuperCollider modules for now.

Hello Henning, Wednesday, July 12, 2006, 1:23:53 PM, you wrote:
I would like to tell Cabal which modules are required and which are supported, or recommended, but not needed. I could split Haskore into several packages, but then again, installation of Haskore and its sub-packages becomes uncomfortable and the Haddock documentation has no longer a common table of contents. I tried to write custom Setup code for finding out which parts of Haskore cannot be installed due to unsatisfied dependencies, but this is more complicated than I hoped.
such feature was already requested by Robert Dockins

Bulat Ziganshin wrote:
such feature was already requested by Robert Dockins
in libraries list at June 8. He wrote: "This brings up a feature I have sometimes wanted from Cabal. I'd like to be able to say the following: "Cabal, find and use package X if it exists. Furthermore, when CPPing source code, set a #define HAS_PACKAGE_X so I can do conditional compilation based on the (non-) avaliablility of package X". Is this possible? Difficult? It seems like a nice way to handle a number of problems, including platform- dependencies (as here) and optional features with external dependencies."
you can add your voice to the peoples requesting this feature (i need it, too)
I have some changes to Cabal partly finished that will address this. Don't worry, it's coming. Cheers, Simon

Hello Simon, Wednesday, July 12, 2006, 6:28:55 PM, you wrote:
like to be able to say the following: "Cabal, find and use package X if it exists. Furthermore, when CPPing source code, set a #define HAS_PACKAGE_X so I can do conditional compilation based on the (non-)
I have some changes to Cabal partly finished that will address this. Don't worry, it's coming.
thanks, i will be glad to see it. but it will be GHC66-only? -- Best regards, Bulat mailto:Bulat.Ziganshin@gmail.com

On 12 July 2006 16:12, Bulat Ziganshin wrote:
Hello Simon,
Wednesday, July 12, 2006, 6:28:55 PM, you wrote:
like to be able to say the following: "Cabal, find and use package X if it exists. Furthermore, when CPPing source code, set a #define HAS_PACKAGE_X so I can do conditional compilation based on the (non-)
I have some changes to Cabal partly finished that will address this. Don't worry, it's coming.
thanks, i will be glad to see it. but it will be GHC66-only?
No, just a new version of Cabal, which will work with 6.4.x. Cheers, Simon

Hello Simon, Thursday, July 13, 2006, 1:40:22 PM, you wrote:
I have some changes to Cabal partly finished that will address this. Don't worry, it's coming.
thanks, i will be glad to see it. but it will be GHC66-only?
No, just a new version of Cabal, which will work with 6.4.x.
anyway it will require from user to upgrade his Cabal installation before installing my library. and what if he then comes to install some lib what is bundled for Cabal shipped with ghc 6.4.2 ? :( -- Best regards, Bulat mailto:Bulat.Ziganshin@gmail.com

On 13 July 2006 11:27, Bulat Ziganshin wrote:
Hello Simon,
Thursday, July 13, 2006, 1:40:22 PM, you wrote:
I have some changes to Cabal partly finished that will address this. Don't worry, it's coming.
thanks, i will be glad to see it. but it will be GHC66-only?
No, just a new version of Cabal, which will work with 6.4.x.
anyway it will require from user to upgrade his Cabal installation before installing my library. and what if he then comes to install some lib what is bundled for Cabal shipped with ghc 6.4.2 ? :(
Maybe the new Cabal will be backwards compatible, in which case there's no problem. If it isn't, then you can install two versions of Cabal side by side (this is supported using the cabal-setup program), or (b) the maintainer of the other package should update the package for the new Cabal. Cheers, Simon
participants (5)
-
Bulat Ziganshin
-
Henning Thielemann
-
Simon Marlow
-
Simon Marlow
-
Yitzchak Gale