Scheduled Downtime
On Friday 21 April 2023 @ 5pm MT, this website will be down for maintenance and expected to return online the morning of 24 April 2023 at the latest

WRF/WPS GNU install guide needs an update: jasper-1.900.1 requires extra GCC flags on modern systems

William.Hatheway

Active member

Hi WRF/WPS team,

I’ve been using the “Full WRF and WPS Installation Example (GNU)” guide (Jan 10, 2023) and ran into a build issue that affects current GNU/Linux environments: the dependency step for jasper-1.900.1 no longer builds successfully with modern GCC defaults unless additional compiler flags are provided.

What happens
With a modern GCC toolchain, jasper-1.900.1 fails to compile (notably in the jpc sources such as jpc_qmfb.c) due to incompatible pointer-type diagnostics being treated as fatal, and it may also stop earlier on implicit function declaration diagnostics. When Jasper fails, the Jasper library is never installed, which later causes WPS to fail when linking GRIB2 support (e.g., -ljasper not found).

What fixed it
For Jasper 1.900.1, the following flags were required to complete the build:

-Wno-incompatible-pointer-types

-Wno-error=incompatible-pointer-types

-Wno-error=implicit-function-declaration

Applying these flags (for the Jasper build step) allowed libjasper to be produced and installed, and WPS then proceeded to build normally.

Request
Could the GNU install example be updated to reflect this reality on modern GCC-based systems? Concretely:

Add a note that jasper-1.900.1 may require additional GCC flags on newer distributions, and list the required flags above?
 

Attachments

  • passing_jasper.zip
    19.2 KB · Views: 0
  • failed_jasper.zip
    15.8 KB · Views: 0
Top