-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
dependency('Intl', method: 'cmake') has no method 'cmake' #9618
Comments
Glib itself never had that issue. Does searching for a |
configure passes (used uppercase 'Intl') but building fails. I assume it has to due but it will take some time until I get the build log from https://dev.azure.com/vcpkg/public/_build/results?buildId=63612&view=logs&j=7b75bd19-17d3-53d4-00fd-23f1a49a8ba4&t=a23dba4e-3a62-59dc-a73c-a7222676d7a4 |
the problem is that -lintl does not work. It needs to have an additional -L flag to find the library. With the cmake method the libraries are added with full paths. |
All I see from those logs is:
Which is... notably lacking in details. But, the intl dependency lookup internally uses |
you have to actually download the failure logs (artifact):
The full path is:
depending on configuration (you can also download a file list from the same artifact store but it will only show relativ paths starting from You also get the meson native files from the failure artifacts which contain:
|
So what confuses me here is that the meson/mesonbuild/compilers/mixins/clike.py Lines 1057 to 1069 in bd9d981
This apparently succeeded "without any -L dirs" (even though it is using -L dirs from the native file???) and then those -L dirs did not get added to the linker command line? Not sure why manually specified flags are being dropped all over the floor, much less if they get used for find_library. |
since the configure output is:
I assume the flags are used by find_library but somehow dropped by has_function. Or the dependency object does not carry the -L flags with it. Ah dependencies and meson are so a mess if the library is not using pkgconfig. If meson would just provide some tool to externally provide such dependencies...... however glib setups the tests like this:
maybe the |
There are two things I don't get here, I wrote the super obvious patch to just add cmake support, DependencyFactory(
[..., DependencyMethods.CMAKE],
cmake_name='Intl',
...
) Which doesn't work for reasons that make no sense to me. I think what's happening is that |
just for completion: the |
macOS provides the *gettext family of functions in a framework? |
no but you need extra flags if gettext was build statically. These flags are added in glib 2.70.1 so I am also updating glib in vcpkg to that version to get rid of these errors. |
@dcbaker : |
Needing extra framework flags on macOS in order to link statically seems like a definite problem we can fix. However I still don't understand what |
somewhere between meson 58.2 and 60.1
the previously working:
dependency('Intl', method: 'cmake')
(now reports only builtin and system are supported.)was removed.
vcpkg needed it because glib does not search correctly for libintl on osx and patching in the above line just fixed the linkage issue.
The text was updated successfully, but these errors were encountered: