Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 558644 - dev-util/cmake - ninja generator does not support fortran compiler
Summary: dev-util/cmake - ninja generator does not support fortran compiler
Status: CONFIRMED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo KDE team
URL:
Whiteboard:
Keywords:
: 558244 558592 558632 (view as bug list)
Depends on: 668020
Blocks: ninja-porting
  Show dependency tree
 
Reported: 2015-08-24 23:17 UTC by Andrew Savchenko
Modified: 2019-04-25 10:18 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Andrew Savchenko gentoo-dev 2015-08-24 23:17:48 UTC
Hi,

Ninja should either support Fortran compiler (e.g. add this functionality) or should not be used for packages compiling Fortran code. There are multiple bugs about this already.
Comment 1 Andrew Savchenko gentoo-dev 2015-08-24 23:19:14 UTC
*** Bug 558632 has been marked as a duplicate of this bug. ***
Comment 2 Andrew Savchenko gentoo-dev 2015-08-24 23:20:18 UTC
*** Bug 558592 has been marked as a duplicate of this bug. ***
Comment 3 Andrew Savchenko gentoo-dev 2015-08-24 23:21:45 UTC
*** Bug 558244 has been marked as a duplicate of this bug. ***
Comment 4 Mike Gilbert gentoo-dev 2015-08-25 00:06:01 UTC
ninja has never claimed to support fortran. If the feature is desired, it needs to be requested upstream.

People should not be setting CMAKE_MAKEFILE_GENERATOR=ninja globally if they are going to be building fortran packages.
Comment 5 Toralf Förster gentoo-dev 2015-08-25 11:43:07 UTC
(In reply to Mike Gilbert from comment #4)
> ninja has never claimed to support fortran. If the feature is desired, it
> needs to be requested upstream.

I wasn't aware of this, sry.

> People should not be setting CMAKE_MAKEFILE_GENERATOR=ninja globally if they
> are going to be building fortran packages.
Comment 6 Mike Gilbert gentoo-dev 2015-08-25 13:54:51 UTC
Actually, ninja has any built-in support for compiling any language; that has to be defined in build rules by the program that generates the ninja files.

I suspect the cmake generator for ninja simply does not generate valid ninja files for compiling fortran.

Re-opening.
Comment 7 Toralf Förster gentoo-dev 2015-08-25 16:02:21 UTC
(In reply to Mike Gilbert from comment #6)
> Re-opening.

Do you accept furthermore bug reports of this kind (with blocker to "ninja-porting") or will those be declined ?
Comment 8 Mike Gilbert gentoo-dev 2015-08-25 16:20:34 UTC
(In reply to Toralf Förster from comment #7)
> Do you accept furthermore bug reports of this kind (with blocker to
> "ninja-porting") or will those be declined ?

I don't think it makes sense to file bugs for individual fortran packages at this point. The fix is likely to be in cmake or the eclass, and not in the individual packages.
Comment 9 Michael Palimaka (kensington) gentoo-dev 2016-10-12 18:59:39 UTC
From cmake-3.7.0_rc1 (in tree without keywords currently) changelog:


* The "Ninja" generator learned to conditionally support Fortran
  when using a "ninja" tool that has the necessary features. See
  generator documentation for details.
Comment 10 Mike Gilbert gentoo-dev 2016-10-13 19:40:23 UTC
(In reply to Michael Palimaka (kensington) from comment #9)
> * The "Ninja" generator learned to conditionally support Fortran
>   when using a "ninja" tool that has the necessary features. See
>   generator documentation for details.

I think that Gentoo's ninja package does not satisfy this. We provide the a package based on https://github.com/ninja-build/ninja, whereas cmake wants a ninja package with several changes that have not yet been merged: https://github.com/Kitware/ninja.
Comment 11 Michael Palimaka (kensington) gentoo-dev 2017-06-24 15:42:23 UTC
We'll get ninja/fortran support if and when it lands in ninja upstream, and we don't support officially using ninja globally.
Comment 12 Michael Palimaka (kensington) gentoo-dev 2018-02-28 09:06:30 UTC
FYI from the cmake-3.11 release notes:

* The Makefile Generators and the "Ninja" generator learned to add
  compiler launcher tools along with the compiler for the "Fortran"
  language ("C", "CXX", and "CUDA" were supported previously). See the
  "CMAKE_<LANG>_COMPILER_LAUNCHER" variable and
  "<LANG>_COMPILER_LAUNCHER" target property for details.
Comment 13 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2018-02-28 09:31:32 UTC
Sounds like we can get back to the business. I think the best way forward would be to add a >= dep to the eclass when three new version is in and stable, and then start removing generator overrides.
Comment 14 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2018-02-28 09:32:03 UTC
s/three/the/