On 01/17/2012 10:24 AM, peter green wrote: > While looking at armhf build failures I took a look at uwsgi I determined it > was > failing on armel, armhf, sh4 and powerpc due to using incorrect paths for java > stuff (it's also failing on ia64 and alpha for what appears to be unrelated > reasons). Specifically it was seting the following paths. > > UWSGICONFIG_JVM_INCPATH='/usr/lib/jvm/java-6-openjdk-$(JAVA_ARCH)/include/ > -I/usr/lib/jvm/java-6-openjdk-$(JAVA_ARCH)/include/linux' > UWSGICONFIG_JVM_LIBPATH='/usr/lib/jvm/java-6-openjdk-$(JAVA_ARCH)/jre/lib/$(JAVA_ARCH)/server/' > > > Where JAVA_ARCH was defined by > > $(eval JAVA_ARCH := $(shell /usr/share/javahelper/java-arch.sh)) > > After taking a look at packages.debian.org I worked out (haven't run any test > builds yet) this could be fixed for armel and powerpc without breaking any > architectures that have already built the package by changing those statements > to the following. > > UWSGICONFIG_JVM_INCPATH='/usr/lib/jvm/java-6-openjdk-$(DEB_HOST_ARCH)/include/ > -I/usr/lib/jvm/java-6-openjdk-$(DEB_HOST_ARCH)/include/linux' > UWSGICONFIG_JVM_LIBPATH='/usr/lib/jvm/java-6-openjdk-$(DEB_HOST_ARCH)/jre/lib/$(JAVA_ARCH)/server/' > > > Then defining DEB_HOST_ARCH in the usual way. > > However on armhf and sh4 those paths don't hold. > > On armhf /usr/share/javahelper/java-arch.sh returns "armhf" but libjvm.so is > in > /usr/lib/jvm/java-6-openjdk-armhf/jre/lib/arm/server/ > On sh4 /usr/share/javahelper/java-arch.sh appears to return* "sh4" but > libjvm.so > is in /usr/lib/jvm/java-6-openjdk-sh4/jre/lib/sh/server/ > > Now the question is how to fix the uwsgi build for armel, armhf, powerpc and > sh4? I see four possibilities > 1: modify /usr/share/javahelper/java-arch.sh to return "arm" on armhf and "sh" > on sh4. Then make the change I mentioned above. > 2: modify openjdk packaging so it installs in locations consistent with the > name > returned by java-arch.h on armhf and sh4. Then make the change I mentioned > above. > 3: Make the change I mentioned above and further add special cases for armhf > and > sh4. > 4: Find some other way of determining java include and library locations which > works on all architectures.
The name of the jre/lib/<arch> directory is unconnected to DEB_HOST_ARCH; please use the names used by OpenJDK and gcj. If these should change, I'll add compatibility symlinks for these directories so that they continue to work. Matthias -- To UNSUBSCRIBE, email to debian-arm-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/4f1561ec.4090...@debian.org