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

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions