Icedtea 2.4.0, build CACAO/OpenJDK -> 'ERROR: You seem to not have installed ALSA 0.9.1 or higher.'

Peter Neubauer peterneubauer2 at gmail.com
Fri Jun 14 11:35:41 PDT 2013


> For tracking this down, you can look at these pieces of the magic:
>
> GetVersion:
> http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk/file/29ce11184945/make/common/shared/Defs.gmk#l135
>
> ALSA_VERSION:
> http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk/file/29ce11184945/make/common/shared/Sanity.gmk#l117
>
> What does the line with SND_LIB_VERSION_STR say in /usr/include/alsa/version.h?
 From my manual piecing-together of the GetVersion call, all seems fine 
on the ALSA side:

$ egrep SND_LIB_VERSION_STR /usr/include/alsa/version.h
#define SND_LIB_VERSION_STR    "1.0.26"
$ egrep SND_LIB_VERSION_STR /usr/include/alsa/version.h | sed -e 
's at .*"\(.*\)".*@\1@'
1.0.26
$ egrep SND_LIB_VERSION_STR /usr/include/alsa/version.h | sed -e 
's at .*"\(.*\)".*@\1@' | sed -e 's@[^0-9]*\([0-9][0-9]*\.[0-9][.0-9]*\).*@\1@'
1.0.26

I tried to add debug output to the relevant parts of the gmk files, but 
failed, so I don't have a sample of the actual runtime values of 
ALSA_VERSION etc.

However, I noticed some errors in the build output that might be 
related, e.g. http://pastebin.com/F1gETRkH, line 1091:
/bin/sh: /bin/egrep: No such file or directory

On my system:
$ which egrep
/usr/bin/egrep

Since the version string extraction depends on egrep, it would not find 
anything.

I tried to trace the path definition:

openjdk/jdk/make/common/shared/Defs-utils.gmk:95
EGREP          = $(UTILS_COMMAND_PATH)egrep

openjdk/jdk/make/common/shared/Defs-utils.gmk:50
   UTILS_COMMAND_PATH=$(UNIXCOMMAND_PATH)

openjdk/jdk/make/common/shared/Defs-linux.gmk:64
   UNIXCOMMAND_PATH  = /bin/

As a quick-fix attempt, I manually substituted 
'UTILS_COMMAND_PATH=$(USRBIN_PATH)' in all Defs-utils.gmk files. At 
first, the build continued for a bit - but I seem to have overshot the goal:
'/bin/sh: /usr/bin/sh: No such file or directory'
I attempted no more manual quick-fixes because it could get quite 
tedious to check and correct the path to every tool.

> I don't know what your intention is. If you just want a build, use an
> older system and copy it over.
I need to build new CACAO sources because I'm working on a related 
project as part of an undergrad course and later my Bachelor thesis. I 
have built it before with GNU Classpath and without IcedTea, but I 
wanted to try OpenJDK as well. If there is a way to build CACAO for 
OpenJDK without building OpenJDK itself and you could point it out to 
me, I might not give up on it now.

In case you were there at that CACAO Meeting on 14.5. (?) at the 
complang library [I'm bad at remembering names and faces, sorry], I was 
there too, and I talked briefly about my intermediate representation 
interpreter project.




More information about the distro-pkg-dev mailing list