mailarchive of the ptxdist mailing list
 help / color / mirror / Atom feed
* [ptxdist] [PATCH 0/1] jq: license update and version bump
@ 2025-06-02 10:30 Alexander Dahl via ptxdist
  2025-06-02 10:30 ` [ptxdist] [PATCH 1/1] jq: Add liboniguruma license Alexander Dahl via ptxdist
  2025-06-02 11:59 ` [ptxdist] [PATCH 0/1] jq: license update and version bump Alexander Dahl via ptxdist
  0 siblings, 2 replies; 4+ messages in thread
From: Alexander Dahl via ptxdist @ 2025-06-02 10:30 UTC (permalink / raw)
  To: ptxdist; +Cc: Alexander Dahl, Andreas Helmcke

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?

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




^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2025-06-02 17:13 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-06-02 10:30 [ptxdist] [PATCH 0/1] jq: license update and version bump Alexander Dahl via ptxdist
2025-06-02 10:30 ` [ptxdist] [PATCH 1/1] jq: Add liboniguruma license Alexander Dahl via ptxdist
2025-06-02 11:59 ` [ptxdist] [PATCH 0/1] jq: license update and version bump Alexander Dahl via ptxdist
2025-06-02 17:13   ` Andreas Helmcke

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox