Results 1 to 7 of 7

Thread: Failure to compile on GNU

  1. #1

    Default Failure to compile on GNU

    First: There are a error on, it does not accept my new autobuild version... it asks for >= 1.5 and I have 1.11

    Second, somehow I could manage to reach the "make" stage, but I got this:

    In file included from soundoutput.cpp:43:
    Unix/soundoutput_alsa.h:54: error: ISO C++ forbids declaration of ‘snd_pcm_t’ with no type
    Unix/soundoutput_alsa.h:54: error: expected ‘;’ before ‘*’ token
    Unix/soundoutput_alsa.h:55: error: ‘snd_pcm_uframes_t’ does not name a type
    Unix/soundoutput_alsa.h:56: error: ‘snd_pcm_uframes_t’ does not name a type
    soundoutput.cpp: In constructor ‘CL_SoundOutput::CL_SoundOutput(const CL_SoundOutput_Description&)’:
    soundoutput.cpp:73: error: ‘class CL_SoundOutput_alsa’ has no member named ‘handle’

  2. #2
    ClanLib Developer
    Join Date
    May 2007


    That should work. performs:

    automake --version
    And checks that the version is >1.5 and <1.18 (using a silly but simple method)

    Maybe you are using a non standard shell? Try using bash

    I don't know about the ALSA problems. If you don't require it, there is a ./configure option to disable it.

  3. #3


    Btw: I am using ClanLib 1.0

    There are no such things on it... (at least, none that I found)

  4. #4
    ClanLib Developer
    Join Date
    May 2007


    Ah, ClanLib 1.0

    You will need to manually modify

    With the ALSA problem, a quick fix is to disable the whole of clanSound

    Sorry, I personally cannot help with ClanLib 1.0

  5. #5


    Quote Originally Posted by rombust View Post
    Ah, ClanLib 1.0

    You will need to manually modify

    With the ALSA problem, a quick fix is to disable the whole of clanSound

    Sorry, I personally cannot help with ClanLib 1.0
    Who can help with ClanLib 1.0 then?

  6. #6
    ClanLib Developer
    Join Date
    May 2007


    A bit of explanation is required I think.

    This is my personal opinion, not necessarily the opinion of other ClanLib developers.

    I have only been developing ClanLib in my spare time for about 3 years.
    Before that (about 10 years ago), I have only had experience of ClanLib 0.5, as a novice user.

    Note, a couple of years ago: ClanLib 0.8 was renamed to ClanLib 1.x branch. ClanLib 0.9 was renamed to ClanLib 2.x branch.

    My initial intention was to make the ClanLib 0.9 branch work on Linux and learn OpenGL
    When ClanLib 2.0 was released, I worked on ClanLib 2.1 and ClanLib 2.2 to get it to a stage where the API is complete for what I personally require.
    Now all these objectives have been met

    All the other active developers that I know of, had already stopped working on ClanLib 0.8 (ClanLib 1.x branch) when I started ClanLib 0.9 development.

    I have still applied patches (that were submitted to this forum) to the ClanLib 1.0.1 SVN. The SVN logs are below:
    1 Jan 2010 : Apply gpmfuchs's patch to fix font scaling to ClanLib 1.0 and a small segfault/debugwarning on windows system when you draw a string with more than 256 characters

    29 September 2009: Core/System/log.h was duplicated in

    2 September 2009: Windows timing code improvement

    24 June 2009: Fix missing includes for ClanLib 1.0

    6 May 2009: Apply gergo's patch for CL_System::get_num_cores()

    1 May 2009: The linux basic2d sdl target was still referring to ClanLib 0.8
    As you can see, there is no mention of fixing ALSA problems.

    ClanLib is an open source, with a BSD style license. Nobody gets paid for developing ClanLib (unfortunately). There is a certain ClanLib developer who would love to get paid for developing ClanLib ) ClanLib relies on new developers to enhance it.

    Anyone can develop ClanLib,

    So at the moment, ClanLib 1.x SVN has no active developers.

    Ideally, I wish that ClanLib 1.x could be totally dropped! ClanLib 2.1 and ClanLib 2.2 is far better, and much more stable.

    But unfortunately, ClanLib 2.x does not have Apple Macintosh support.

    It probably would only take a few weeks to do it. But nobody want to do it. Either lack or time, interest or they have not got a development machine.

    I believe the lack of Apple support is what's stopping Novashell from being ported to ClanLib 2.2

  7. #7
    ClanLib Developer
    Join Date
    Sep 2006


    ClanLib 1 is pretty old, yet we continue to see people occasionally ask about feature requests or bug fixes for it. I do sometimes wonder why people hang on to this old version. Personally I imagine there are a few reasons for this, but if there are more reasons than I mention here please do tell.

    Reason #1: Simplicity.

    ClanLib 2 is more powerful in pretty much every possible way compared to ClanLib 1, but more features often arrive with more complexity and I suspect that some people simply find the 1.0 version easier to work with. This could be addressed by adding more/better high level classes.

    Reason #2: Existing code base already written for ClanLib 1.

    Nobody likes to port their code to a new API. Especially true the larger the code base and the more difficult the transition. This could be fixed by adding a porting library like Qt 4's Qt3Support library, which includes some classes that have the old API and maps it to the new one. I.e. the CL_Surface and CL_Canvas classes from 1.0 could be placed in such a library and thereby make old apps compile in ClanLib 2 with less effort.

    Reason #3: Mac support.

    I don't know how big a factor this is, but I could imagine it is important to some people.

    Reason #4: Stability and bugs.

    Until fairly recently, ClanLib 2 had a lot of early bugs and issues that typically had been ironed out in the old version. But thanks to a lot of hard work by Rombust, there are fewer and fewer showstopper style bugs in the 2.x series.

    I am personally not willing to code or patch ClanLib 1 myself (unless paid well for it), simply because I consider every effort wasted in doing so. But I am willing to try help as much as possible with explanations from what I remember (like those about the mixer), or to help improve porting or the ClanLib 2 API in such a way that everyone would favor it over the old version.

Similar Threads

  1. After i compile it and run it on another computer
    By jerry in forum Official ClanLib SDK Forums
    Replies: 2
    Last Post: 03-30-2010, 07:37 AM
  2. Can't compile clanGL on Mac
    By Tael_ in forum Official ClanLib SDK Forums
    Replies: 1
    Last Post: 07-18-2008, 01:19 AM
  3. Can't compile application
    By Magus in forum Official ClanLib SDK Forums
    Replies: 4
    Last Post: 02-26-2008, 07:51 AM
  4. Won't compile under Vista
    By Scutter in forum Official ClanLib SDK Forums
    Replies: 1
    Last Post: 08-10-2007, 11:59 PM
  5. how to compile static
    By andreaszdw in forum Official ClanLib SDK Forums
    Replies: 1
    Last Post: 05-07-2007, 05:03 AM



Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts