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
>
>