Skip to content

Build error on Linux/i686 on glibc 2.23 (regression from 1.8.0) #3412

@satmandu

Description

@satmandu

Describe the bug
We are seeing a build failure on Chromebrew i686 with the version 1.8.1:

make  all-recursive
make[1]: Entering directory '/usr/local/tmp/crew/jq.20250925192121.dir'
make[2]: Entering directory '/usr/local/tmp/crew/jq.20250925192121.dir'
Changes to the manual.yml require docs to be enabled to update the manpage.
As a result, the manpage is out of date.
  CC       src/builtin.lo
  CC       src/bytecode.lo
  CC       src/compile.lo                                                                                             CC       src/jq_test.lo                                                                                             CC       src/jv.lo                                                                                                  CC       src/execute.lo                                                                                             CC       src/jv_alloc.lo                                                                                            CC       src/jv_aux.lo                                                                                              CC       src/jv_dtoa.lo                                                                                             CC       src/jv_file.lo                                                                                             CC       src/jv_parse.lo                                                                                            CC       src/jv_print.lo                                                                                            CC       src/jv_unicode.lo                                                                                          CC       src/linker.lo                                                                                              CC       src/locfile.lo                                                                                             CC       src/util.lo                                                                                                CC       src/jv_dtoa_tsd.lo                                                                                         CC       vendor/decNumber/decContext.lo                                                                             CC       vendor/decNumber/decNumber.lo                                                                              CC       src/lexer.lo                                                                                               CC       src/parser.lo                                                                                              GEN      jq.1                                                                                                       CC       src/main.o                                                                                                 CCLD     libjq.la                                                                                                   CCLD     jq                                                                                                       mold: error: duplicate symbol: /usr/local/lib/libm.a(m_frexp.o): /usr/local/lib/libm.a(fclrexcpt.o): __x86.get_pc_thunk.dx                                                                                                              mold: error: duplicate symbol: /usr/local/lib/libm.a(e_log2.o): /usr/local/lib/libm.a(fclrexcpt.o): __x86.get_pc_thunk.dx                                                                                                               mold: error: duplicate symbol: /usr/local/lib/libm.a(e_acosh.o): /usr/local/lib/libm.a(fclrexcpt.o): __x86.get_pc_thunk.dx
mold: error: duplicate symbol: /usr/local/lib/libm.a(e_atan2.o): /usr/local/lib/libm.a(e_asin.o): __x86.get_pc_thunk.cx
mold: error: duplicate symbol: /usr/local/lib/libm.a(e_exp2.o): /usr/local/lib/libm.a(e_asin.o): __x86.get_pc_thunk.cx
mold: error: duplicate symbol: /usr/local/lib/libm.a(s_log1p.o): /usr/local/lib/libm.a(fclrexcpt.o): __x86.get_pc_thunk.dx
mold: error: duplicate symbol: /usr/local/lib/libm.a(s_sin.o): /usr/local/lib/libm.a(e_asin.o): __x86.get_pc_thunk.cx
mold: error: duplicate symbol: /usr/local/lib/libm.a(e_atanh.o): /usr/local/lib/libm.a(fclrexcpt.o): __x86.get_pc_thunk.dx
mold: error: duplicate symbol: /usr/local/lib/libm.a(e_pow.o): /usr/local/lib/libm.a(e_asin.o): __x86.get_pc_thunk.cx
mold: error: duplicate symbol: /usr/local/lib/libm.a(e_exp.o): /usr/local/lib/libm.a(e_asin.o): __x86.get_pc_thunk.cx
mold: error: duplicate symbol: /usr/local/lib/libm.a(s_asinh.o): /usr/local/lib/libm.a(fclrexcpt.o): __x86.get_pc_thunk.dx
mold: error: duplicate symbol: /usr/local/lib/libm.a(e_log10.o): /usr/local/lib/libm.a(fclrexcpt.o): __x86.get_pc_thunk.dx
mold: error: duplicate symbol: /usr/local/lib/libm.a(s_atan.o): /usr/local/lib/libm.a(e_asin.o): __x86.get_pc_thunk.cx
mold: error: duplicate symbol: /usr/local/lib/libm.a(s_expm1.o): /usr/local/lib/libm.a(fclrexcpt.o): __x86.get_pc_thunk.dx
mold: error: duplicate symbol: /usr/local/lib/libm.a(e_hypot.o): /usr/local/lib/libm.a(fclrexcpt.o): __x86.get_pc_thunk.dx
collect2: error: ld returned 1 exit status

--enable-all-static=no rescues the build. The x86_64 build succeeds.

To Reproduce
Happy to provide a docker reproducer if it will help, as all of our builds are dockerized.

Expected behavior
The build should succeed.

Environment (please complete the following information):

  • OS and Version: Cheomebrew (Linux/i686)
  • jq version: 1.8.1

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions