Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
alsa-utils emerge failing - libasound headers not found
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Multimedia
View previous topic :: View next topic  
Author Message
edward_scott
Apprentice
Apprentice


Joined: 17 Jan 2006
Posts: 163

PostPosted: Sat Apr 27, 2013 5:57 pm    Post subject: alsa-utils emerge failing - libasound headers not found Reply with quote

I'm struggling with an emerge of media-sound/alsa-utils-1.0.26-r2 that is failing at the following point:

Quote:
checking for libasound headers version >= 1.0.24... not present.
configure: error: Sufficiently new version of libasound not found.


I have the latest alsalib installed already. I tried re-emerging it but that made no difference.

Quote:
* media-libs/alsa-lib
Latest version available: 1.0.26-r1
Latest version installed: 1.0.26-r1
Size of files: 862 kB
Homepage: http://www.alsa-project.org/
Description: Advanced Linux Sound Architecture Library
License: LGPL-2.1


everything else on my system is up to date. I've done some searching but I'm not really sure where to start with this one.

any ideas?
Back to top
View user's profile Send private message
PaulBredbury
Watchman
Watchman


Joined: 14 Jul 2005
Posts: 7310

PostPosted: Sat Apr 27, 2013 6:09 pm    Post subject: Re: alsa-utils emerge failing - libasound headers not found Reply with quote

edward_scott wrote:
checking for libasound headers version >= 1.0.24... not present.

You can de-mysticize that by looking at the source code ;)

Look in the script named "configure". A tiny snippet of a test program it creates:
Code:
#include <alsa/asoundlib.h>


And then looking at /usr/include/alsa/asoundlib.h
Code:
#include <alsa/version.h>


I have in /usr/include/alsa/version.h
Code:
#define SND_LIB_MAJOR       1 /**< major number of library version */
#define SND_LIB_MINOR       0 /**< minor number of library version */
#define SND_LIB_SUBMINOR    27 /**< subminor number of library version */
#define SND_LIB_EXTRAVER    1000000 /**< extra version number, used mainly for betas */
Back to top
View user's profile Send private message
edward_scott
Apprentice
Apprentice


Joined: 17 Jan 2006
Posts: 163

PostPosted: Sat Apr 27, 2013 8:02 pm    Post subject: Reply with quote

My version.h indicates version 1.0.26, which is greater than 1.0.24, so I still don't see what the problem is.

Code:
#define SND_LIB_MAJOR           1 /**< major number of library version */
#define SND_LIB_MINOR           0 /**< minor number of library version */
#define SND_LIB_SUBMINOR        26 /**< subminor number of library version */
#define SND_LIB_EXTRAVER        1000000 /**< extra version number, used mainly for betas */
/** library version */
#define SND_LIB_VERSION         ((SND_LIB_MAJOR<<16)|\
                                 (SND_LIB_MINOR<<8)|\
                                  SND_LIB_SUBMINOR)
/** library version (string) */
#define SND_LIB_VERSION_STR     "1.0.26"
Back to top
View user's profile Send private message
PaulBredbury
Watchman
Watchman


Joined: 14 Jul 2005
Posts: 7310

PostPosted: Sat Apr 27, 2013 8:09 pm    Post subject: Reply with quote

Hopefully your compilation directory has a config.log file, showing more details about the tests done by the configure script.
Back to top
View user's profile Send private message
edward_scott
Apprentice
Apprentice


Joined: 17 Jan 2006
Posts: 163

PostPosted: Sat Apr 27, 2013 8:30 pm    Post subject: Reply with quote

it does. here is an excerpt where it checks the version. I don't see why this would fail given my version.h.

Code:
| #include <alsa/asoundlib.h>
|
| int
| main ()
| {
|
| /* ensure backward compatibility */
| #if !defined(SND_LIB_MAJOR) && defined(SOUNDLIB_VERSION_MAJOR)
| #define SND_LIB_MAJOR SOUNDLIB_VERSION_MAJOR
| #endif
| #if !defined(SND_LIB_MINOR) && defined(SOUNDLIB_VERSION_MINOR)
| #define SND_LIB_MINOR SOUNDLIB_VERSION_MINOR
| #endif
| #if !defined(SND_LIB_SUBMINOR) && defined(SOUNDLIB_VERSION_SUBMINOR)
| #define SND_LIB_SUBMINOR SOUNDLIB_VERSION_SUBMINOR
| #endif
|
| #  if(SND_LIB_MAJOR > 1)
|   exit(0);
| #  else
| #    if(SND_LIB_MAJOR < 1)
| #       error not present
| #    endif
|
| #   if(SND_LIB_MINOR > 0)
|   exit(0);
| #   else
| #     if(SND_LIB_MINOR < 0)
| #          error not present
| #      endif
|
| #      if(SND_LIB_SUBMINOR < 24)
| #        error not present
| #      endif
| #    endif
| #  endif
| exit(0);
|
|   ;
|   return 0;
| }
configure:7108: result: not present.
configure:7110: error: Sufficiently new version of libasound not found.
Back to top
View user's profile Send private message
wcg
Guru
Guru


Joined: 06 Jan 2009
Posts: 588

PostPosted: Sat May 04, 2013 8:29 pm    Post subject: Reply with quote

Nothing on this?

It seems to me that what you want to know is where gcc is looking
for the alsa headers when it runs that test. (Configure is going to
exec gcc to compile that test code, then check the return value
of the test program. If the alsa version is good, the test program
will return 0.)

One way I can think of to do that is wrap gcc with an strace wrapper
that logs gcc's system calls. You will need to read the strace man page
to find out what arguments to strace to use. Strace has a lot of options
that you will not need (timestamps, yada yada). You only want to see
the arguments (paths, etc) and return values on open() calls, to see
where gcc is looking for any #include files. You also want the strace
argument for a log file so you can log gcc's system calls.

This is a lot of overhead for running gcc, but that won't matter to log gcc's
system calls while compiling this one package. You can remove the strace
wrapper as soon as you get a log of configure running gcc to do tests while
configuring this package.

An strace wrapper:
Code:

#!/bin/sh
# strace gcc wrapper
strace [strace args] /usr/bin/gcc.bin


Move /usr/bin/gcc to /usr/bin/gcc.bin. Install the strace wrapper as
/usr/bin/gcc. Make it executable. After running emerge to emerge
the problematic package and get a log of gcc's system calls when
execed by Configure, save the strace script somewhere for later use.
Move /usr/bin/gcc.bin back to /usr/bin/gcc.

Inspect the strace log, search for "alsa", you should find the problem.
(gcc is looking someplace strange for the alsa headers. You can try
to figure out why after you find out where that is.)

(dev-util/strace if you are unfamiliar with the strace package.)
_________________
TIA
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Multimedia All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum