Shanghai, China
Reverse engineer, Rizin RE framework core team member, Rustacean and OCamler, foreign languages fanatic.
@~xvilka look at line 316 in compiler.c:
https://git.sr.ht/~lattis/muon/tree/master/item/src/compilers.c#L313
you can try to fix tinycc here with the correct option to pass to tinycc.
Comment by ~xvilka on ~lattis/muon
Ah, we use our patched fork for that: https://github.com/ret2libc/meson.git There was a PR (https://github.com/mesonbuild/meson/pull/8248) to meson but it was never accepted, so we decided it will be easier to just completely move to Muon for this configuration.
Ticket created by ~xvilka on ~lattis/muon
When we try build Rizin with Muon + TinyCC it can't find the necessary library, while Meson can:
/home/runner/work/rizin/rizin/meson.build:354:33: error library not found 354 | it_lrt = it_cc.find_library('rt', required: true, static: is_static_build) ^ /home/runner/work/rizin/rizin/meson.build:354:20: error in method compiler.find_library() 354 | it_lrt = it_cc.find_library('rt', required: true, static: is_static_build) ^ Error: Process completed with exit code 1.
Ticket created by ~xvilka on ~emersion/hottub
Take the following use case:
- Due to some external error, e.g. network problem build triggered via hottub fails.
- If we restart the build manually on Sourcehut, it finishes successfully
- But the GitHub doesn't receive an updated status, that it was a successful build from the second try, not a failure anymore.
Comment by ~xvilka on ~lattis/muon
It fails with missing
i18n
, I will send a patch to QEMU shortlymeson.build:4:8: error module 'i18n' is unimplemented, If you would like to make your build files portable to muon, use `import('i18n', required: false)`, and then check the .found() method before use. 4 | i18n.gettext(meson.project_name(), ^ qemu/meson.build:3640:3: error in function subdir() 3640 | subdir('po') ^
~xvilka I have implemented a basic compatibility layer. Can you test and see how far you get building qemu? I'm wondering if it is possible without machine-file support.
Comment by ~xvilka on ~lattis/muon
My bad, you are right, it was pre-existed
subprojects/samurai
. I removed it and it compiled just fine.
~xvilka I'm pretty sure you can bypass that by running
muon setup
directly. See my above commentWhen configure gets to the actual meson invocation, it fails due to passing invalid arguments. After that you can run muon setup build from the project root as usual.
Comment by ~xvilka on ~lattis/muon
Now it fails because there is no
--native-file
option (or--cross-file
conversely) in themuon setup
.This is what it feeds as the
--native-file build/config-meson.cross
:# Automatically generated by configure - do not modify [properties] [built-in options] c_args = [] cpp_args = [] objc_args = [] c_link_args = [] cpp_link_args = [] [binaries] c = ['cc','-m64','-mcx16'] cpp = ['c++','-m64','-mcx16'] objc = ['clang','-m64','-mcx16'] ar = ['ar'] nm = ['nm'] pkgconfig = ['pkg-config'] ranlib = ['ranlib'] sdl2-config = ['sdl2-config'] strip = ['strip'] widl = ['widl'] windres = ['windres'] windmc = ['windmc']