Moin,

Am Mon, Jun 02, 2025 at 12:30:56PM +0200 schrieb Alexander Dahl via ptxdist:
> Hello,
> 
> jq 1.8.0 [1] was announced yesterday and fixes some security issues.
> When trying to upgrade the package I noticed several things:
> 
> 1. when I introduced the jq package back in 2018, ./configure was called
>    with `--without-oniguruma`
> 2. that was silently dropped by Andreas with the version bump to 1.7 two
>    years ago, and from there libonig was installed to the target
> 3. the version bump to 1.7.1 brought back the configure parameter like
>    this: `--with-oniguruma=prefix`
> 
> The attached patch accounts for that extra lib and adds its license.
> 
> Now after upgrading to jq v1.8.0 I get linker errors I don't understand
> (see below), and I have no time to further investigate this.
> (Maybe this is related to my old ptxdist version?  Same failing result
> with 2024.05.0 and 2024.11.0.)
> 
> liboniguruma is an abandoned regex library.  Is it really necessary for
> us?  What extra features does jq provide if compiled with that lib?

Maybe that lib could be put into a separate package like buildroot or
Debian have it?  Might simplify the build and the license issue here.

A

> 
> If it is really necessary, maybe someone else wants to jump in for that
> version bump and fix the linker problems, otherwise we could change back
> to --without-oniguruma ?
> 
> Greets
> Alex
> 
> Output of `ptxdist compile jq` with jq 1.8.0:
> 
>     libtool: link: /usr/bin/grep -E -e "^j[qv]_" ".libs/libjq.exp" > 
> ".libs/libjq.expT"
>     libtool: link: mv -f ".libs/libjq.expT" ".libs/libjq.exp"
>     libtool: link: echo "{ global:" > .libs/libjq.ver
>     libtool: link:  cat .libs/libjq.exp | 
> /usr/local/lib/ptxdist-2024.05.0/bin/sed -e "s/\(.*\)/\1;/" >> .libs/libjq.ver
>     libtool: link:  echo "local: *; };" >> .libs/libjq.ver
>     libtool: link:  arm-v5te-linux-gnueabi-gcc -shared  -fPIC -DPIC  
> src/.libs/builtin.o src/.libs/bytecode.o src/.libs/compile.o 
> src/.libs/execute.o src/.libs/jq_test.o src/.libs/jv.o src/.libs/jv_alloc.o 
> src/.libs/jv_aux.o src/.libs/jv_dtoa.o src/.libs/jv_file.o 
> src/.libs/jv_parse.o src/.libs/jv_print.o src/.libs/jv_unicode.o 
> src/.libs/linker.o src/.libs/locfile.o src/.libs/util.o 
> src/.libs/jv_dtoa_tsd.o vendor/decNumber/.libs/decContext.o 
> vendor/decNumber/.libs/decNumber.o src/.libs/lexer.o src/.libs/parser.o   
> -L./vendor/oniguruma/src -lm vendor/oniguruma/src/.libs/libonig.so -lpthread  
> -g -O2 -Wl,-rpath -Wl,/usr/lib   -pthread -Wl,-soname -Wl,libjq.so.1 
> -Wl,-version-script -Wl,.libs/libjq.ver -o .libs/libjq.so.1.0.4
>     libtool: link: (cd ".libs" && rm -f "libjq.so.1" && ln -s 
> "libjq.so.1.0.4" "libjq.so.1")
>     libtool: link: (cd ".libs" && rm -f "libjq.so" && ln -s "libjq.so.1.0.4" 
> "libjq.so")
>     libtool: link: ( cd ".libs" && rm -f "libjq.la" && ln -s "../libjq.la" 
> "libjq.la" )
>     /bin/bash ./libtool  --tag=CC   --mode=link arm-v5te-linux-gnueabi-gcc 
> -Wextra -Wall -Wno-unused-parameter -Wno-unused-function -Woverlength-strings 
> -Wstrict-prototypes     -I./vendor/oniguruma/src -g -O2 -pthread   -o jq 
> src/main.o libjq.la -lm -lpthread
>     libtool: link: arm-v5te-linux-gnueabi-gcc -Wextra -Wall 
> -Wno-unused-parameter -Wno-unused-function -Woverlength-strings 
> -Wstrict-prototypes -I./vendor/oniguruma/src -g -O2 -o jq src/main.o  
> ./.libs/libjq.so -lm -lpthread -pthread
>     
> /opt/OSELAS.Toolchain-2023.07.1/arm-v5te-linux-gnueabi/gcc-13.2.1-glibc-2.37-binutils-2.40-kernel-6.3.6-sanitized/lib/gcc/arm-v5te-linux-gnueabi/13.2.1/../../../../arm-v5te-linux-gnueabi/bin/ld:
>  warning: libonig.so.5, needed by ./.libs/libjq.so, not found (try using 
> -rpath or -rpath-link)
>     
> /opt/OSELAS.Toolchain-2023.07.1/arm-v5te-linux-gnueabi/gcc-13.2.1-glibc-2.37-binutils-2.40-kernel-6.3.6-sanitized/lib/gcc/arm-v5te-linux-gnueabi/13.2.1/../../../../arm-v5te-linux-gnueabi/bin/ld:
>  ./.libs/libjq.so: undefined reference to `onig_error_code_to_str'
>     
> /opt/OSELAS.Toolchain-2023.07.1/arm-v5te-linux-gnueabi/gcc-13.2.1-glibc-2.37-binutils-2.40-kernel-6.3.6-sanitized/lib/gcc/arm-v5te-linux-gnueabi/13.2.1/../../../../arm-v5te-linux-gnueabi/bin/ld:
>  ./.libs/libjq.so: undefined reference to `onig_free'
>     
> /opt/OSELAS.Toolchain-2023.07.1/arm-v5te-linux-gnueabi/gcc-13.2.1-glibc-2.37-binutils-2.40-kernel-6.3.6-sanitized/lib/gcc/arm-v5te-linux-gnueabi/13.2.1/../../../../arm-v5te-linux-gnueabi/bin/ld:
>  ./.libs/libjq.so: undefined reference to `onig_region_free'
>     
> /opt/OSELAS.Toolchain-2023.07.1/arm-v5te-linux-gnueabi/gcc-13.2.1-glibc-2.37-binutils-2.40-kernel-6.3.6-sanitized/lib/gcc/arm-v5te-linux-gnueabi/13.2.1/../../../../arm-v5te-linux-gnueabi/bin/ld:
>  ./.libs/libjq.so: undefined reference to `onig_new'
>     
> /opt/OSELAS.Toolchain-2023.07.1/arm-v5te-linux-gnueabi/gcc-13.2.1-glibc-2.37-binutils-2.40-kernel-6.3.6-sanitized/lib/gcc/arm-v5te-linux-gnueabi/13.2.1/../../../../arm-v5te-linux-gnueabi/bin/ld:
>  ./.libs/libjq.so: undefined reference to `OnigSyntaxPerl_NG'
>     
> /opt/OSELAS.Toolchain-2023.07.1/arm-v5te-linux-gnueabi/gcc-13.2.1-glibc-2.37-binutils-2.40-kernel-6.3.6-sanitized/lib/gcc/arm-v5te-linux-gnueabi/13.2.1/../../../../arm-v5te-linux-gnueabi/bin/ld:
>  ./.libs/libjq.so: undefined reference to `onig_foreach_name'
>     
> /opt/OSELAS.Toolchain-2023.07.1/arm-v5te-linux-gnueabi/gcc-13.2.1-glibc-2.37-binutils-2.40-kernel-6.3.6-sanitized/lib/gcc/arm-v5te-linux-gnueabi/13.2.1/../../../../arm-v5te-linux-gnueabi/bin/ld:
>  ./.libs/libjq.so: undefined reference to `onig_search'
>     
> /opt/OSELAS.Toolchain-2023.07.1/arm-v5te-linux-gnueabi/gcc-13.2.1-glibc-2.37-binutils-2.40-kernel-6.3.6-sanitized/lib/gcc/arm-v5te-linux-gnueabi/13.2.1/../../../../arm-v5te-linux-gnueabi/bin/ld:
>  ./.libs/libjq.so: undefined reference to `OnigEncodingUTF8'
>     
> /opt/OSELAS.Toolchain-2023.07.1/arm-v5te-linux-gnueabi/gcc-13.2.1-glibc-2.37-binutils-2.40-kernel-6.3.6-sanitized/lib/gcc/arm-v5te-linux-gnueabi/13.2.1/../../../../arm-v5te-linux-gnueabi/bin/ld:
>  ./.libs/libjq.so: undefined reference to `onig_region_new'
>     collect2: error: ld returned 1 exit status
>     make[2]: *** [Makefile:990: jq] Error 1
> 
> [1] https://github.com/jqlang/jq/releases/tag/jq-1.8.0
> 
> Alexander Dahl (1):
>   jq: Add liboniguruma license
> 
>  rules/jq.make | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
> 
> 
> base-commit: 31866e0b9c1215fa5e8b4dc8573adc8feb7428aa
> -- 
> 2.39.5
> 
> 

Reply via email to