-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Installation failure on WSL2 Ubuntu 22.04 with gcc and gfortran 11.3 #2
Comments
Hi @taiyi10086 thank you very much for your report. Could you please share a patch/diff showing how you have changed X to Z? Yes, older gfortran compilers are usually more "permissive" wrt language dialects. But we should improve the code and keep it compatible. |
Hey @dmikushin , I use ./build64 2006 to install CERNLIB, so that I had only changed the files in /2006/src.
Note: the symbols "<", ">" and "---" are removed from the above text as they leads to a strange display. |
Finally, I installed WSL2 Ubuntu 20.04 and therefore the CERNLIB was correctly installed I suggest that use /bin/bash rather than /bin/sh in build64. |
Hi, @taiyi10086 I tried the approach you mentioned earlier, but there were more errors later. I think this is due to not adding '-fno-allow-invalid-boz' to the correct MAKEFILE. In which MAKEFILE should I add '-fno-allow-invalid-boz'? My gcc version is also 9.4.0. The difference is that the Linux distribution I use is Debian. |
@Libeiyu |
@taiyi10086 I have installed the dependencies file. If there is no other solution, I think it may be necessary to change all the problem about X and Z for hexadecimal numbers. There are two differences: I'm using Debian and I didn't add '-fno-allow-invalid-boz'.
|
@Libeiyu |
But there are too many Xs that need to be changed here. I am concerned that some problems may arise from such a change. I tried the same with Ubuntu 22.04 and still had the same problem. |
@taiyi10086 Just like Error: BOZ constant at (1) uses nonstandard postfix syntax [see ‘-fno-allow-invalid-boz’]. So I wonder if the key factor is to add '-fno-allow-invalid-boz' to the proper MAKEFILE |
Hi @Libeiyu you should have
This will batch-replace all X with Z. Please do let us know how it works for you. |
@taiyi10086 Finally, I solved this by adding -fallow-invalid-boz to the error reporting section |
After changing X, the third error 'Error: BOZ constant at (1) uses nonstandard postfix syntax' gave me a hard time, as I am not a professional. I found the cause of this error and then enabled the extension via -fallow-invalid-boz to solve the problem. But I'm not quite sure if this is the right solution. |
I failed to install CERNLIB of this version on WSL2 Ubuntu 22.04 with gcc and gfortran 11.3.
The compilation is aborted with these two kinds of messages:
(1) Error of sys_errlist
/cernlib-master/2006/src/packlib/kernlib/kernbit/z268/systems.c:137:59: error: ‘sys_errlist’ undeclared (first use in this function)
/cernlib-master/2006/src/packlib/cspack/sysreq/serror.c:180:32: error: ‘sys_errlist’ undeclared (first use in this function)
/cernlib-master/2006/src/packlib/cspack/sysreq/socket.c:415:16: error: ‘sys_errlist’ undeclared (first use in this function)
(2) Error of sys_nerr
/cernlib-master/2006/src/packlib/cspack/sysreq/serror.c:179:33: error: ‘sys_nerr’ undeclared (first use in this functions)
I have successfully installed this CERNLIB on Ubuntu 18.04 with gcc 7.5.
It seems that the installation failure on Ubuntu 22.04 is resulted from the changes in the update of GNU compiler.
In addition, although the flag -fallow-invalid-boz has been added, there are still some problems caused by using nonstandard X instead of Z for Hexadecimal constant. I have to change X to Z manually.
The text was updated successfully, but these errors were encountered: