git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: ./configure fails to link test program due to missing dependencies

From
Johannes Schindelin <johannes.schindelin@gmx.de>
Date
Sep 30, 2024, 16:05 UTC
Message-ID
<3b12cfe9-0291-87ba-6324-232a86ed716a@gmx.de>
In-Reply-To
<a43fa510-9a96-4b92-8107-0c00209d5161@gmail.com>
Hi Phillip,
On Mon, 30 Sep 2024, Phillip Wood wrote:
Show 22 quoted lines
> On 29/09/2024 19:10, Eli Schwartz wrote:
> > On 9/29/24 1:56 PM, Johannes Schindelin wrote:
> > > Meson came up as an alternative, so the obvious question is whether it
> > > could be used conveniently from within Visual Studio. It takes but one
> > > look at https://mesonbuild.com/Using-with-Visual-Studio.html to see that
> > > no, the instructions ask the developed to use a command-line interface,
> > > which is the opposite of integrating well with an IDE.
> > >
> > > In short: If we're serious that we want to stop treating Windows-based
> > > developers as if they were unwanted here, we'll need to stick to CMake.
> >
> > I guess you didn't read the previous comments in this thread? Maybe you
> > should take more than one look. :)
>
> We cannot expect everyone who wants to build git using meson in Visual Studio
> to read this thread and find the message that mentions installing a plugin. It
> is much more likely that they, like Johannes, will find the documentation on
> the meson website and conclude they need to run some commands on the
> commandline. That's a problem with the documentation, not the person reading
> it. Even if they do find the plugin [1] it is not clear that it helps - no
> where does it say "this enables you to build software with meson", instead it
> talks about syntax highlighting, code snippets and linting for meson files.

I had actually read it. Not wanting to be xkcd 386, I had decided to refrain from replying. But it would appear that I have to.

> [1] https://marketplace.visualstudio.com/items?itemName=mesonbuild.mesonbuild

Thank you for providing an actual link, it was missing in this thread (handwaving is not really good enough, I would say).

On that page, we see a serious flaw in the argument made in https://lore.kernel.org/git/71ed5967-0302-42bc-97c7-81886408d688@gentoo.org/:

	Visual Studio Code>Programming Languages>Meson
	[...]
	Meson for Visual Studio Code

Now, I am the first to admit that it is confusing that there is Visual Studio Code and then there is Visual Studio, and those two products share mostly the "Visual Studio" in their name, but little else.

Most notably, you cannot install VS Code Extensions into Visual Studio, and vice versa Visual Studio extensions cannot be installed into VS Code. See https://www.freecodecamp.org/news/visual-studio-vs-visual-studio-code/ or https://dev.to/hadil/the-difference-between-visual-studio-vs-visual-studio-code-35oh for more detailed explanations.

And when you navigate on that Marketplace to the Visual Studio extensions (sans "Code"), you will find that, frustratingly, https://marketplace.visualstudio.com/search?term=meson&target=VS comes up empty:

	Your search for 'meson' didn't match any extensions

In other words: Visual Studio, _the_ most prevalent IDE for Windows-based C/C++ developers, has no Meson support worth talking about. None.

Now, how about instead suggesting VS Code to direct Windows-based developers who are eager to contribute to Git? Alas, VS Code does not come with a C/C++ compiler. Not even a canonical extension to compile C. Even if there were, the user experience of having to scour around for plugins and 3rd-party software to install, and _then_ somehow getting the needed libraries like libcurl into that setup, _just_ to build Git (and we are not even yet talking about running tests from Git's test suite that do not eagerly lend themselves to be run from common test frameworks that would be supported by VS Code _extensions_) is about 100x worse than telling contributors to simply open their git.git checkout in Visual Studio and let CMake do its thing.

Yes, I made up that "100x" from thin air, but it's easy to imagine that some (most?) developers would contend that this is a few orders of magnitude too generous.

Personally, I have to admit that I find very, very little consolation in the suggestion that these days, Meson will "automatically do the right thing", without requiring to be run in a VS Developer Prompt: _These commands still have to be run in a Command Prompt_, i.e. completely outside of Visual Studio, in a text-based terminal that Windows-based developers will find off-putting to the point of rolling their eyes at the suggestion.

In summary: From my perspective, these quite serious flaws put quite a huge dent into the credibility of these arguments pro Meson (and contra CMake). Forcing Windows-based developers away from CMake and toward Meson would definitely make the developer experience substantially worse. To be honest, I hoped that we would make the experience better. Certainly not worse.

Ciao, Johannes

Previous: Junio C HamanoNext: Patrick Steinhardt
Message 24 of 31 in “./configure fails to link test program due to missing dependencies”
  1. Henrik HolstSep 14, 2024
  2. Junio C HamanoSep 15, 2024
  3. brian m. carlsonSep 15, 2024
  4. Patrick SteinhardtSep 16, 2024
  5. Phillip WoodSep 18, 2024
  6. Junio C HamanoSep 18, 2024
  7. Patrick SteinhardtSep 24, 2024
  8. Eli SchwartzSep 24, 2024
  9. Paul SmithSep 24, 2024
  10. Patrick SteinhardtSep 25, 2024
  11. Eli SchwartzSep 25, 2024
  12. Patrick SteinhardtSep 25, 2024
  13. Phillip WoodSep 26, 2024
  14. Patrick SteinhardtSep 26, 2024
  15. Phillip WoodSep 27, 2024
  16. Eli SchwartzSep 26, 2024
  17. phillip.wood123@gmail.comSep 27, 2024
  18. Junio C HamanoSep 26, 2024
  19. Johannes SchindelinSep 29, 2024
  20. Eli SchwartzSep 29, 2024
  21. Phillip WoodSep 30, 2024
  22. Eli SchwartzSep 30, 2024
  23. Junio C HamanoSep 30, 2024
  24. Johannes SchindelinSep 30, 2024
  25. Patrick SteinhardtSep 25, 2024
  26. Patrick SteinhardtSep 25, 2024
  27. Junio C HamanoSep 24, 2024
  28. Paul SmithSep 25, 2024
  29. Eli SchwartzSep 26, 2024
  30. Paul SmithSep 26, 2024
  31. Eli SchwartzSep 24, 2024

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.