-
Notifications
You must be signed in to change notification settings - Fork 976
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
[bug] MesonToolchain
-LIBPATH is ignored?
#11398
Comments
To clarify, the workaround decsribed above This indeed looks difficult to know without some good understanding of Meson. Please let me know if someone can guess what is the necessary fix. |
I had this problem in the past, and tried to fix it in meson, but it seemed to me that it had somehow been fixed at some point in time (?) |
@SSE4 So, the problem seems to be from Meson itself? Which Meson version are you using? |
probably, but I am not fully sure.
maybe I need to prepare some minimal examples to illustate the problem. it will take some time. |
@franramirez688 I was able to extract relevant parts to the minimal example and make a simple test from it.
|
@SSE4 I guess a better approach could be using Given your previous example, change the test a little bit: conanfile_py = textwrap.dedent("""
from conan import ConanFile
from conan.tools.meson import Meson
class App(ConanFile):
settings = "os", "arch", "compiler", "build_type"
requires = "hello/0.1"
generators = "PkgConfigDeps", "MesonToolchain"
def layout(self):
self.folders.build = "build"
def build(self):
meson = Meson(self)
meson.configure()
meson.build()
""")
meson_build = textwrap.dedent("""
project('tutorial', 'cpp')
cxx = meson.get_compiler('cpp')
hello = dependency('hello', method : 'pkg-config')
executable('demo', 'main.cpp', dependencies: hello)
""") You don't need a workaround anymore. Could it be more supported |
yes, with pkg-config it works flawlessly.
so the request is not to support meson + pkg-config integration (which we already know it works), but to support other wild user-cases (e.g. |
Meson version: 0.63.0 @SSE4 I've been figuring it out more profound, and I can say this is a Meson bug. As this comment is saying, Meson is translating the flag correctly but not adequately ordered (after the
But, if we replace the
|
okay, we need to report an issue to meson itself. |
I got to the same conclusion some time ago, hence my old PR mesonbuild/meson#6735, but I don't think I reported the issue |
to be honest, I currently don't understand it conan client issue or even meson issue (I mean meson-build project iself).
migrating
Glib
toMesonToolchain
in conan-io/conan-center-index#11053, I had to put the following workaround:which appears to be working normally.
so, if I try without a workaround, I get
Library gnuintl found: NO
(while with oldMeson
build helper it's found).digging into the logs I can see (in
meson-log.txt
):we can see
-LIBPATH
arguments are passed into command line, but in a wrong order (they have to be passed at the end, after the /link):that's probably due to how meson inserts
link_args
into the command line.in the toolchain (
conan_meson_native.ini
) I see linking flags are set:I've tried to manually insert the
/link
at the beginning ofc_link_args
/cpp_link_args
, but it didn't help.the only thing that reliably fixed it was replacing
-LIBPATH
with/LIBPATH
, now it gets the correct command line and libintl is found:/cc @ericLemanissier
Environment Details (include every applicable attribute)
Steps to reproduce (Include if Applicable)
Logs (Executed commands with output) (Include/Attach if Applicable)
The text was updated successfully, but these errors were encountered: