Dear List,
I'm trying to build a package based on autoconf which links to netcdf,
netcdf is not detected by configure for the cross build. Looking at the
config.log I see the following faled test program:
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "mbdyn"
| #define PACKAGE_TARNAME "mbdyn"
| #define PACKAGE_VERSION "develop"
| #define PACKAGE_STRING "mbdyn develop"
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE_URL ""
| #define MBDYN_DEVEL 1
| #define PACKAGE "mbdyn"
| #define VERSION "develop"
| #define HAVE_FC_F77 1
| #define USE_AEROD2_F 1
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_DLFCN_H 1
| #define LT_OBJDIR ".libs/"
| #define STDC_HEADERS 1
| #define HAVE_FENV_H 1
| #define HAVE_GETOPT_H 1
| #define HAVE_PTHREAD_H 1
| #define HAVE_SCHED_H 1
| #define HAVE_SEMAPHORE_H 1
| #define HAVE_SIGNAL_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_STDIO_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_SYS_PARAM_H 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_TIME_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_WINSOCK2_H 1
| #define HAVE_EXCEPTION 1
| #define HAVE_STDEXCEPT 1
| #define USE_TABLE 1
| #define USE_UNDERSCORE 1
| #define ENVIRON_NEEDS_DECLARATION 1
| #define HAVE_ENVIRON 1
| #define USE_NETCDF4 1
| /* end confdefs.h.?? */
|
|???????? #include <netcdf>
|
| #ifdef FC_DUMMY_MAIN
| #ifndef FC_DUMMY_MAIN_EQ_F77
| #?? ifdef __cplusplus
|?????????? extern "C"
| #?? endif
|?????? int FC_DUMMY_MAIN() { return 1; }
| #endif
| #endif
| int
| main ()
| {
|
|???????????????? /* test for netcdf */
|???????????????? netCDF::NcFile nc("foobar", netCDF::NcFile::replace); //
Create and leave in define mode
|
|???? ;
|???? return 0;
| }
configure:26961: x86_64-w64-mingw32.static-g++ -o conftest.exe
-std=c++11 -D_USE_MATH_DEFINES
-I/opt/mxe/usr/x86_64-w64-mingw32.static/include/suitesparse
-I/opt/mxe/usr/x86_64-w64-mingw32.static/include/?? conftest.cpp
-lnetcdf-cxx4 -lnetcdf?? -lstdc++ -lgcc -lgfortran -lamd -lcurl
-lsuitesparseconfig -lcholmod?? -lportablexdr -lws2_32 -lnetcdf -lhdf5_hl
-lhdf5 -lmfhdf -ldf -lz -lm -ljpeg?? -lcurl -lgomp -lgnutls -lidn2 -lssh2
-lnettle -lmetis -lcolamd -lccolamd -lcamd
-L/opt/mxe/usr/lib/gcc/x86_64-w64-mingw32.static/5.5.0
-L/opt/mxe/usr/lib/gcc/x86_64-w64-mingw32.static/5.5.0/../../../../x86_64-w64-mingw32.static/lib/../lib
-L/opt/mxe/usr/lib/gcc/x86_64-w64-mingw32.static/5.5.0/../../../../x86_64-w64-mingw32.static/lib
-lstdc++ -lgfortran -lamd -lcurl -lsuitesparseconfig -lcholmod
-lportablexdr -lws2_32 -lnetcdf -lhdf5_hl -lhdf5 -lmfhdf -ldf -lz -lm
-ljpeg -lgomp -lgnutls -lidn2 -lssh2 -lnettle -lmetis -lcolamd -lccolamd
-lcamd -lmingw32 -lmoldname -lmingwex -lmsvcrt -lquadmath -lpthread
-ladvapi32 -lshell32 -luser32 -lkernel32 >&5
/opt/mxe/usr/lib/gcc/x86_64-w64-mingw32.static/5.5.0/../../../../x86_64-w64-mingw32.static/lib/../lib/libcurl.a(libcurl_la-schannel.o):schannel.c:(.text+0xaad):
undefined reference to `__imp_CertEnumCertificatesInStore'
some googling indicates that these references are from libcrypt32 (I'm
basing this on the following link):
https://github.com/openssl/openssl/issues/1061
I did git pull on mxe before this error, so I should be using the latest
version.
Can anyone advise on how to proceed?
Regards,
Richard