-
Notifications
You must be signed in to change notification settings - Fork 901
5.0.7 build failure (base/sshmem_base_open.c:34:39: error: initialization of ‘void *’ from ‘long unsigned int’ makes pointer from integer without a cast
)
#13103
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
Comments
I'm seeing the same build failure with the Fedora openmpi package. |
same with 4.1.8 |
The fix is as simple as suggested here, an explicit cast. To be technically correct there is another necessary change, but as we do not support 32 bits platforms anymore it shall not really matter. diff --git a/oshmem/mca/sshmem/base/sshmem_base_open.c b/oshmem/mca/sshmem/base/sshmem_base_open.c
index 1f0d1eb761..06411b3852 100644
--- a/oshmem/mca/sshmem/base/sshmem_base_open.c
+++ b/oshmem/mca/sshmem/base/sshmem_base_open.c
@@ -31,7 +31,7 @@
* globals
*/
-void *mca_sshmem_base_start_address = UINTPTR_MAX;
+void *mca_sshmem_base_start_address = (void*)UINTPTR_MAX;
char * mca_sshmem_base_backing_file_dir = NULL;
@@ -49,7 +49,7 @@ mca_sshmem_base_register (mca_base_register_flag_t flags)
"base",
"start_address",
"Specify base address for shared memory region",
- MCA_BASE_VAR_TYPE_UNSIGNED_LONG_LONG,
+ MCA_BASE_VAR_TYPE_UNSIGNED_LONG,
NULL,
0,
MCA_BASE_VAR_FLAG_SETTABLE, |
Considering that a similar issue has happened in a second release in a row, the fix is not simple. We had to wait 3 months until a fix for #12924 was released (in 5.0.7) and I don't expect a shorter timeline for addressing this issue. Please adjust your release engineering processes such that either these type conversion issues are revealed promptly in the testing or even development phase (it takes just a modern compiler and/or a stricter set of compiler flags), or that a bugfix release can follow shortly after such incident happens. The community deserves a better software quality than this. |
"deserve" ? 😂 |
I agree with "Please adjust your release engineering processes". The intel compilers can be downloaded for free, so why not just download them and test compiling the code with them before a release as standard process? Seems like code that will compile with multiple compilers would be better code. |
@lahwaacz is not wrong. We should have caught this. |
Need to keep this open until it's fixed on the v5.0.x and v4.1.x branches. |
Thank you for taking the time to submit an issue!
Background information
What version of Open MPI are you using? (e.g., v4.1.6, v5.0.1, git branch name and hash, etc.)
5.0.7
Describe how Open MPI was installed (e.g., from a source/distribution tarball, from a git clone, from an operating system distribution package, etc.)
Building from source tarball (https://download.open-mpi.org/release/open-mpi/v5.0/openmpi-5.0.7.tar.bz2)
If you are building/installing from a git clone, please copy-n-paste the output from
git submodule status
.n/a
Please describe the system on which you are running
Details of the problem
Then the build (
make -j 8
) fails with:If I reverse the change to
oshmem/mca/sshmem/base/sshmem_base_open.c
from #12889 then I do not see the failure. So a patch of:Should this be? Or something else?
The text was updated successfully, but these errors were encountered: