void-packages icon indicating copy to clipboard operation
void-packages copied to clipboard

Lightzone-4.2.4 compilation issue

Open zenny opened this issue 1 year ago • 4 comments

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
}

zenny avatar Feb 17 '24 07:02 zenny

[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

classabbyamp avatar Feb 17 '24 08:02 classabbyamp

[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

zenny avatar Feb 18 '24 06:02 zenny

you make your own patch and put it in srcpkgs/$pkgname/patches

classabbyamp avatar Feb 18 '24 07:02 classabbyamp

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.

github-actions[bot] avatar May 19 '24 01:05 github-actions[bot]