[tlbuild] tl25 start
Ken Brown
kbrow1i at gmail.com
Mon Feb 10 16:29:23 CET 2025
On 2/8/2025 4:38 PM, Karl Berry wrote:
> I've switched the TL repo's trunk to target the pretest and am
> committing a first set of autobuilt binaries. Those doing their own
> commits, please do.
I'm having trouble building luajit on Cygwin. I get lots of link errors
like this:
/usr/lib/gcc/x86_64-pc-cygwin/12/../../../../x86_64-pc-cygwin/bin/ld:
LuaJIT-src/src/.libs/lib_aux.o: in function `luaL_fileresult':
/home/kbrown/src/texlive/trunk/Build/source/Work/libs/luajit/../../../libs/luajit/LuaJIT-src/src/lib_aux.c:34:
multiple definition of `luaL_fileresult';
.libs/lib_aux.o:/home/kbrown/src/texlive/trunk/Build/source/Work/libs/luajit/lib_aux.c:34:
first defined here
If I'm interpreting this right, ld is trying to link two copies of
lib_aux.o, one in
Work/libs/luajit/LuaJIT-src/src/.libs/
and one in
Work/libs/luajit/.libs
And of course the same thing happens for other object files. Does
anyone know why lib_aux.c and other source files are being compiled
twice? It must have something to do with the fact that the source files
are symlinked into the Work directory. For example, I have the
following in source/Work/libs/luajit:
lib_aux.c -> ../../../libs/luajit/LuaJIT-src/src/lib_aux.c
But I've looked at Makefile.am and can't see what's going on. In
particular, I don't know why the behavior on Cygwin is apparently
different from the behavior on other Unix-like systems.
I'm appending to the end of this message an excerpt from build.log in
case it helps someone figure this out.
Thanks in advance for any pointers.
Ken
Making all in luajit
make[3]: Entering directory
'/home/kbrown/src/texlive/trunk/Build/source/Work/libs/luajit'
make all-recursive
make[4]: Entering directory
'/home/kbrown/src/texlive/trunk/Build/source/Work/libs/luajit'
Making all in .
make[5]: Entering directory
'/home/kbrown/src/texlive/trunk/Build/source/Work/libs/luajit'
LINK lib_aux.c
LINK lib_base.c
LINK lib_bit.c
LINK lib_buffer.c
LINK lib_debug.c
LINK lib_ffi.c
LINK lib_init.c
LINK lib_io.c
LINK lib_jit.c
LINK lib_math.c
LINK lib_os.c
LINK lib_package.c
LINK lib_string.c
LINK lib_table.c
LINK lj_opt_fold.c
cd native && make buildvm-stamp
make[6]: Entering directory
'/home/kbrown/src/texlive/trunk/Build/source/Work/libs/luajit/native'
CC ../LuaJIT-src/src/host/minilua-minilua.o
CCLD minilua.exe
GEN buildvm_arch.h
GEN luajit.h
CC ../LuaJIT-src/src/host/buildvm-buildvm.o
CC ../LuaJIT-src/src/host/buildvm-buildvm_asm.o
CC ../LuaJIT-src/src/host/buildvm-buildvm_fold.o
CC ../LuaJIT-src/src/host/buildvm-buildvm_lib.o
CC ../LuaJIT-src/src/host/buildvm-buildvm_peobj.o
CCLD buildvm.exe
make[6]: Leaving directory
'/home/kbrown/src/texlive/trunk/Build/source/Work/libs/luajit/native'
GEN lj_bcdef.h
GEN lj_ffdef.h
GEN lj_libdef.h
GEN lj_recdef.h
cd native && make luajit.h
GEN lj_folddef.h
make[6]: Entering directory
'/home/kbrown/src/texlive/trunk/Build/source/Work/libs/luajit/native'
make[6]: 'luajit.h' is up to date.
make[6]: Leaving directory
'/home/kbrown/src/texlive/trunk/Build/source/Work/libs/luajit/native'
ln -s native/luajit.h
GEN lj_vm_obj.o
CC lbitlib.lo
CC lib_aux.lo
CC lib_base.lo
CC lib_bit.lo
CC lib_buffer.lo
CC lib_debug.lo
CC lib_ffi.lo
CC lib_init.lo
CC lib_io.lo
CC lib_jit.lo
CC lib_math.lo
CC lib_os.lo
CC lib_package.lo
CC lib_string.lo
CC lib_table.lo
CC LuaJIT-src/src/lib_aux.lo
CC LuaJIT-src/src/lib_base.lo
CC LuaJIT-src/src/lib_bit.lo
CC LuaJIT-src/src/lib_buffer.lo
CC LuaJIT-src/src/lib_debug.lo
CC LuaJIT-src/src/lib_ffi.lo
CC LuaJIT-src/src/lib_init.lo
CC LuaJIT-src/src/lib_io.lo
CC LuaJIT-src/src/lib_math.lo
CC LuaJIT-src/src/lib_jit.lo
CC LuaJIT-src/src/lib_os.lo
CC LuaJIT-src/src/lib_package.lo
CC LuaJIT-src/src/lib_string.lo
CC LuaJIT-src/src/lib_table.lo
CC LuaJIT-src/src/lj_alloc.lo
CC LuaJIT-src/src/lj_api.lo
CC LuaJIT-src/src/lj_asm.lo
CC LuaJIT-src/src/lj_assert.lo
CC LuaJIT-src/src/lj_bc.lo
CC LuaJIT-src/src/lj_bcread.lo
CC LuaJIT-src/src/lj_bcwrite.lo
CC LuaJIT-src/src/lj_buf.lo
CC LuaJIT-src/src/lj_carith.lo
CC LuaJIT-src/src/lj_ccallback.lo
CC LuaJIT-src/src/lj_ccall.lo
CC LuaJIT-src/src/lj_cconv.lo
CC LuaJIT-src/src/lj_cdata.lo
CC LuaJIT-src/src/lj_char.lo
CC LuaJIT-src/src/lj_clib.lo
CC LuaJIT-src/src/lj_cparse.lo
CC LuaJIT-src/src/lj_crecord.lo
CC LuaJIT-src/src/lj_ctype.lo
CC LuaJIT-src/src/lj_debug.lo
CC LuaJIT-src/src/lj_dispatch.lo
CC LuaJIT-src/src/lj_err.lo
CC LuaJIT-src/src/lj_ffrecord.lo
CC LuaJIT-src/src/lj_func.lo
CC LuaJIT-src/src/lj_gc.lo
CC LuaJIT-src/src/lj_gdbjit.lo
CC LuaJIT-src/src/lj_ir.lo
CC LuaJIT-src/src/lj_lex.lo
CC LuaJIT-src/src/lj_lib.lo
CC LuaJIT-src/src/lj_load.lo
CC LuaJIT-src/src/lj_mcode.lo
CC LuaJIT-src/src/lj_meta.lo
CC LuaJIT-src/src/lj_obj.lo
CC LuaJIT-src/src/lj_opt_dce.lo
CC LuaJIT-src/src/lj_opt_fold.lo
CC LuaJIT-src/src/lj_opt_loop.lo
CC LuaJIT-src/src/lj_opt_mem.lo
CC LuaJIT-src/src/lj_opt_narrow.lo
CC LuaJIT-src/src/lj_opt_sink.lo
CC LuaJIT-src/src/lj_opt_split.lo
CC LuaJIT-src/src/lj_parse.lo
CC LuaJIT-src/src/lj_prng.lo
CC LuaJIT-src/src/lj_profile.lo
CC LuaJIT-src/src/lj_record.lo
CC LuaJIT-src/src/lj_serialize.lo
CC LuaJIT-src/src/lj_snap.lo
CC LuaJIT-src/src/lj_state.lo
CC LuaJIT-src/src/lj_str.lo
CC LuaJIT-src/src/lj_strfmt.lo
CC LuaJIT-src/src/lj_strfmt_num.lo
CC LuaJIT-src/src/lj_strscan.lo
CC LuaJIT-src/src/lj_tab.lo
CC LuaJIT-src/src/lj_trace.lo
CC LuaJIT-src/src/lj_udata.lo
CC LuaJIT-src/src/lj_vmevent.lo
CC LuaJIT-src/src/lj_vmmath.lo
CC LuaJIT-src/src/luajit.lo
GEN lj_vm_obj.lo
CCLD libtexluajit.la
/usr/lib/gcc/x86_64-pc-cygwin/12/../../../../x86_64-pc-cygwin/bin/ld:
LuaJIT-src/src/.libs/lib_aux.o: in function `luaL_fileresult':
/home/kbrown/src/texlive/trunk/Build/source/Work/libs/luajit/../../../libs/luajit/LuaJIT-src/src/lib_aux.c:34:
multiple definition of `luaL_fileresult';
.libs/lib_aux.o:/home/kbrown/src/texlive/trunk/Build/source/Work/libs/luajit/lib_aux.c:34:
first defined here
[More errors like this.]
More information about the tlbuild
mailing list.