diff --git a/README.bug b/README.bug new file mode 100644 index 0000000..1db21eb --- /dev/null +++ b/README.bug @@ -0,0 +1,93 @@ +Error in pixReadMemTiff: function not present +Error in pixReadMem: tiff: no pix returned +Error in pixaGenerateFontFromString: pix not made +Error in bmfCreate: font pixa not made + +pixReadMemTiff ist aus leptonica + +leptonica : build/leptonica-1.85.0/src/tiffio.c : pixReadMemTiff(const l_uint8 *cdata + +"function not present" kommt aus build/leptonica-1.85.0/src/tiffiostub.c + +tiffiostub.c wird eingebunden, anstatt tiffio.c wenn HAVE_LIBJPEG nicht defniert ist + +52: #if !HAVE_LIBTIFF || !HAVE_LIBJPEG /* defined in environ.h */ + +config.log @ leptonica sagt: finde pkg-config libtiff-4 nicht +"No package 'libtiff-4' found" + +configure:14837: checking for libtiff-4 +configure:14844: $PKG_CONFIG --exists --print-errors "libtiff-4" +Package libtiff-4 was not found in the pkg-config search path. + +- wir bauen jetzt leptonica so lange, bis der libtiff findet + + is da : ~/2135-debug/tiff-4.7.0/lib/pkgconfig/libtiff-4.pc + + das profile von tiff- setzt auch den PKG_CONFIG_PATH: +paperless@server:~/git/paperless-baremetal$ cat ~/2135-debug/tiff-4.7.0/profile +PATH=/home/paperless/2135-debug/tiff-4.7.0/bin:$PATH +PKG_CONFIG_PATH=/home/paperless/2135-debug/tiff-4.7.0/lib/pkgconfig${PKG_CONFIG_PATH:+:}${PKG_CONFIG_PATH:-} +LD_LIBRARY_PATH=/home/paperless/2135-debug/tiff-4.7.0/lib${LD_LIBRARY_PATH:+:}${LD_LIBRARY_PATH:-} + + + das profile von tiff wird in leptonica gesourced + + + exportiere jetzt mal PKG_CONFIG_PATH + + - er meckert er würde jetzt libjpeg.so.7 nicht finden. + "/bin/ld: ../src/.libs/libleptonica.so: undefined reference to `jpeg_start_decompress@LIBJPEG_7.0'" + + die gibts aber: + paperless@server:~/git/paperless-baremetal$ find ~/2135-debug/ | grep jpeg.so + /home/paperless/2135-debug/libjpeg-turbo-3.1.0/lib/libjpeg.so.7.4.0 + + Im PKG_CONFIG_PATH steht sie auch drin + + config.log auch alles OK: + JPEG_CFLAGS='-I/home/paperless/2135-debug/libjpeg-turbo-3.1.0/include' + JPEG_LIBS='-L/home/paperless/2135-debug/libjpeg-turbo-3.1.0/lib -ljpeg' + PKG_CONFIG_PATH='/home/paperless/2135-debug/imagemagick-7.1.1-41/lib/pkgconfig:/home/paperless/2135-debug/tiff-4.7.0/lib/pkgconfig:/home/paperless/2135-debug/libjpeg-turbo-3.1.0/lib/pkgconfig' + #define HAVE_LIBJPEG 1 + - diffs zwischen 'notiff und nojepg, + + config.log: sollte gehen, kennt HAVE_LIBTIFF und HAVE_LIBJPEG, alles korrekt + + config_auto.h: auch ok + + config.status: auch ok + + Makefile: auch ok + eventuell bindet der grundsätzlich die JPEG_CFLAGS nicht ein ? + ich find nix + mal ab hier mit 1.84.1 ? Nope. + + die libs stimmen auch...: + + nm ./libjpegturbo-3.1.0/lib/libjpeg.so.7.4.0 | grep jpeg_calc_output_dimensions + 000000000004ace0 T jpeg_calc_output_dimensions + symbol ist in text (code) section (T). + nm ./leptonica-1.85.0/lib/libleptonica.so.6.0.0 | grep jpeg_calc_output_dimensions + U jpeg_calc_output_dimensions@LIBJPEG_7.0 + undefined, also extern (U) + nm ./libjpegturbo-3.1.0/bin/djpeg | grep jpeg_calc_output_dimensions + U jpeg_calc_output_dimensions@LIBJPEG_7.0 + ldd ./libjpegturbo-3.1.0/bin/djpeg + linux-vdso.so.1 (0x00007ffda8d52000) + libjpeg.so.7 => /home/paperless/2135-debug/libjpegturbo-3.1.0/lib/libjpeg.so.7 (0x00007f61f9078000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f61f8e00000) + /lib64/ld-linux-x86-64.so.2 (0x00007f61f914a000) + versuchen wir mal static libjpeg + + leptonica baut durch + - tesseract failed: + /bin/ld: /home/paperless/2135-debug/leptonica-1.85.0/lib/libleptonica.a(writefile.o): warning: relocation against `NumImageFileFormatExtensions' in read-only section `.text' + /bin/ld: /home/paperless/2135-debug/leptonica-1.85.0/lib/libleptonica.a(colorspace.o): relocation R_X86_64_PC32 against symbol `LeptMsgSeverity' can not be used when making a shared object; recompile with -fPIC + /bin/ld: final link failed: bad value + collect2: error: ld returned 1 exit status + - --with-pic bei leptonica ... +... hmmm... ich glaube ich bin wieder an anfang.... + + + ./manage.py migrate + SystemCheckError: System check identified some issues: + + ERRORS: + ?: The selected ocr language deu is not installed. Paperless cannot OCR your documents without it. Please fix PAPERLESS_OCR_LANGUAGE. + ?: The selected ocr language eng is not installed. Paperless cannot OCR your documents without it. Please fix PAPERLESS_OCR_LANGUAGE. + + - ./tesseract-5.5.0/bin/tesseract: error while loading shared libraries: libjpeg.so.62: cannot open shared object file: No such file or directory + + - clean build auf 2.13.5.1 + - jbig2enc failed + checking for findFileFormatStream in -lleptonica... no + Error! Leptonica not detected. + + diff --git a/README.dot b/README.dot index 6282a3d..edbd24e 100644 --- a/README.dot +++ b/README.dot @@ -14,12 +14,20 @@ digraph depends { JE [ label="jbig2enc" ] JD [ label="jbig2dec" ] NG [ label="nginx" ] + JP [ label="libjpegturbo" ] + TI [ label="libtiff" ] + WP [ label="libwebp" ] SQ -> PY PY -> NO SQ -> NO + + TI -> WP + + { JP, WP } -> FF + FF -> PN FF -> UN diff --git a/README.todo b/README.todo index a23f457..42eff0c 100644 --- a/README.todo +++ b/README.todo @@ -2,6 +2,11 @@ dependency tree: dot REAME.dot +bug: + + libtiff sollte den LD_LIBRARY_PATH setzen, siehe /home/paperless/2.13.5.1/zbar-0.23.93/profile, sonst findet er zwar die header files zum compilieren aber er lädt /usr/lib/libtiff ... und die ist alt. + + bug: ☐ https://github.com/jonaswinkler/paperless-ng/issues/1490 ☐ https://github.com/paperless-ngx/paperless-ngx/discussions/3090 diff --git a/build.profile b/build.profile index bda8c07..c7409ad 100644 --- a/build.profile +++ b/build.profile @@ -53,6 +53,18 @@ BUILD_nginx_SRCURL="https://beehive.molgen.mpg.de/89773c781ff0c2cd876b03bbc094c2 BUILD_libfontttf=liberation-fonts-ttf-2.1.5 BUILD_libfontttf_SRCURL="https://beehive.molgen.mpg.de/31b453e0b77bacde410a34a725b34f8a/${BUILD_libfontttf}.tar.gz" +# SRCURL=""https://download.osgeo.org/libtiff/tiff-4.7.0.tar.gz"/${BUILD_ffmpeg}.tar.gz" +BUILD_libtiff=tiff-4.7.0 +BUILD_libtiff_SRCURL="https://beehive.molgen.mpg.de/3a0fa4a270a4a192b08913f88d0cfbdd/${BUILD_libtiff}.tar.gz" + +# SRCURL="https://github.com/libjpeg-turbo/libjpeg-turbo/releases/download/3.1.0/libjpeg-turbo-3.1.0.tar.gz" +BUILD_libjpegturbo=libjpegturbo-3.1.0 +BUILD_libjpegturbo_SRCURL="https://beehive.molgen.mpg.de/ed3fb4bb4cf794898f11a6d30c54b479/libjpeg-turbo-3.1.0.tar.gz" + +# SRCURL="https://storage.googleapis.com/downloads.webmproject.org/releases/webp/libwebp-1.5.0.tar.gz" +BUILD_libwebp=libwebp-1.5.0 +BUILD_libwebp_SRCURL[0]="https://beehive.molgen.mpg.de/8f659e426eaa2aeec4b36bc9ea43b3f3/${BUILD_libwebp}.tar.gz" + # gits BUILD_imagemagick=imagemagick-7.1.1-41 BUILD_imagemagick_SRCURL="https://github.com/ImageMagick/ImageMagick.git" @@ -70,7 +82,7 @@ BUILD_tessdata=tessdata_best-4.1.0 BUILD_tessdata_SRCURL="https://github.com/tesseract-ocr/tessdata_best.git" BUILD_tessconfigs_SRCURL="https://github.com/tesseract-ocr/tessconfigs.git" -BUILD_jbig2enc=jbig2enc-0.28-17-gea05019 +BUILD_jbig2enc=jbig2enc-0.30-14-g6019f5f BUILD_jbig2enc_SRCURL="https://github.com/agl/jbig2enc.git" BUILD_jbig2dec=jbig2dec-0.20 diff --git a/build.sudo b/build.sudo index 097dced..af9942b 100755 --- a/build.sudo +++ b/build.sudo @@ -12,6 +12,7 @@ PKGS=( autoconf autopoint cargo + cmake g++ git imagemagick-6.q16 @@ -21,7 +22,6 @@ PKGS=( libpq-dev libreadline-dev libssl-dev - libtiff-dev libtool ninja-build yasm diff --git a/buildall.sh b/buildall.sh index adf9593..5f49049 100755 --- a/buildall.sh +++ b/buildall.sh @@ -70,6 +70,9 @@ popd [ -d "${BUILD_DIR}/${BUILD_redis}" ] || ./redis.build.sh [ -d "${BUILD_DIR}/${BUILD_python}" ] || ./Python.build.sh [ -d "${BUILD_DIR}/${BUILD_node}" ] || ./node.build.sh +[ -d "${BUILD_DIR}/${BUILD_libjpegturbo}" ] || ./libjpegturbo.build.sh +[ -d "${BUILD_DIR}/${BUILD_libtiff}" ] || ./libtiff.build.sh +[ -d "${BUILD_DIR}/${BUILD_libwebp}" ] || ./libwebp.build.sh [ -d "${BUILD_DIR}/${BUILD_ffmpeg}" ] || ./ffmpeg.build.sh [ -d "${BUILD_DIR}/${BUILD_imagemagick}" ] || ./imagemagick.build.sh [ -d "${BUILD_DIR}/${BUILD_pngquant}" ] || ./pngquant.build.sh diff --git a/checkversions.sh b/checkversions.sh index d5c3e15..8814a73 100755 --- a/checkversions.sh +++ b/checkversions.sh @@ -134,6 +134,14 @@ if [[ -e "$PROJECT"/profile ]]; then pngquant -V mtype pngquant } + function exec_BUILD_libwebp () { + webpinfo -version + mtype webpinfo + } + function exec_BUILD_libjpegturbo () { + cjpeg -version + mtype cjpeg + } fi @@ -224,6 +232,8 @@ BUILD_sqlite BUILD_nginx BUILD_tesseract BUILD_tessdata +BUILD_libwebp +BUILD_libjpegturbo BUILD_jbig2dec BUILD_jbig2enc BUILD_leptonica diff --git a/ffmpeg.build.sh b/ffmpeg.build.sh index cd471c9..0735bb3 100755 --- a/ffmpeg.build.sh +++ b/ffmpeg.build.sh @@ -6,6 +6,9 @@ set -u . build.profile +. ${PREFIX}/${BUILD_libjpegturbo}/profile +. ${PREFIX}/${BUILD_libwebp}/profile + function B_FFMPEG { SRCURL="${BUILD_ffmpeg_SRCURL}" diff --git a/imagemagick.build.sh b/imagemagick.build.sh index a057867..d046d80 100755 --- a/imagemagick.build.sh +++ b/imagemagick.build.sh @@ -6,7 +6,10 @@ set -u . build.profile +. ${PREFIX}/${BUILD_libjpegturbo}/profile . ${PREFIX}/${BUILD_ffmpeg}/profile +. ${PREFIX}/${BUILD_libtiff}/profile +. ${PREFIX}/${BUILD_libwebp}/profile function B_IMAGEMAGICK { @@ -58,7 +61,8 @@ local _conf=( --without-x ) -./configure "${_conf[@]}" +LDFLAGS=" $(PKG_CONFIG_PATH=${PKG_CONFIG_PATH} pkg-config --libs libjpeg)" \ +PKG_CONFIG_PATH=${PKG_CONFIG_PATH:-} ./configure "${_conf[@]}" make install diff --git a/jbig2enc.build.sh b/jbig2enc.build.sh index 3602abd..ebc0f6e 100755 --- a/jbig2enc.build.sh +++ b/jbig2enc.build.sh @@ -7,6 +7,9 @@ set -u . build.profile . ${PREFIX}/${BUILD_python}/profile +. ${PREFIX}/${BUILD_libwebp}/profile +. ${PREFIX}/${BUILD_libjpegturbo}/profile +. ${PREFIX}/${BUILD_libtiff}/profile . ${PREFIX}/${BUILD_leptonica}/profile function B_JBIG2ENC { @@ -38,16 +41,48 @@ pushd ${BUILD_PKG} local _conf=( --prefix ${PREFIX} + --with-pic +# --disable-shared ) -LDFLAGS=$(PKG_CONFIG_PATH=${PKG_CONFIG_PATH} pkg-config --libs-only-L lept) +# LDFLAGS="$(PKG_CONFIG_PATH=${PKG_CONFIG_PATH} pkg-config --libs-only-L lept)" +# export + +# LEPTONICA_CFLAGS="$(PKG_CONFIG_PATH=${PKG_CONFIG_PATH} pkg-config --cflags lept)" +# export + +# LEPTONICA_LIBS="$(PKG_CONFIG_PATH=${PKG_CONFIG_PATH} pkg-config --libs lept)" + +LDFLAGS="$(PKG_CONFIG_PATH=${PKG_CONFIG_PATH} pkg-config --libs libtiff-4)" +LDFLAGS+=" $(PKG_CONFIG_PATH=${PKG_CONFIG_PATH} pkg-config --libs lept)" +LDFLAGS+=" $(PKG_CONFIG_PATH=${PKG_CONFIG_PATH} pkg-config --libs libjpeg)" +LDFLAGS+=" $(PKG_CONFIG_PATH=${PKG_CONFIG_PATH} pkg-config --libs libwebp)" export LDFLAGS -CPPFLAGS="-I${PROJECT}/${BUILD_leptonica}/include" + +CFLAGS="-I${PROJECT}/${BUILD_leptonica}/include" +CFLAGS+=" -I${PROJECT}/${BUILD_libtiff}/include" +CFLAGS+=" -I${PROJECT}/${BUILD_libwebp}/include" +export CFLAGS + +CPPFLAGS=${CFLAGS} export CPPFLAGS +LIBS='-lm -lleptonica -ltiff -ljpeg -lwebp -lsharpyuv -lpng -lz -lzstd -llzma' +export LIBS + +# LDFLAGS+=" $(PKG_CONFIG_PATH=${PKG_CONFIG_PATH} pkg-config --libs-only-L libtiff-4)" +#LDFLAGS+=" $(PKG_CONFIG_PATH=${PKG_CONFIG_PATH} pkg-config --libs libtiff-4)" +# export LDFLAGS + +# CPPFLAGS="-I${PROJECT}/${BUILD_leptonica}/include" +#CFLAGS+=" -I${PROJECT}/${BUILD_libtiff}/include" +# export CPPFLAGS + +#export PKG_CONFIG_PATH + ./autogen.sh -./configure "${_conf[@]}" +PKG_CONFIG_PATH=${PKG_CONFIG_PATH} ./configure "${_conf[@]}" make -j ${NPROC} install diff --git a/leptonica.build.sh b/leptonica.build.sh index bda3a49..8402b9b 100755 --- a/leptonica.build.sh +++ b/leptonica.build.sh @@ -6,6 +6,9 @@ set -u . build.profile +. ${PREFIX}/${BUILD_libjpegturbo}/profile +. ${PREFIX}/${BUILD_libtiff}/profile +. ${PREFIX}/${BUILD_libwebp}/profile . ${PREFIX}/${BUILD_imagemagick}/profile function B_LEPTONICA { @@ -21,6 +24,7 @@ mkdir -p $PREFIX cat >$PREFIX/profile <<-EOF PATH=${PREFIX}/bin:\$PATH PKG_CONFIG_PATH=${PROJECT}/${BUILD_PKG}/lib/pkgconfig\${PKG_CONFIG_PATH:+:}\${PKG_CONFIG_PATH:-} +LD_LIBRARY_PATH=${PROJECT}/${BUILD_PKG}/lib\${LD_LIBRARY_PATH:+:}\${LD_LIBRARY_PATH:-} EOF test -e ${BUILD_PKG}.tar.gz || wget -nv ${SRCURL} -O ${BUILD_PKG}.tar.gz @@ -28,8 +32,27 @@ test -d ${BUILD_PKG} || mkdir -pv ${BUILD_PKG} && tar -xf ${BUILD_PKG}.tar.gz -- cd ${BUILD_PKG} +#local _conf=( +# -DCMAKE_INSTALL_PREFIX=${PREFIX} +# -DENABLE_OPENJPEG=OFF +#) + +#rm -rf b +#mkdir b +#pushd b +#PKG_CONFIG_PATH=${PKG_CONFIG_PATH} cmake .. "${_conf[@]}" +#make -j "${NPROC}" install +# wtf +#mv -v ${PREFIX}/lib/pkgconfig/lept_Release.pc ${PREFIX}/lib/pkgconfig/lept.pc +#popd + +export PKG_CONFIG_PATH + local _conf=( --prefix ${PREFIX} + --without-libopenjpeg + --disable-shared + --with-pic ) ./configure "${_conf[@]}" diff --git a/libjpegturbo.build.sh b/libjpegturbo.build.sh new file mode 100755 index 0000000..219d2a4 --- /dev/null +++ b/libjpegturbo.build.sh @@ -0,0 +1,56 @@ +#!/bin/bash +{ +set -x +set -e +set -u + +. build.profile + +function B_LIBJPEGTURBO { + +SRCURL="${BUILD_libjpegturbo_SRCURL}" + +BUILD_PKG=${BUILD_libjpegturbo} + +PREFIX="${PREFIX}/${BUILD_PKG}" + +mkdir -p "${PREFIX}" + +cat >"${PREFIX}"/profile <<-EOF +PATH=${PREFIX}/bin:\$PATH +PKG_CONFIG_PATH=${PROJECT}/${BUILD_PKG}/lib/pkgconfig\${PKG_CONFIG_PATH:+:}\${PKG_CONFIG_PATH:-} +LD_LIBRARY_PATH=${PROJECT}/${BUILD_PKG}/lib\${LD_LIBRARY_PATH:+:}\${LD_LIBRARY_PATH:-} +EOF + + +test -e "${BUILD_PKG}".tar.gz || wget -nv "${SRCURL}" -O "${BUILD_PKG}".tar.gz +test -d "${BUILD_PKG}" || mkdir -pv "${BUILD_PKG}" && tar -xf "${BUILD_PKG}".tar.gz --strip-components=1 -C "${BUILD_PKG}" + +pushd "${BUILD_PKG}" + +local _conf=( + -DCMAKE_INSTALL_PREFIX=${PREFIX} + -DCMAKE_INSTALL_LIBDIR=lib + -DCMAKE_COLOR_MAKEFILE=OFF + -DCMAKE_VERBOSE_MAKEFILE=ON +) + +rm -rf b +mkdir b +pushd b +# PKG_CONFIG_PATH=${PKG_CONFIG_PATH} cmake .. "${_conf[@]}" +cmake .. "${_conf[@]}" +make -j "${NPROC}" install +popd + +popd + +} + +pushd "${BUILD_DIR}" + +B_LIBJPEGTURBO + +popd + +} diff --git a/libtiff.build.sh b/libtiff.build.sh new file mode 100755 index 0000000..9bf9306 --- /dev/null +++ b/libtiff.build.sh @@ -0,0 +1,55 @@ +#!/bin/bash +{ +set -x +set -e +set -u + +. build.profile + +. ${PREFIX}/${BUILD_libjpegturbo}/profile + +function B_LIBTIFF { + +SRCURL="${BUILD_libtiff_SRCURL}" + +BUILD_PKG=${BUILD_libtiff} + +PREFIX="${PREFIX}/${BUILD_PKG}" + +mkdir -p "${PREFIX}" + +cat >"${PREFIX}"/profile <<-EOF +PATH=${PREFIX}/bin:\$PATH +PKG_CONFIG_PATH=${PROJECT}/${BUILD_PKG}/lib/pkgconfig\${PKG_CONFIG_PATH:+:}\${PKG_CONFIG_PATH:-} +LD_LIBRARY_PATH=${PROJECT}/${BUILD_PKG}/lib\${LD_LIBRARY_PATH:+:}\${LD_LIBRARY_PATH:-} +EOF + + +test -e "${BUILD_PKG}".tar.gz || wget -nv "${SRCURL}" -O "${BUILD_PKG}".tar.gz +test -d "${BUILD_PKG}" || mkdir -pv "${BUILD_PKG}" && tar -xf "${BUILD_PKG}".tar.gz --strip-components=1 -C "${BUILD_PKG}" + +cd "${BUILD_PKG}" + +local _conf=( + --prefix="${PREFIX}" +# --disable-rpath + --disable-shared + --with-pic + --disable-jbig + --disable-lerc + --disable-libdeflate +) + +./configure "${_conf[@]}" + +make -j "${NPROC}" install + +} + +pushd "${BUILD_DIR}" + +B_LIBTIFF + +popd + +} diff --git a/libwebp.build.sh b/libwebp.build.sh new file mode 100755 index 0000000..13726ca --- /dev/null +++ b/libwebp.build.sh @@ -0,0 +1,62 @@ +#!/bin/bash +{ +set -x +set -e +set -u + +. build.profile + +# . ${PREFIX}/${BUILD_libjpegturbo}/profile + . ${PREFIX}/${BUILD_libtiff}/profile + +function B_LIBWEBP { + +SRCURL="${BUILD_libwebp_SRCURL}" + +BUILD_PKG=${BUILD_libwebp} + +PREFIX="${PREFIX}/${BUILD_PKG}" + +mkdir -p "${PREFIX}" + +cat >"${PREFIX}"/profile <<-EOF +PATH=${PREFIX}/bin:\$PATH +PKG_CONFIG_PATH=${PROJECT}/${BUILD_PKG}/lib/pkgconfig\${PKG_CONFIG_PATH:+:}\${PKG_CONFIG_PATH:-} +EOF + + +test -e "${BUILD_PKG}".tar.gz || wget -nv "${SRCURL}" -O "${BUILD_PKG}".tar.gz +test -d "${BUILD_PKG}" || mkdir -pv "${BUILD_PKG}" && tar -xf "${BUILD_PKG}".tar.gz --strip-components=1 -C "${BUILD_PKG}" + +cd "${BUILD_PKG}" + + + +local _conf=( + --prefix="${PREFIX}" + --enable-libwebpmux + --enable-libwebpdemux + --enable-libwebpdecoder + --enable-libwebpextras + --enable-swap-16bit-csp + --disable-shared + --with-pic + --with-jpegincludedir=${PROJECT}/${BUILD_libjpegturbo}/include + --with-jpeglibdir=${PROJECT}/${BUILD_libjpegturbo}/lib + --with-tiffincludedir=${PROJECT}/${BUILD_libtiff}/include + --with-tifflibdir=${PROJECT}/${BUILD_libtiff}/lib +) + +./configure "${_conf[@]}" + +make -j "${NPROC}" install + +} + +pushd "${BUILD_DIR}" + +B_LIBWEBP + +popd + +} diff --git a/profile.build.sh b/profile.build.sh index 2d9f1ad..7bc30c9 100755 --- a/profile.build.sh +++ b/profile.build.sh @@ -24,8 +24,11 @@ PATH=$HOME/bin:/bin:/sbin:/usr/bin:/usr/sbin . ${PROJECT}/${BUILD_unpaper}/profile . ${PROJECT}/${BUILD_ffmpeg}/profile . ${PROJECT}/${BUILD_pngquant}/profile -. ${PROJECT}/${BUILD_leptonica}/profile . ${PROJECT}/${BUILD_tesseract}/profile +. ${PROJECT}/${BUILD_leptonica}/profile +. ${PROJECT}/${BUILD_libtiff}/profile +. ${PROJECT}/${BUILD_libjpegturbo}/profile +. ${PROJECT}/${BUILD_libwebp}/profile XDG_CACHE_HOME=${XDG_CACHE_HOME} TMPDIR=${TMPDIR} diff --git a/rebuild.sh b/rebuild.sh new file mode 100755 index 0000000..99d93aa --- /dev/null +++ b/rebuild.sh @@ -0,0 +1,14 @@ +#!/bin/bash + +. build.profile + +set -u +set -e + +for arg; do +PKG=${arg/\.build\.sh/} +eval BT=\$BUILD_$PKG +echo "# $BT" +[ -d "${BUILD_DIR}/${BT}" ] && echo "rm -rf '${BUILD_DIR}/${BT}'" +[ -d "${PREFIX}/${BT}" ] && echo "rm -rf '${PREFIX}/${BT}'" +done diff --git a/tesseract.build.sh b/tesseract.build.sh index 8494f82..837a52d 100755 --- a/tesseract.build.sh +++ b/tesseract.build.sh @@ -8,6 +8,9 @@ set -u . ${PREFIX}/${BUILD_sqlite}/profile . ${PREFIX}/${BUILD_python}/profile +. ${PREFIX}/${BUILD_libwebp}/profile +. ${PREFIX}/${BUILD_libjpegturbo}/profile +. ${PREFIX}/${BUILD_libtiff}/profile . ${PREFIX}/${BUILD_leptonica}/profile BUILD_PKG=${BUILD_tesseract} @@ -22,6 +25,7 @@ mkdir -p $PREFIX cat >$PREFIX/profile <<-EOF PATH=$PREFIX/bin:\$PATH +LD_LIBRARY_PATH=${PROJECT}/${BUILD_PKG}/lib\${LD_LIBRARY_PATH:+:}\${LD_LIBRARY_PATH:-} EOF if [[ -e ${BUILD_PKG}.tar ]]; then @@ -42,11 +46,30 @@ local _conf=( --prefix "${PREFIX}" ) +export PKG_CONFIG_PATH + +LDFLAGS="$(PKG_CONFIG_PATH=${PKG_CONFIG_PATH} pkg-config --libs-only-L lept)" +LDFLAGS="-Wl,-rpath -Wl,$(pkg-config --variable=libdir lept)" +export LDFLAGS +# -Wl,-rpath,-WL,$(pkg-config --variable=libdir lept) +# - use the '-Wl,-rpath -Wl,LIBDIR' linker flag + + + ./autogen.sh PKG_CONFIG_PATH=${PKG_CONFIG_PATH} \ ./configure "${_conf[@]}" +#local _conf=( +# -DCMAKE_INSTALL_PREFIX=${PREFIX} +# -DCMAKE_COLOR_MAKEFILE=OFF +# -DCMAKE_VERBOSE_MAKEFILE=ON +#) +#mkdir b +#pushd b +#PKG_CONFIG_PATH=${PKG_CONFIG_PATH} cmake .. "${_conf[@]}" + make -j "${NPROC}" install popd diff --git a/zbar.build.sh b/zbar.build.sh index 28a12aa..72c04d6 100755 --- a/zbar.build.sh +++ b/zbar.build.sh @@ -6,8 +6,10 @@ set -u . build.profile +. ${PREFIX}/${BUILD_libjpegturbo}/profile . ${PREFIX}/${BUILD_imagemagick}/profile + function B_ZBAR { SRCURL=${BUILD_zbar_SRCURL}