Documentation for a newer release is available. View Latest

Herramientas de desarrollo

Comp-NeuroFedora lab

Se ha añadido a la suite un nuevo laboratorio llamado Comp-NeuroFedora. Este cambio proporciona una imagen de laboratorio preempaquetada y lista para instalar con software libre y de código abierto (FOSS) para optimizar el trabajo en neurociencia computacional. El cambio también busca animar a más usuarios a usar Fedora en sus proyectos científicos.

For more information about Comp-NeuroFedora, see the upstream documentation.

For a list of Fedora labs, see the Functional bundles for Fedora page.

Switch mingw32 toolchain to dwarf-2 exceptions

The mingw32 toolchain in Fedora 32 uses the dwarf-2 exception model instead of the previously used SJLJ. Notable differences include:

  • SJLJ (setjmp/longjmp):

    • Not "zero-cost": even if an exception isn’t thrown, it incurs a minor performance penalty (~15% in exception heavy code).

    • Allows exceptions to traverse through e.g. windows callbacks.

  • DWARF (DW2, dwarf-2)

    • No permanent runtime overhead.

    • needs whole call stack to be dwarf-enabled, which means exceptions cannot be thrown over e.g. Windows system DLLs (i.e. throwing an exception in a system DLL callback and attempting to catch it won’t work)

    • DW2 potentially generates bigger libraries. The overhead however is not big (< 10%) for typical applications.

The main reason for switching to dwarf-2 is that Rust can only be compiled to a MinGW toolchain targeting dwarf exceptions on 32-bit, and Rust usage is starting to appear in some packages (i.e. librsvg2). Switching to dwarf-2 on mingw32 would hence allow to keep the same consistent package offering between mingw32 and mingw64, whereas otherwise one would need to either freeze the mingw32 variants at older versions, or remove them altogether.

PostgreSQL has been updated to version 12 in the non-modular builds

PostgreSQL postgresql and libpq components have been updated in Fedora 32 from 11 to 12 version in the non-modular main builds.

For a complete list of enhancements, see PostgreSQL Release 12