ERROR: libmp3lame >= 3.98.3 not found while compiling vlc
Posted: 30 Jun 2017 17:00
Hi to all
I have this error while compiling vlc despite that libmp3lame is installed in my system (linux Debian 8 Jessie). Installed version
is 3.99.5. Digging into the configure, I found the line responsible:
enabled libmp3lame && require "libmp3lame >= 3.98.3" lame/lame.h lame_set_VBR_quality -lmp3lame
parsing the function require, it calls the function check_lib :
check_lib $name "$headers" $func "$@"
in which parameter are $name=libmp3lame, $headers=lame/lame.h and $func = lame_set_VBR_quality. Function check_lib, in turn
calls check_func_headers that makes the check. First doubt, (and reading the code is not too cler to me, may be because I didn't master script language ).
I attempt to understand it:
check_func_headers(){
log check_func_headers "$@"
headers=$1
funcs=$2
shift 2 => ??? What means this; what's shifting ?????
{
for hdr in $headers; do |
print_include $hdr | => These lines create the #include<headersname> in this case #include "lame.h" or #include <lame.h>
done |
for func in $funcs; do => Here ends my knowledge..... $func should be lame_set_VBR_quality
echo "long check_$func(void) { return (long) $func; }" => and in the header have parameters, isn' a void function, at line 440
done => is defined as int CDECL lame_set_VBR_quality(lame_global_flags *, float);
echo "int main(void) { return 0; }"
} | check_ld "$@" && enable $funcs && enable_sanitized $headers
}
All seems correct. My be the error is due to the fact that doesn't find lame.h file ?
When the script specify lame/lame.h which is the starting directory ? Searching the system for lame.h I found these places :
/usr/include/lame
/home/francesco/libraries/lame-3.99.5/include
/home/francesco/vlc_version/vlc/contrib/native/lame/include
/home/francesco/vlc_version/vlc/contrib/i586-linux-gnu/include/lame
Likely It should search on /usr/include. I attempt to change lame/lame.h in lame/include/lame.h but nothing changes. Same error.
Any suggestion ?
regards
Francesco
I have this error while compiling vlc despite that libmp3lame is installed in my system (linux Debian 8 Jessie). Installed version
is 3.99.5. Digging into the configure, I found the line responsible:
enabled libmp3lame && require "libmp3lame >= 3.98.3" lame/lame.h lame_set_VBR_quality -lmp3lame
parsing the function require, it calls the function check_lib :
check_lib $name "$headers" $func "$@"
in which parameter are $name=libmp3lame, $headers=lame/lame.h and $func = lame_set_VBR_quality. Function check_lib, in turn
calls check_func_headers that makes the check. First doubt, (and reading the code is not too cler to me, may be because I didn't master script language ).
I attempt to understand it:
check_func_headers(){
log check_func_headers "$@"
headers=$1
funcs=$2
shift 2 => ??? What means this; what's shifting ?????
{
for hdr in $headers; do |
print_include $hdr | => These lines create the #include<headersname> in this case #include "lame.h" or #include <lame.h>
done |
for func in $funcs; do => Here ends my knowledge..... $func should be lame_set_VBR_quality
echo "long check_$func(void) { return (long) $func; }" => and in the header have parameters, isn' a void function, at line 440
done => is defined as int CDECL lame_set_VBR_quality(lame_global_flags *, float);
echo "int main(void) { return 0; }"
} | check_ld "$@" && enable $funcs && enable_sanitized $headers
}
All seems correct. My be the error is due to the fact that doesn't find lame.h file ?
When the script specify lame/lame.h which is the starting directory ? Searching the system for lame.h I found these places :
/usr/include/lame
/home/francesco/libraries/lame-3.99.5/include
/home/francesco/vlc_version/vlc/contrib/native/lame/include
/home/francesco/vlc_version/vlc/contrib/i586-linux-gnu/include/lame
Likely It should search on /usr/include. I attempt to change lame/lame.h in lame/include/lame.h but nothing changes. Same error.
Any suggestion ?
regards
Francesco