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

WPS Compiling Error Resulting in No Executables and Undefined References to 'jpc_decode'

estrobac

New member
Well hello there,

I have successfully generated the executables for the WRF step, but have failed to generate the executables for the WPS step. There are exactly four error messages inside the log.compile file attached below. Two of the error messages are related to an undefined reference jpc_decode, while the other two error messages occur after
" /cvmfs/hpcsw.umd.edu/spack-software/2023.11.20/linux-rhel8-zen2/gcc-11.3.0/openmpi-4.1.5-enhf6gmjrfwdvbhsjrnehbkk6z2jijmu/lib
/cvmfs/hpcsw.umd.edu/spack-software/2023.11.20/linux-rhel8-x86_64/gcc-rh8-8.5.0/binutils-2.41-fwflc45p6lmk6rf7pyqumtvdqn65uj2n/bin/ld: error: /cvmfs/hpcsw.umd.edu/spack-software/2023.11.20/linux-rhel8-zen2/gcc-11.3.0/openmpi-4.1.5-enhf6gmjrfwdvbhsjrnehbkk6z2jijmu/lib: read: Is a directory

collect2: error: ld returned 1 exit status".

jpc_decode appears related to the JASPER utility. I did see one online discussion and a solution recommended to handle the undefined jpc_decode reference, but that solution did not work for my case. The other errors seem to originate within the file and directory highlighted in green above. I believe the */ld file reports the error, and the "collect2: error: ld returned 1 exit status" is indicating that certain things (I'm not sure what those things are) may be undefined according to what I have gathered online about this message. One thing that does stand out is that the */ld file and the */lib directory have an inconsistency that may be the problem, though I am not sure. Specifically the */ld contains linux-rhel8-x86_64 while */lib contains linux-rhel8-zen2. Up to that point, the directory structure preceding these different subdirectories is identical. I did find that another path containing the ld file does exist using the linux-rhel8-zen2 structure, i.e., /cvmfs/hpcsw.umd.edu/spack-software/2023.11.20/linux-rhel8-zen2/gcc-11.3.0/binutils-2.40-znva7hmicqg4oyd4njcd5jzrwh4diniq/bin/. I'm wondering if I need to use this directory instead of the one in the log file. If so, then it is not clear how I would do this since my environment is consistent with the zen2 directory structure and all the linked files and directories come from the directory hierarchy containing linux-rhel8-zen2. Perhaps this is not the issue, and if so, I would be grateful for any alternative suggestions. I should be good after getting through these errors.


Some other information:
Inside my "Build_WRF" directory resides LIBRARIES, WRF, and WPS. LIBRARIES contains directory links to the required netcdf, netcdf-fortran, and jasper directories, all of which have subdirectories (i.e., $HOME/Build_WRF/LIBRARIES/netcdf/lib, $HOME/Build_WRF/LIBRARIES/netcdf/include, and $HOME/Build_WRF/LIBRARIES/netcdf/bin; $HOME/Build_WRF/LIBRARIES/grib2 shares an identical subdirectory structure). The links to files and directories contained within these subdirectories come from paths that include the linux-rhel8-zen2 subdirectory as mentioned above.

Let me know if additional information is need, and thanks.
 

Attachments

  • log.compile.txt
    15.8 KB · Views: 2
  • Screenshot 2024-10-11 at 1.14.19 PM.png
    Screenshot 2024-10-11 at 1.14.19 PM.png
    81.2 KB · Views: 4
Hi,
If you're still experiencing this issue, can you attach your configure.wps file, in addition to the wrf compile log and configure.wrf? Thanks!
 
Hi,
If you're still experiencing this issue, can you attach your configure.wps file, in addition to the wrf compile log and configure.wrf? Thanks!
Sure thing! I haven't had much luck yet, but here are the three additional requested files.
 

Attachments

  • configure.wps
    3.5 KB · Views: 2
  • configure.wrf.txt
    21.1 KB · Views: 1
  • log.compile_WRF.txt
    58.9 KB · Views: 1
Well hello there,

I have successfully generated the executables for the WRF step, but have failed to generate the executables for the WPS step. There are exactly four error messages inside the log.compile file attached below. Two of the error messages are related to an undefined reference jpc_decode, while the other two error messages occur after
" /cvmfs/hpcsw.umd.edu/spack-software/2023.11.20/linux-rhel8-zen2/gcc-11.3.0/openmpi-4.1.5-enhf6gmjrfwdvbhsjrnehbkk6z2jijmu/lib
/cvmfs/hpcsw.umd.edu/spack-software/2023.11.20/linux-rhel8-x86_64/gcc-rh8-8.5.0/binutils-2.41-fwflc45p6lmk6rf7pyqumtvdqn65uj2n/bin/ld: error: /cvmfs/hpcsw.umd.edu/spack-software/2023.11.20/linux-rhel8-zen2/gcc-11.3.0/openmpi-4.1.5-enhf6gmjrfwdvbhsjrnehbkk6z2jijmu/lib: read: Is a directory

collect2: error: ld returned 1 exit status".

jpc_decode appears related to the JASPER utility. I did see one online discussion and a solution recommended to handle the undefined jpc_decode reference, but that solution did not work for my case. The other errors seem to originate within the file and directory highlighted in green above. I believe the */ld file reports the error, and the "collect2: error: ld returned 1 exit status" is indicating that certain things (I'm not sure what those things are) may be undefined according to what I have gathered online about this message. One thing that does stand out is that the */ld file and the */lib directory have an inconsistency that may be the problem, though I am not sure. Specifically the */ld contains linux-rhel8-x86_64 while */lib contains linux-rhel8-zen2. Up to that point, the directory structure preceding these different subdirectories is identical. I did find that another path containing the ld file does exist using the linux-rhel8-zen2 structure, i.e., /cvmfs/hpcsw.umd.edu/spack-software/2023.11.20/linux-rhel8-zen2/gcc-11.3.0/binutils-2.40-znva7hmicqg4oyd4njcd5jzrwh4diniq/bin/. I'm wondering if I need to use this directory instead of the one in the log file. If so, then it is not clear how I would do this since my environment is consistent with the zen2 directory structure and all the linked files and directories come from the directory hierarchy containing linux-rhel8-zen2. Perhaps this is not the issue, and if so, I would be grateful for any alternative suggestions. I should be good after getting through these errors.


Some other information:
Inside my "Build_WRF" directory resides LIBRARIES, WRF, and WPS. LIBRARIES contains directory links to the required netcdf, netcdf-fortran, and jasper directories, all of which have subdirectories (i.e., $HOME/Build_WRF/LIBRARIES/netcdf/lib, $HOME/Build_WRF/LIBRARIES/netcdf/include, and $HOME/Build_WRF/LIBRARIES/netcdf/bin; $HOME/Build_WRF/LIBRARIES/grib2 shares an identical subdirectory structure). The links to files and directories contained within these subdirectories come from paths that include the linux-rhel8-zen2 subdirectory as mentioned above.

Let me know if additional information is need, and thanks.
The Jasper-3 and later version don't surrport The compile of WPS. Yon may use "--build-grib2-libs" option when you configure WPS.
 
Thank you Ningzhiqian,

I did just that and the ungrib.exe was created. The geogrid.exe and metgrid.exe still did not compile as a result of an error on Line 81 in the "missing" file within the /home/estrobac/Build_WRF/WPS/external/jasper-1.900.29/ac_aux/ directory. Errors are in reference to aclocal and automake commands not being found. I'm attaching the latest log file below as a reference. I'm currently looking into this further. Could take a some time since I am not familiar with these commands or jasper for that matter.
 

Attachments

  • log.compile_10222024.txt
    246.5 KB · Views: 3
A brief update..

I do have aclocal and automake. However, the only versions I see are 1.16. The compile script is trying to find 1.14. I think I need to find a way to link to 1.16 as opposed to 1.14.
 
Just to be sure, when you followed the compile tutorial, did you check to make sure you have all the UNIX commands listed at the bottom of the first/yellow section?

Are you using all the same paths - pointing to the same installed compilers and libraries as you used when you compiled WRF?
 
Hi kwerner --

Yes, all the commands are recognized. I need to study the issue more before I can confirm whether the paths are the same. My feeling is they are the same, but I would need to look into this further. You can see that the Build_WRF directory in the screenshot below contains LIBRARIES, WPS, and WRF subdirectories and their contents. References to LIBRARIES/netcdf in the log file are correct. Also, references to directories within "../WRF" are correct as shown in the log file. The compile log I shared above (log.compile_10222024.txt) has an error at the beginning that reads:

"
error: /cvmfs/hpcsw.umd.edu/spack-software/2023.11.20/linux-rhel8-zen2/gcc-11.3.0/openmpi-4.1.5-enhf6gmjrfwdvbhsjrnehbkk6z2jijmu/lib: read: Is a directory
collect2: error: ld returned 1 exit status
make[1]: [Makefile:13: geogrid.exe] Error 1 (ignored)"

Afterwards, I get errors that repeat related to aclocal1.14 and automake1.14 not being found. The version I have is 1.16. I'm not sure yet if the initial error I posted is related to the errors that follow. I plan to dig into this more tomorrow since I will have more time. If you have a hunch or a suggestion, I can build off that and run tests. I do know that the earlier suggestion made by Ningzhiqian helped me move along and get the ungrib.exe, but then these new errors resulted. If there is a path inconsistency, then I will need to spend some time determining what I did to make that happen. I'll be sure to update if I move past this issue or find something. Screenshot 2024-10-24 at 10.05.45 PM.png
 
Thank you Ningzhiqian,

I did just that and the ungrib.exe was created. The geogrid.exe and metgrid.exe still did not compile as a result of an error on Line 81 in the "missing" file within the /home/estrobac/Build_WRF/WPS/external/jasper-1.900.29/ac_aux/ directory. Errors are in reference to aclocal and automake commands not being found. I'm attaching the latest log file below as a reference. I'm currently looking into this further. Could take a some time since I am not familiar with these commands or jasper for that matter.
As the log file said, Install aclocal-1.14, automake-1.14, autoconf, m4, perl on your system please. You should only need it if you modified 'acinclude.m4' or 'configure.ac' or m4 files included by 'configure.ac'.
 
Top