Coder Social home page Coder Social logo

Comments (19)

ivanperez-keera avatar ivanperez-keera commented on May 22, 2024 1

I suspect the problem is that this game uses a new version of hcwiid that was released with accelerometer support, specifically for this game. That version is the lastest one available on hackage. It may already be available in some debian-like distributions like ubuntu, but I don't know if 14.04 has the latest version. If not, then installing haskanoid will try to fetch the latest from hackage, and will need the bluetooth and cwiid development libraries, which are not pulled by libghc-hcwiid-dev (only the binaries are installed, not the headers).

If the above is correct, you need to install libcwiid-dev with apt-get/aptitude, and then hcwiid directly from hackage. The latter should happen automatically when you run "cabal install haskanoid".

Does that work?

from haskanoid.

ivanperez-keera avatar ivanperez-keera commented on May 22, 2024

Thanks!

It might be a good thing to open a ticket on SDL itself, since the typeable thing is their responsibility.

There's two pending tasks here: modify the readme to reflect these instructions, and change the cabal file.

from haskanoid.

tbelaire avatar tbelaire commented on May 22, 2024

I've fired the maintainer of SDL an email, since that's all I saw on Hackage.

Once a new SDL version is out, it'll be easy enough to bump version bounds to get haskanoid to compile, without needing any fancy instructions.

from haskanoid.

listx avatar listx commented on May 22, 2024

I just followed @tbelaire's instructions and doing cabal install from where SDL is located resulted in installing to my system's cabal folder ~/.cabal. I fixed this by doing cabal sandbox add-source SDL-0.6.5 from haskanoid-root, which is actually just the git clone directory of haskanoid (this is because trying it from the hackage version resulted in the game not starting due to missing data files, giving the error message Some resources could not be loaded).

from haskanoid.

Jks15063 avatar Jks15063 commented on May 22, 2024

The instructions don't mention downloading SDL but the project doesn't seem to include it. Should I just download the latest version of sdl and copy it into the project directory?

from haskanoid.

tbelaire avatar tbelaire commented on May 22, 2024

cabal sdl unpack downloads the source code.

from haskanoid.

Jks15063 avatar Jks15063 commented on May 22, 2024

When I run cabal sdl unpack it replies: cabal: unrecognised command: sdl (try --help)

from haskanoid.

tbelaire avatar tbelaire commented on May 22, 2024

Err, I think I mean cabal unpack sdl, sorry.
On Oct 16, 2014, at 12:50 PM, Jake Sellers [email protected] wrote:

When I run cabal sdl unpack it replies: cabal: unrecognised command: sdl (try --help)


Reply to this email directly or view it on GitHub.

from haskanoid.

Jks15063 avatar Jks15063 commented on May 22, 2024

OK, cabal unpack sdl works and I now see a SDL dir. However, after editing the Graphics file per your instructions and running cabal install in the root SDL dir, I see this error:

Resolving dependencies...
Configuring SDL-0.6.5...
Failed to install SDL-0.6.5
Build log ( /home/jake/.cabal/logs/SDL-0.6.5.log ):
Configuring SDL-0.6.5...
configure: WARNING: unrecognized options: --with-compiler, --with-gcc
checking for sdl-config... no
checking for sdl11-config... no
configure: error: *** SDL not found! Get SDL from www.libsdl.org.
If you already installed it, check it's in the path. If problem remains,
please send a mail to the address that appears in ./configure --version
indicating your platform, the version of configure script and the problem.
cabal: Error: some packages failed to install:
SDL-0.6.5 failed during the configure step. The exception was:
ExitFailure 1

I looked in the README in the SDL dir and tried running runhaskell Setup.lhs configure and received an almost identical error message.

Am I way off?

from haskanoid.

tbelaire avatar tbelaire commented on May 22, 2024

the Haskell sdl bindings require SDL to have been installed, as they are just translations to the C calls to the library.
On Oct 16, 2014, at 1:04 PM, Jake Sellers [email protected] wrote:

OK, cabal unpack sdl works and I now see a SDL dir. However, after editing the Graphics file per your instructions and running cabal install in the root SDL dir, I see this error:

Resolving dependencies...
Configuring SDL-0.6.5...
Failed to install SDL-0.6.5
Build log ( /home/jake/.cabal/logs/SDL-0.6.5.log ):
Configuring SDL-0.6.5...
configure: WARNING: unrecognized options: --with-compiler, --with-gcc
checking for sdl-config... no
checking for sdl11-config... no
configure: error: *** SDL not found! Get SDL from www.libsdl.org.
If you already installed it, check it's in the path. If problem remains,
please send a mail to the address that appears in ./configure --version
indicating your platform, the version of configure script and the problem.
cabal: Error: some packages failed to install:
SDL-0.6.5 failed during the configure step. The exception was:
ExitFailure 1

I looked in the README in the SDL dir and tried running runhaskell Setup.lhs configure and received an almost identical error message.

Am I way off?


Reply to this email directly or view it on GitHub.

from haskanoid.

Jks15063 avatar Jks15063 commented on May 22, 2024

ok, getting real close. Got sdl installed and then ran into a bunch of missing dev libs so worked my way down the list installing them like this: sudo apt-get install libghc-foo-dev which worked for every except the wii lib. I ran sudo apt-get install libghc-hcwiid-dev which executed succesfully, but I still get this error:

setup-Simple-Cabal-1.21.1.0-x86_64-linux-ghc-7.8.3: Missing dependencies on
foreign libraries:
* Missing (or bad) header file: cwiid.h
* Missing C libraries: bluetooth, cwiid
This problem can usually be solved by installing the system packages that
provide these libraries (you may need the "-dev" versions). If the libraries
are already installed but in a non-standard location then you can use the
flags --extra-include-dirs= and --extra-lib-dirs= to specify where they are.
If the header file does exist, it may contain errors that are caught by the C
compiler at the preprocessing stage. In this case you can re-run configure
with the verbosity flag -v3 to see the error messages.
cabal: Error: some packages failed to install:
hcwiid-0.0.5 failed during the configure step. The exception was:
ExitFailure 1

Is there a lib I'm still missing or a way to ignore the wii libs, I'm not trying to use a wii-mote anyway.
Sorry for all the questions and thanks for all the help already.

from haskanoid.

codygman avatar codygman commented on May 22, 2024

You don't want to mix installing Haskell packages and cabal packages I
don't think (someone correct me if I'm wrong).

I typically use apt-get build-dep on Haskell packages that require external
dependencies such as SDL.

When I get to a computer I'll post a command line log of installing
haskanoid on vanilla Ubuntu.
On Oct 16, 2014 2:44 PM, "Jake Sellers" [email protected] wrote:

ok, getting real close. Got sdl installed and then ran into a bunch of
missing dev libs so worked my way down the list installing them like this: sudo
apt-get install libghc-foo-dev which worked for every except the wii lib.
I ran sudo apt-get install libghc-hcwiid-dev which executed succesfully,
but I still get this error:

setup-Simple-Cabal-1.21.1.0-x86_64-linux-ghc-7.8.3: Missing dependencies on
foreign libraries:

  • Missing (or bad) header file: cwiid.h
  • Missing C libraries: bluetooth, cwiid
    This problem can usually be solved by installing the system packages that
    provide these libraries (you may need the "-dev" versions). If the libraries
    are already installed but in a non-standard location then you can use the
    flags --extra-include-dirs= and --extra-lib-dirs= to specify where they are.
    If the header file does exist, it may contain errors that are caught by the C
    compiler at the preprocessing stage. In this case you can re-run configure
    with the verbosity flag -v3 to see the error messages.
    cabal: Error: some packages failed to install:
    hcwiid-0.0.5 failed during the configure step. The exception was:
    ExitFailure 1

Is there a lib I'm still missing or a way to ignore the wii libs, I'm
trying to use a wii-mote anyway.
Sorry for all the questions and thanks for all the help already.


Reply to this email directly or view it on GitHub
https://github.com/ivanperez-keera/haskanoid/issues/2#issuecomment-59418715
.

from haskanoid.

Jks15063 avatar Jks15063 commented on May 22, 2024

That sounds great, thanks. Should I remove all of the libghc-... packages I installed?

from haskanoid.

codygman avatar codygman commented on May 22, 2024

That's what I would do, then again I don't know if any of your other
software packages/projects/workflows would be broken by that.

I think I only have that separation because I'm paranoid about cabal being
able to find apt installed ghc libraries.
On Oct 16, 2014 3:00 PM, "Jake Sellers" [email protected] wrote:

That sounds great, thanks. Should I remove all of the libghc-... packages
I installed?


Reply to this email directly or view it on GitHub
https://github.com/ivanperez-keera/haskanoid/issues/2#issuecomment-59420890
.

from haskanoid.

sphvn avatar sphvn commented on May 22, 2024

I'm getting the same issue as @Jks15063

* Missing (or bad) header file: cwiid.h
* Missing C libraries: bluetooth, cwiid

Did anyone come up with a workaround for this? Running on ubuntu-14.04.1-desktop-amd64.

from haskanoid.

sphvn avatar sphvn commented on May 22, 2024

Cheers. Up and running, without having to unpack and modify SDL also.

from haskanoid.

sunwukonga avatar sunwukonga commented on May 22, 2024

On my system (archlinux), in addition to unpacking and fixing the Data.Typeable import in Event.hsc, I had missing libraries for both the SDL_ttf and SDL_mixer dependencies.

The readme's of both packages mentioned the required library dependency and I installed with pacman.

pacman -S sdl_ttf sdl_mixer

Haskanoid compiled and ran fine after that.

from haskanoid.

ivanperez-keera avatar ivanperez-keera commented on May 22, 2024

So, I just ran cabal install --only-dependencies with ghc 7.8.4 and ghc 7.10.3 and SDL compiled just fine. Is the installation of SDL still problematic on your machines?

What else do you think should be modified in the README.md file to make the installation instructions clear? Do we need to link to some manual that explains how to install the SDL bindings, SDL libraries or wiimote/kinect libraries?

from haskanoid.

ivanperez-keera avatar ivanperez-keera commented on May 22, 2024

This issue has been frozen for some time. I'm going to close it, since it compiles fine on travis. If you think the instructions are insufficient, then please re-open or, better, send a pull request for a modified README.md!

I'd love to get contributions :)

from haskanoid.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.