-
Notifications
You must be signed in to change notification settings - Fork 266
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
4.6.0 fails to build on big-endian architectures: undefined reference to `byteswap8' #806
Comments
Unfortunately, we do not have a big-endian machine against which to test. |
P.S. there is also a known bug when using dap4 on a big-endian machine. |
This patch fixes the issue on the s390x porterbox: --- a/libdispatch/dfilter.c
+++ b/libdispatch/dfilter.c
@@ -156,7 +156,7 @@ NC_parsefilterspec(const char* spec, uns
/* convert to network byte order */
memcpy(mem,&val64u,sizeof(mem));
#ifdef WORDS_BIGENDIAN
- byteswap8(mem); /* convert big endian to little endian */
+ NC_byteswap8(mem); /* convert big endian to little endian */
#endif
vector = (unsigned int*)mem;
ulist[nparams++] = vector[0]; |
Ok, that is the same fix I was going to ask you to test. So I will just go ahead |
Incorrect reference to byteswap8 in libdispatch/dfilter.c Change byteswap8 -> NC_byteswap8.
I could compile latest master on mips successfully, so I guess this can be closed. |
Did make check work also? |
@DennisHeimbigner Your are too fast ;) Nope, see #1278. |
re: issue #1278 re: issue #876 re: issue #806 * Major change to the handling of 8-byte parameters for nc_def_var_filter. The old code was not well thought out. * The new algorithm is documented in docs/filters.md. * Added new utility file plugins/H5Zutil.c to support * Modified plugins/H5Zmisc.c to use new algorithm the new algorithm. * Renamed include/ncfilter.h to include/netcdf_filter.h and made it an installed header so clients can access the new algorithm utility. * Fixed nc_test4/tst_filterparser.c and nc_test4/test_filter_misc.c to use the new algorithm * libdap4/ fixes: * d4swap.c has an error in the endian pre-processing such that record counts were not being swapped correctly. * d4data.c had an error in that checksums were being computed after endian swapping rather than before. * ocinitialize() was never being called, so xxdr bigendian handling was never set correctly. * Required adding debug statements to occompile * Found and fixed memory leak in ncdump.c Not tested: * HDF4 * Pnetcdf * parallel HDF5
NetCDF 4.6.0 fails to build on big-endian architectures:
Buildlogs: mips, s390x
The text was updated successfully, but these errors were encountered: