Opened 2 years ago

Last modified 2 years ago

#65996 assigned defect

luajit: unwinder errors on 10.5.8

Reported by: barracuda156 Owned by: barracuda156
Priority: Normal Milestone:
Component: ports Version: 2.7.2
Keywords: powerpc, leopard, snowleopard Cc:
Port: luajit

Description

LINK      luajit
/opt/local/bin/gcc-mp-11  -L/opt/local/lib -Wl,-headerpad_max_install_names -arch ppc    -o luajit luajit.o libluajit.a -lm  
Undefined symbols:
  "__Unwind_SetGR", referenced from:
      _lj_err_unwind_dwarf in libluajit.a(ljamalg.o)
  "__Unwind_SetIP", referenced from:
      _err_unwind_jit in libluajit.a(ljamalg.o)
      _lj_err_unwind_dwarf in libluajit.a(ljamalg.o)
  "__Unwind_GetIP", referenced from:
      _err_unwind_jit in libluajit.a(ljamalg.o)
  "__Unwind_GetCFA", referenced from:
      _lj_err_unwind_dwarf in libluajit.a(ljamalg.o)
  "__Unwind_RaiseException", referenced from:
      _lj_err_throw in libluajit.a(ljamalg.o)
  "___register_frame", referenced from:
      _mcode_allocarea in libluajit.a(ljamalg.o)
  "__Unwind_DeleteException", referenced from:
      _lj_err_unwind_dwarf in libluajit.a(ljamalg.o)
  "___deregister_frame", referenced from:
      _lj_mcode_free in libluajit.a(ljamalg.o)
ld: symbol(s) not found
collect2: error: ld returned 1 exit status
make[2]: *** [luajit] Error 1

(Also identical failure on 10.6 PPC with gcc12.)

Assigning to myself, this unwinder issues should be solved.

  1. S. Portfile has to blacklist gcc-4.0 too, I will add that later, once unwinder errors fixed.

Attachments (1)

main.log (17.1 KB) - added by barracuda156 2 years ago.

Download all attachments as: .zip

Change History (4)

Changed 2 years ago by barracuda156

Attachment: main.log added

comment:1 Changed 2 years ago by barracuda156

comment:2 Changed 2 years ago by barracuda156

Adding configure.ldflags-append -lgcc_eh worked, as mentioned here: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96217#c3

comment:3 Changed 2 years ago by kencu (Ken)

this looks like another case where the build is trying to link c++ code using the C compiler to do it, and failing.

If you recall, when you link the code with the c++ compiler, all the needed extra libraries are added in automatically.

Note: See TracTickets for help on using tickets.