Lightzone-4.2.4 compilation issue
Hi,
I am trying to build LightZone 4.2.4 from using xbps-src, but it ends up at:
[exec] g++ -c -fno-PIE -mtune=generic -O2 -pipe -ffile-prefix-map=/builddir/lightzone-4.2.4=. -g -fPIC -march=athlon64 -msse2 -mfpmath=sse -O3 -fno-trapping-math -fo
mit-frame-pointer -std=c++14 -DJNILIB -g -fPIC -march=athlon64 -msse2 -mfpmath=sse -O3 -fno-trapping-math -fomit-frame-pointer -std=c++14 -DJNILIB -I/usr/lib/jvm/default-
jdk/include -I/usr/lib/jvm/default-jdk/include/linux -I../../../lightcrafts -I../../../lightcrafts/jnisrc/jniutils -I/usr/include/lensfun -I/usr/include/glib-2.0 -I/usr/lib
64/glib-2.0/include LC_lensfun.cpp
[exec] LC_lensfun.cpp: In function 'jlong Java_com_lightcrafts_utils_Lensfun_init(JNIEnv*, jobject, jstring)':
[exec] LC_lensfun.cpp:57:29: error: 'uintptr_t' does not name a type
[exec] 57 | return reinterpret_cast<uintptr_t>(lf);
[exec] | ^~~~~~~~~
[exec] LC_lensfun.cpp:16:1: note: 'uintptr_t' is defined in header '<cstdint>'; did you forget to '#include <cstdint>'?
[exec] 15 | #include "interpolation.h"
[exec] +++ |+#include <cstdint>
[exec] 16 |
[exec] make[2]: *** [../../../lightcrafts/mk/sources.mk:134: LC_lensfun.o] Error 1
[exec] make[1]: *** [../jni.mk:198: mk_target] Error 2
[exec] make: *** [../mk/recurse.mk:29: lensfun] Error 1
BUILD FAILED
/builddir/lightzone-4.2.4/linux/build.xml:37: The following error occurred while executing this line:
/builddir/lightzone-4.2.4/lightcrafts/build.xml:140: exec returned: 2
Total time: 1 minute 12 seconds
/void-packages/common/xbps-src/shutils/common.sh: line 149: printf: `m': invalid format character
=> ERROR: lightzone-4.2.4_1: do_build: 'TARGET=${XBPS_TARGET_MACHINE=> ERROR: in do_build() at srcpkgs/lightzone/template:33
I modified the xbps-src template by @Orphaned to:
# Template file for 'lightzone'
pkgname=lightzone
version=4.2.4
revision=1
_ivy_version=2.4.0
hostmakedepends="automake git openjdk11 apache-ant javahelp2 rsync pkg-config"
makedepends="libgomp-devel lcms2-devel libjpeg-turbo-devel tiff-devel libX11-devel lensfun-devel"
depends="openjdk11 javahelp2 liblzma tiff"
short_desc="Professional-level digital darkroom and photo editor"
maintainer="Orphaned <[email protected]>"
license="BSD-3-Clause"
homepage="http://www.lightzoneproject.org/"
distfiles="https://github.com/ktgw0316/LightZone/archive/${version}.tar.gz>${pkgname}-${version}.tar.gz
https://repo1.maven.org/maven2/org/apache/ivy/ivy/${_ivy_version}/ivy-${_ivy_version}.jar"
checksum="49421b45a8a5a5ec17c4bc688e4699d851bb19c22080f154143ef23038425dd0
ce81cb234406b093b5b8de9f6f5b2a50ed0824d6a235891353e8d3e941a53970"
skip_extraction="ivy-${_ivy_version}.jar"
# JNI binaries are not PIE
nopie=yes
replaces="lightzone-bin>=0"
do_build() {
mkdir -p lightcrafts/lib
ln -sf $XBPS_SRCDISTDIR/${pkgname}-${version}/ivy-${_ivy_version}.jar \
lightcrafts/lib/ivy.jar
# Fix for cross building
vsed -i lightcrafts/jnisrc/tiff/GNUmakefile \
-e "s;\./configure;& --host=${XBPS_MACHINE%-musl};"
. /etc/profile.d/jdk.sh
cd linux
TARGET=${XBPS_TARGET_MACHINE%-musl} ant jar
}
do_install() {
vbin linux/products/lightzone
vmkdir usr/share
cp -pHR linux/icons ${DESTDIR}/usr/share
vinstall linux/products/lightzone.desktop 644 usr/share/applications
# Install shared libraries
for f in linux/products/*.so; do
vinstall $f 755 usr/lib/lightzone
done
# Install helpers
for f in LightZone-forkd dcraw_lz; do
vinstall linux/products/$f 755 usr/lib/lightzone
done
# Install jars
for f in linux/products/*.jar; do
vinstall $f 644 usr/share/java/lightzone
done
vlicense COPYING
}
[exec] LC_lensfun.cpp:16:1: note: 'uintptr_t' is defined in header '<cstdint>'; did you forget to '#include <cstdint>'?
patch that file to include cstdint
[exec] LC_lensfun.cpp:16:1: note: 'uintptr_t' is defined in header '<cstdint>'; did you forget to '#include <cstdint>'?patch that file to include cstdint
Thanks @classabbyamp, but where to inside the patch file, provided by upstream as of below?
Fixes bad macro checks, breaking altivec build.
--- a/lightcrafts/jnisrc/jai/bilateralFilter_sse.c
+++ b/lightcrafts/jnisrc/jai/bilateralFilter_sse.c
@@ -188,7 +188,7 @@ static inline void reset_denormals(csr_context oldMXCSR) {
#endif // defined(__i386__) || defined(__x86_64__)
-#if defined(__ppc__) || defined(__ppc64__)
+#if defined(__powerpc__) || defined(__powerpc64__)
#include <altivec.h>
static inline vFloat loadUnalignedFloat( float *target )
@@ -253,7 +253,7 @@ static void reset_denormals( csr_context oldJavaMode ) {
vec_mtvscr ( oldJavaMode );
}
-#endif // defined(__ppc__) || defined(__ppc64__)
+#endif // defined(__powerpc__) || defined(__powerpc64__)
#endif // defined(__SSE2__) || defined (__VEC__)
#if USE_VECTOR
you make your own patch and put it in srcpkgs/$pkgname/patches
Issues become stale 90 days after last activity and are closed 14 days after that. If this issue is still relevant bump it or assign it.