-
Notifications
You must be signed in to change notification settings - Fork 1.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Cannot convert file objects to string since cec3edc08a6cd6a89761c49292ba6a3bace8b3c1 #12259
Comments
We don't run the CI with --fatal-meson-warnings |
I'm assuming that what systemd is doing is something like: build_target(
...
link_args : ['--linker-script=', '@0@'.format(files('foo.sym')[0])],
) This was a misfeature, and doesn't work reliably. It won't break unless you're running with fatal warnings. But we should have a solution for this, which we've been discussing anyway. |
I've opened #12287 to try to address this problem |
Good, because our own test cases are incorrect and broken and what they suggest to do does not work. People who think to copy our test case are in for worlds of pain if they actually try to use it. |
This has never, ever, ever worked. You can get away with it a tiny, tiny bit, iff you magically assume several things about both internal implementations, as well as the project source layout and builddir location. This can be witnessed by the way using files() was mercilessly tortured through joining the undefined stringified format value of the file to the current source dir... because it didn't actually *work*, the stringified value isn't an absolute path or a builddir-relative one, but it works as long as you do it from the root meson.build file. Furthermore, this triggers a deprecation warning if you do it. And using it for files() is frivolous, the "static map file" case was correct all along. Fix the configure_file case to demonstrate the same painful hoops we must jump through to get custom_target outputs to work correctly. Fixes #12259
This has never, ever, ever worked. You can get away with it a tiny, tiny bit, iff you magically assume several things about both internal implementations, as well as the project source layout and builddir location. This can be witnessed by the way using files() was mercilessly tortured through joining the undefined stringified format value of the file to the current source dir... because it didn't actually *work*, the stringified value isn't an absolute path or a builddir-relative one, but it works as long as you do it from the root meson.build file. Furthermore, this triggers a deprecation warning if you do it. And using it for files() is frivolous, the "static map file" case was correct all along. Fix the configure_file case to demonstrate the same painful hoops we must jump through to get custom_target outputs to work correctly. Fixes #12259
This has never, ever, ever worked. You can get away with it a tiny, tiny bit, iff you magically assume several things about both internal implementations, as well as the project source layout and builddir location. This can be witnessed by the way using files() was mercilessly tortured through joining the undefined stringified format value of the file to the current source dir... because it didn't actually *work*, the stringified value isn't an absolute path or a builddir-relative one, but it works as long as you do it from the root meson.build file. Furthermore, this triggers a deprecation warning if you do it. And using it for files() is frivolous, the "static map file" case was correct all along. Fix the configure_file case to demonstrate the same painful hoops we must jump through to get custom_target outputs to work correctly. Fixes mesonbuild#12259
cec3edc will break systemd once released and it's even failing on your own test cases (which is pretty much what systemd is doing). It seems that CI tests are either not working properly or results are not checked before committing.
The text was updated successfully, but these errors were encountered: