Missing checks for some libraries

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Missing checks for some libraries

Damien Cassou
 
Hi,

I'm following Mariano's instructions on how to build a VM on GNU/Linux
(using git://gitorious.org/cogvm/blessed.git and
http://marianopeck.wordpress.com/2011/04/10/building-the-vm-from-scratch-using-git-and-cmakevmmaker/).

It looks like some library verifications are missing before the
compilation. For example, after typing make, I had the following
error:

   Linking C shared library /home/.../blessed/results/vm-display-null
   /usr/bin/ld: cannot find -lGL

To solve that I had to install libgl1-mesa-dev (for Ubuntu).

Then I got

   /home/.../blessed/platforms/unix/vm-sound-ALSA/sqUnixSoundALSA.c:34:28:
fatal error: alsa/asoundlib.h: No such file or directory

That I solved by installing libasound2-dev (for Ubuntu).

Wouldn't it be possible that the build process displays the missing
dependencies before I have to run make?


Thanks

--
Damien Cassou
http://damiencassou.seasidehosting.st

"Lambdas are relegated to relative obscurity until Java makes them
popular by not having them." James Iry
Reply | Threaded
Open this post in threaded view
|

Re: Missing checks for some libraries

Mariano Martinez Peck
 


On Mon, May 2, 2011 at 11:48 AM, Damien Cassou <[hidden email]> wrote:

Hi,

I'm following Mariano's instructions on how to build a VM on GNU/Linux
(using git://gitorious.org/cogvm/blessed.git and
http://marianopeck.wordpress.com/2011/04/10/building-the-vm-from-scratch-using-git-and-cmakevmmaker/).

It looks like some library verifications are missing before the
compilation. For example, after typing make, I had the following
error:

  Linking C shared library /home/.../blessed/results/vm-display-null
  /usr/bin/ld: cannot find -lGL

To solve that I had to install libgl1-mesa-dev (for Ubuntu).

yes, I have that problem too. I guess you read the config class with NoGL  and the discussions in the VM
 

Then I got

  /home/.../blessed/platforms/unix/vm-sound-ALSA/sqUnixSoundALSA.c:34:28:
fatal error: alsa/asoundlib.h: No such file or directory


I didn't have this one.
 
That I solved by installing libasound2-dev (for Ubuntu).

Wouldn't it be possible that the build process displays the missing
dependencies before I have to run make?


Yes, maybe. But what do you gain?  there is 1 minute of difference between the build (the cmake .) and the make. Sooner or later something will fail and you will need to install the dependencies.
For me, what it would be better is to DOCUMENT which are the needed decencies/packages.
In fact, I would love to provide a script doing all necessary sudo apt-get to get all you need (and the same for others distros than Debian/Ubuntu). In Mac there is no problem because with the 4gb Xcode you have all the libs.

 
Cheers

Mariano


Thanks

--
Damien Cassou
http://damiencassou.seasidehosting.st

"Lambdas are relegated to relative obscurity until Java makes them
popular by not having them." James Iry



--
Mariano
http://marianopeck.wordpress.com

Reply | Threaded
Open this post in threaded view
|

Re: Missing checks for some libraries

Igor Stasenko

On 2 May 2011 11:55, Mariano Martinez Peck <[hidden email]> wrote:

>
>
>
> On Mon, May 2, 2011 at 11:48 AM, Damien Cassou <[hidden email]> wrote:
>>
>> Hi,
>>
>> I'm following Mariano's instructions on how to build a VM on GNU/Linux
>> (using git://gitorious.org/cogvm/blessed.git and
>> http://marianopeck.wordpress.com/2011/04/10/building-the-vm-from-scratch-using-git-and-cmakevmmaker/).
>>
>> It looks like some library verifications are missing before the
>> compilation. For example, after typing make, I had the following
>> error:
>>
>>   Linking C shared library /home/.../blessed/results/vm-display-null
>>   /usr/bin/ld: cannot find -lGL
>>
>> To solve that I had to install libgl1-mesa-dev (for Ubuntu).
>
> yes, I have that problem too. I guess you read the config class with NoGL  and the discussions in the VM
>
>>
>> Then I got
>>
>>   /home/.../blessed/platforms/unix/vm-sound-ALSA/sqUnixSoundALSA.c:34:28:
>> fatal error: alsa/asoundlib.h: No such file or directory
>>
>
> I didn't have this one.
>

Check the  CUnixConfig class comment. :)
I think we should also document an OpenGL too.

So, a solution to that is to document all dependencies for each case,
and also create a separate configs per each unix flavor.

The reason why there is no any dependencies detection because i don't want that.
I want things to be simple.  :)
Configuration refers to exact versions/libraries it using.

With direct references to libraries, you can create a configuration
for cross-compiling VM on your platform for another one.
But if you pollute config with detection, then obviously the resulting
VM will work only on system where you built it,
but not on system you might be targeted for.

And actually it is pointless to attempt to fit for all and just leads
to a lot of funky stuff in makefiles/configuration and autoconf.

>>
>> That I solved by installing libasound2-dev (for Ubuntu).
>>
>> Wouldn't it be possible that the build process displays the missing
>> dependencies before I have to run make?
>>
>
> Yes, maybe. But what do you gain?  there is 1 minute of difference between the build (the cmake .) and the make. Sooner or later something will fail and you will need to install the dependencies.
> For me, what it would be better is to DOCUMENT which are the needed decencies/packages.
> In fact, I would love to provide a script doing all necessary sudo apt-get to get all you need (and the same for others distros than Debian/Ubuntu). In Mac there is no problem because with the 4gb Xcode you have all the libs.
>
>

Unless you wanna build some external stuff, like freetype library,
then you also have same problem.
I have small script which downloads freetype sources & compiles them
automatically.
But i'm not integrated it to cmake configs for freetype plugin yet :)

> Cheers
>
> Mariano
>


--
Best regards,
Igor Stasenko AKA sig.