dosemu2 / fdpp

FreeDOS plus-plus, 64bit DOS
GNU General Public License v3.0
198 stars 18 forks source link

FDPP build failing in Travis #206

Closed andrewbird closed 2 years ago

andrewbird commented 2 years ago

Since I don't ever receive Travis emails, I hadn't really noticed that the weekly CRON job hadn't run for about 6 months. Anyway that seemed to be due to me removing the Travis oauth crap from my GitHub account, as I figured I wasn't using it. How wrong that turn ed out to be. Anyway I readded it last week sometime, and so now the CRON job ran again. Unfortunately it failed to build. I don't really understand this lld stuff, perhaps you can see what's going wrong?

nasm -DWITHFAT32 -i/home/travis/build/dosemu2/dosemu2/localfdpp.git/fdpp/../hdr/ -DXCPU=186 -DFDPP -i/home/travis/build/dosemu2/dosemu2/localfdpp.git/kernel/ -f elf32 -o wratclk.o /home/travis/build/dosemu2/dosemu2/localfdpp.git/kernel/drivers/wratclk.asm
/usr/local/clang-7.0.0/bin/ld.lld -melf_i386 -static --build-id=sha1 -Map=fdppkrnl.map -o fdppkrnl.elf \
    -T/home/travis/build/dosemu2/dosemu2/localfdpp.git/fdpp/kernel.ld kernel.o entry.o io.o console.o serial.o printer.o execrh.o nlssupt.o procsupt.o dosidle.o int2f.o nls_hc.o intr.o irqstack.o cpu.o plt.o cdata.o floppy.o rdpcclk.o wrpcclk.o wratclk.o --defsym=DOS_PSP=0x60
ld.lld: error: section .ptext virtual address range overlaps with .note.gnu.build-id
>>> .ptext range is [0x0, 0xFF]
>>> .note.gnu.build-id range is [0x14, 0x37]
ld.lld: error: section .ptext load address range overlaps with .note.gnu.build-id
>>> .ptext range is [0x0, 0xFF]
>>> .note.gnu.build-id range is [0x14, 0x37]
make[1]: *** [makefile:70: fdppkrnl.elf] Error 1
make[1]: Leaving directory '/home/travis/build/dosemu2/dosemu2/localfdpp.git/fdpp'
make: *** [makefile:13: all] Error 2
The command "./ci_build.sh" failed and exited with 2 during .
Your build has been stopped.

A link to the full job is here https://app.travis-ci.com/github/dosemu2/dosemu2/builds/257131613

stsp commented 2 years ago

See new deb recipe. It now requires either new enough lld or uses old binutils. You just need to recreate the same rule.

andrewbird commented 2 years ago

It's a little odd that it builds okay on github actions, they are both supposed to be running Jammy. Also I see the pathname /usr/local/clang-7.0.0/bin/ld.lld in the log, that doesn't look like packaged software. How strange.

The thing is I do this

  # Install the build dependancies based FDPP's debian/control file             
  mk-build-deps --install --root-cmd sudo                                       

So I'd expect your rule to be working already?

andrewbird commented 2 years ago

So I can force the install of lld-14, and so get over the link problem if I reorder the path. There's some really strange stuff going on with this Jammy distribution. It should be identical to what's on Github Actions, but even now there are failures with finding ia16 includes that I know are there. See https://app.travis-ci.com/github/dosemu2/dosemu2

andrewbird commented 2 years ago

I forgot to link here to the PR that fixes the problem, so here it is now https://github.com/dosemu2/dosemu2/pull/1819.

stsp commented 2 years ago

Next time you may want to write in PR itself that you are done force-pushing & experimenting. Or use WIP/unWIP.