mailarchive of the ptxdist mailing list
 help / color / mirror / Atom feed
From: Alexander Dahl via ptxdist <ptxdist@pengutronix.de>
To: ptxdist@pengutronix.de
Cc: Alexander Dahl <ada@thorsis.com>,
	Andreas Helmcke <ahelmcke@ela-soft.com>
Subject: [ptxdist] [PATCH 0/1] jq: license update and version bump
Date: Mon,  2 Jun 2025 12:30:56 +0200	[thread overview]
Message-ID: <20250602103057.299742-1-ada@thorsis.com> (raw)

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




             reply	other threads:[~2025-06-02 10:31 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-06-02 10:30 Alexander Dahl via ptxdist [this message]
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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20250602103057.299742-1-ada@thorsis.com \
    --to=ptxdist@pengutronix.de \
    --cc=ada@thorsis.com \
    --cc=ahelmcke@ela-soft.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox