Ticket created by ~seedopaul on ~lattis/muon
fail 0.09s test xml translation stderr: 'Traceback (most recent call last): File "/home/seedo/Projects/general/muon/tests/project/frameworks/6 gettext/data3/verify.py", line 13, in <module> assert check_str in f.read() ^^^^^^^^^^^^^^^^^^^^^ AssertionError '
Ticket created by ~seedopaul on ~lattis/muon
As of commit
bd2e1917
, compile_commands.json contains just an empty array. Reproducible with a simple meson.build:project('example', 'c') executable('example', 'main.c')
Weirdly enough, the array is populated for the muon project.
Comment by ~seedopaul on ~lattis/muon
I've posted a patch: https://lists.sr.ht/~lattis/muon/patches/45438
Ticket created by ~seedopaul on ~lattis/muon
Steps to reproduce:
- Create an empty
meson.build
:: > meson.build
- Run
muon setup build
:~/t/muon-segfault> muon setup build fish: Job 1, 'muon setup build' terminated by signal SIGSEGV (Address boundary error)
Muon version details:
muon v0.1.0-a7c6a84 meson compatibility version 0.63.99 enabled features: libcurl libpkgconf libarchive
I'm currently on arm64 and am using muon-meson-git from AUR. I haven't tested on x86_64.
Comment by ~seedopaul on ~lattis/muon
Thank you very much for the clarification!
Comment by ~seedopaul on ~lattis/muon
That makes sense, thanks for the explanation!
muon's default value for default_library is
static
, so the build instead becomes:Just curious: why was
static
chosen as the default for muon?
Comment by ~seedopaul on ~lattis/muon
Some more information that could be relevant: I stumbled upon this when I tried to compile this project with
muon
. Weirdly,meson
doesn't error out on that project and even generates the correctbuild.ninja
file.
Ticket created by ~seedopaul on ~lattis/muon
muon
sometimes generates multiple rules with the same name. A minimal reproducer is below:./my_project.c:
int main(void) { return 0; }./meson.build:
project('my_project', 'c') samplelib_dep = dependency( 'samplelib_nonexisting', fallback: ['samplelib', 'samplelib_dep'], ) executable( 'my_project', 'my_project.c', dependencies: samplelib_dep, install: false, )
./subprojects/samplelib/sample.c:
void samplelib_function(void) { // Empty }./subprojects/samplelib/meson.build:
project('sample', 'c') cc = meson.get_compiler('c') lib_samplelib = library(meson.project_name(), ['sample.c']) samplelib_dep = declare_dependency(link_with: lib_samplelib) static_samplelib = library(meson.project_name(), ['sample.c']) samplelib_static_dep = declare_dependency(link_with: static_samplelib)
Running
meson setup build
fails with the following message:.... subprojects/samplelib/meson.build:7:0: ERROR: Tried to create target "sample", but a target of that name already exists.
Running
muon setup build
however generates an invalidbuild.ninja
. Runningsamu
orninja
on that file produces the following error:samu: entering directory 'build' samu: multiple rules generate 'subprojects/samplelib/libsample.a.p/sample.c.o'
Ticket created by ~seedopaul on ~sircmpwn/hare
The following code doesn't compile on aarch64:
use strings; use types::c; export fn main() void = { let fmt = "hello"; let fmt = c::fromstr(fmt); defer free(fmt); printf(fmt): void; }; @symbol("printf") fn printf(c: const nullable *c::char, ...) int;This is currently failing with the following error:
/usr/bin/ld: /tmp/5268cb9bce41ba28/temp..19.o: relocation R_AARCH64_ADR_PREL_PG_HI21 against symbol `printf@@GLIBC_2.17' which may bind externally can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /tmp/5268cb9bce41ba28/temp..19.o(.text.main+0xb4): unresolvable R_AARCH64_ADR_PREL_PG_HI21 relocation against symbol `printf@@GLIBC_2.17' /usr/bin/ld: final link failed: bad value collect2: error: ld returned 1 exit status Error: cc: exited with status 1 hare build: build failed