Compilation error 3.6.5 with mingw64 gcc-8.1.0

Compilation and installation of DCMTK

Moderator: Moderator Team

Post Reply
Message
Author
gzhang
Posts: 50
Joined: Wed, 2015-09-02, 09:24

Compilation error 3.6.5 with mingw64 gcc-8.1.0

#1 Post by gzhang » Wed, 2019-12-25, 21:20

Hi,
Both 3.6.5 and 3.6.5-20191213 seem to fail at compilation with gcc-8.1.0 (Win64, mingw64):

Code: Select all

D:/dcmtk/dcmtk-3.6.5+_20191213/oflog/include/dcmtk/oflog/thread/impl/tls.h:127:12: error: 'FlsAlloc' was not declared in this scope
     return FlsAlloc(cleanupfunc);
            ^~~~~~~~
D:/dcmtk/dcmtk-3.6.5+_20191213/oflog/include/dcmtk/oflog/thread/impl/tls.h:127:12: note: suggested alternative: 'TlsAlloc'
     return FlsAlloc(cleanupfunc);
            ^~~~~~~~
            TlsAlloc
D:/dcmtk/dcmtk-3.6.5+_20191213/oflog/include/dcmtk/oflog/thread/impl/tls.h: In function 'void* dcmtk::log4cplus::thread::impl::tls_get_value(dcmtk::log4cplus::thread::impl::tls_key_type)':
D:/dcmtk/dcmtk-3.6.5+_20191213/oflog/include/dcmtk/oflog/thread/impl/tls.h:137:12: error: 'FlsGetValue' was not declared in this scope
     return FlsGetValue(k);
            ^~~~~~~~~~~
D:/dcmtk/dcmtk-3.6.5+_20191213/oflog/include/dcmtk/oflog/thread/impl/tls.h:137:12: note: suggested alternative: 'TlsGetValue'
     return FlsGetValue(k);
            ^~~~~~~~~~~
            TlsGetValue
D:/dcmtk/dcmtk-3.6.5+_20191213/oflog/include/dcmtk/oflog/thread/impl/tls.h: In function 'void dcmtk::log4cplus::thread::impl::tls_set_value(dcmtk::log4cplus::thread::impl::tls_key_type, dcmtk::log4cplus::thread::impl::tls_value_type)':
D:/dcmtk/dcmtk-3.6.5+_20191213/oflog/include/dcmtk/oflog/thread/impl/tls.h:148:5: error: 'FlsSetValue' was not declared in this scope
     FlsSetValue(k, value);
     ^~~~~~~~~~~
D:/dcmtk/dcmtk-3.6.5+_20191213/oflog/include/dcmtk/oflog/thread/impl/tls.h:148:5: note: suggested alternative: 'TlsSetValue'
     FlsSetValue(k, value);
     ^~~~~~~~~~~
     TlsSetValue
D:/dcmtk/dcmtk-3.6.5+_20191213/oflog/include/dcmtk/oflog/thread/impl/tls.h: In function 'void dcmtk::log4cplus::thread::impl::tls_cleanup(dcmtk::log4cplus::thread::impl::tls_key_type)':
D:/dcmtk/dcmtk-3.6.5+_20191213/oflog/include/dcmtk/oflog/thread/impl/tls.h:159:5: error: 'FlsFree' was not declared in this scope
     FlsFree(k);
     ^~~~~~~
D:/dcmtk/dcmtk-3.6.5+_20191213/oflog/include/dcmtk/oflog/thread/impl/tls.h:159:5: note: suggested alternative: 'TlsFree'
     FlsFree(k);
     ^~~~~~~
     TlsFree
mingw32-make[2]: *** [oflog\libsrc\CMakeFiles\oflog.dir\build.make:63: oflog/libsrc/CMakeFiles/oflog.dir/oflog.cc.obj] Error 1
mingw32-make[1]: *** [CMakeFiles\Makefile2:380: oflog/libsrc/CMakeFiles/oflog.dir/all] Error 2
mingw32-make: *** [Makefile:140: all] Error 2
Has it anything to do with the disabled OPENSSL support? This was not a problem in version 3.6.3/4. Thanks!

gzhang
Posts: 50
Joined: Wed, 2015-09-02, 09:24

Re: Compilation error 3.6.5 with mingw64 gcc-8.1.0

#2 Post by gzhang » Fri, 2020-01-31, 22:11

Just for addition that the same error occurs also for mingw64 gcc-7.3.0 :-(

Jan Schlamelcher
OFFIS DICOM Team
OFFIS DICOM Team
Posts: 317
Joined: Mon, 2014-03-03, 09:51
Location: Oldenburg, Germany

Re: Compilation error 3.6.5 with mingw64 gcc-8.1.0

#3 Post by Jan Schlamelcher » Mon, 2020-02-03, 16:41

Dear gzhang,

it is working in our nighlybuilds: https://support.dcmtk.org/dashboard/bui ... ldid=86630
May be you are doing something different or have a somehow different MinGW setup?

Best
Jan

gzhang
Posts: 50
Joined: Wed, 2015-09-02, 09:24

Re: Compilation error 3.6.5 with mingw64 gcc-8.1.0

#4 Post by gzhang » Mon, 2020-02-03, 21:21

Dear Jan,
I got some further information.
Firstly, I tried to configure with the same setting as you gave, except replacing "Unix Makefiles" with "MinGW Makefiles":

Code: Select all

cmake -DCMAKE_BUILD_TYPE:string=RELEASE -DWITH_TESTING:BOOL=ON --no-warn-unused-cli -DDCMTK_ENABLE_STL:BOOL=ON -DBUILD_SHARED_LIBS:BOOL=ON -G "MinGW Makefiles" -DDCMTK_WITH_XML:BOOL=OFF -DDCMTK_WITH_PNG:BOOL=OFF -DDCMTK_WITH_TIFF:BOOL=OFF -DDCMTK_WITH_ZLIB:BOOL=OFF -DDCMTK_WITH_OPENSSL:BOOL=OFF -DDCMTK_WITH_SNDFILE:BOOL=OFF -DDCMTK_WITH_ICONV:BOOL=OFF -DDCMTK_WITH_DOXYGEN:BOOL=OFF "D:/dcmtk/dcmtk-3.6.5"
Then, if I use

Code: Select all

mingw32-make
I got the same error. My mingw64 setup was default without any change.
Instead, if I use

Code: Select all

cmake --build . --config "RELEASE" -- -i
It compiles successfully. The previous error lines about "FlsAlloc" and etc were still flashing but it did not stop the build from getting finished. Maybe they were treated as warnings? Any idea why the cmake build approach is different than 'mingw32-make'? Thanks!

Jan Schlamelcher
OFFIS DICOM Team
OFFIS DICOM Team
Posts: 317
Joined: Mon, 2014-03-03, 09:51
Location: Oldenburg, Germany

Re: Compilation error 3.6.5 with mingw64 gcc-8.1.0

#5 Post by Jan Schlamelcher » Tue, 2020-02-04, 11:04

Dear gzhang,

I fear this is not a solution. The -i argument just lets make ignore any errors. The erroneous files will still be missing from the build. This is used in our nightlybuilds such that they really show all the errors, i.e. not aborting the build on the first error. It does not help with your case, though.

Best
Jan

gzhang
Posts: 50
Joined: Wed, 2015-09-02, 09:24

Re: Compilation error 3.6.5 with mingw64 gcc-8.1.0

#6 Post by gzhang » Tue, 2020-02-04, 11:23

I was also doubting about that "-i".
Could it be something with MinGW makefiles? Or mingw64 itself? Because the error only occurs in Windows. I'm not using msys. Shall I copy the entire cmake output here?
For macOS and linux, "cmake+clang/gcc+make" goes without any problem.
Thanks!

Jan Schlamelcher
OFFIS DICOM Team
OFFIS DICOM Team
Posts: 317
Joined: Mon, 2014-03-03, 09:51
Location: Oldenburg, Germany

Re: Compilation error 3.6.5 with mingw64 gcc-8.1.0

#7 Post by Jan Schlamelcher » Tue, 2020-02-04, 14:06

I think the easiest thing to try next would be to use MSYS and Unix Makefiles, see if that makes any difference.

gzhang
Posts: 50
Joined: Wed, 2015-09-02, 09:24

Re: Compilation error 3.6.5 with mingw64 gcc-8.1.0

#8 Post by gzhang » Tue, 2020-02-04, 15:07

Just tried two things:
(1) Msys2 + "MSYS Makefiles":

Code: Select all

cmake -DCMAKE_BUILD_TYPE:string=RELEASE -DWITH_TESTING:BOOL=ON --no-warn-unused-cli -DDCMTK_ENABLE_STL:BOOL=ON -DBUILD_SHARED_LIBS:BOOL=ON -G "MSYS Makefiles" -DDCMTK_WITH_XML:BOOL=OFF -DDCMTK_WITH_PNG:BOOL=OFF -DDCMTK_WITH_TIFF:BOOL=OFF -DDCMTK_WITH_ZLIB:BOOL=OFF -DDCMTK_WITH_OPENSSL:BOOL=OFF -DDCMTK_WITH_SNDFILE:BOOL=OFF -DDCMTK_WITH_ICONV:BOOL=OFF -DDCMTK_WITH_DOXYGEN:BOOL=OFF "/c/tmp/dcmtk-3.6.5"
make
(2) Msys2 + "Unix Makefiles"

Code: Select all

cmake -DCMAKE_BUILD_TYPE:string=RELEASE -DWITH_TESTING:BOOL=ON --no-warn-unused-cli -DDCMTK_ENABLE_STL:BOOL=ON -DBUILD_SHARED_LIBS:BOOL=ON -G "Unix Makefiles" -DDCMTK_WITH_XML:BOOL=OFF -DDCMTK_WITH_PNG:BOOL=OFF -DDCMTK_WITH_TIFF:BOOL=OFF -DDCMTK_WITH_ZLIB:BOOL=OFF -DDCMTK_WITH_OPENSSL:BOOL=OFF -DDCMTK_WITH_SNDFILE:BOOL=OFF -DDCMTK_WITH_ICONV:BOOL=OFF -DDCMTK_WITH_DOXYGEN:BOOL=OFF "/c/tmp/dcmtk-3.6.5"
make
Both failed with the same error. Here is a copy of the cmake output:

Code: Select all

Not searching for unused variables given on the command line.
-- The C compiler identification is GNU 8.1.0
-- The CXX compiler identification is GNU 8.1.0
-- Check for working C compiler: C:/mingw64/mingw64/bin/gcc.exe
-- Check for working C compiler: C:/mingw64/mingw64/bin/gcc.exe -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: C:/mingw64/mingw64/bin/c++.exe
-- Check for working CXX compiler: C:/mingw64/mingw64/bin/c++.exe -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Performing Test GXX_SUPPORTS_VISIBILITY
-- Performing Test GXX_SUPPORTS_VISIBILITY - Success
-- Checking for module 'libopenjp2'
--   No package 'libopenjp2' found
-- Could NOT find OPENJPEG (missing: OPENJPEG_LIBRARY OPENJPEG_INCLUDE_DIR) 
-- Warning: OpenJPEG support will be disabled because the OpenJPEG library was not found.
-- Performing Test WITH_STDLIBC_ICONV
-- Performing Test WITH_STDLIBC_ICONV - Failed
-- Warning: ICU support will be disabled because the ICU were not found.
-- Info: DCMTK will compile with built-in (compiled-in) dictionary
-- Info: DCMTK will try to load external dictionary from default path on startup
-- Info: DCMTK's builtin private dictionary support will be disabled
-- Info: Thread support will be enabled
-- Info: Wide char file I/O functions will be disabled
-- Info: Wide char main function for command line tools will be disabled
-- Info: Building DCMTK without character set conversion support
-- Looking for sys/types.h
-- Looking for sys/types.h - found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for stddef.h
-- Looking for stddef.h - found
-- Check size of char
-- Check size of char - done
-- Check size of double
-- Check size of double - done
-- Check size of float
-- Check size of float - done
-- Check size of int
-- Check size of int - done
-- Check size of long
-- Check size of long - done
-- Check size of short
-- Check size of short - done
-- Check size of void*
-- Check size of void* - done
-- Looking for __FUNCTION__
-- Looking for __FUNCTION__ - found
-- Looking for __FUNCTION__
-- Looking for __FUNCTION__ - found
-- Looking for __PRETTY_FUNCTION__
-- Looking for __PRETTY_FUNCTION__ - found
-- Looking for __PRETTY_FUNCTION__
-- Looking for __PRETTY_FUNCTION__ - found
-- Looking for __func__
-- Looking for __func__ - found
-- Looking for __func__
-- Looking for __func__ - found
-- Looking for C++ include windows.h
-- Looking for C++ include windows.h - found
-- Looking for C++ include winsock.h
-- Looking for C++ include winsock.h - found
-- Looking for C++ include errno.h
-- Looking for C++ include errno.h - found
-- Looking for C++ include dirent.h
-- Looking for C++ include dirent.h - found
-- Looking for C++ include fcntl.h
-- Looking for C++ include fcntl.h - found
-- Looking for C++ include fstream
-- Looking for C++ include fstream - found
-- Looking for C++ include fstream.h
-- Looking for C++ include fstream.h - not found
-- Looking for C++ include fnmatch.h
-- Looking for C++ include fnmatch.h - not found
-- Looking for C++ include float.h
-- Looking for C++ include float.h - found
-- Looking for C++ include grp.h
-- Looking for C++ include grp.h - not found
-- Looking for C++ include malloc.h
-- Looking for C++ include malloc.h - found
-- Looking for C++ include math.h
-- Looking for C++ include math.h - found
-- Looking for C++ include cmath
-- Looking for C++ include cmath - found
-- Looking for C++ include ieeefp.h
-- Looking for C++ include ieeefp.h - found
-- Looking for C++ include inttypes.h
-- Looking for C++ include inttypes.h - found
-- Looking for C++ include iomanip
-- Looking for C++ include iomanip - found
-- Looking for C++ include iomanip.h
-- Looking for C++ include iomanip.h - not found
-- Looking for C++ include iostream
-- Looking for C++ include iostream - found
-- Looking for C++ include iostream.h
-- Looking for C++ include iostream.h - not found
-- Looking for C++ include io.h
-- Looking for C++ include io.h - found
-- Looking for C++ include iso646.h
-- Looking for C++ include iso646.h - found
-- Looking for C++ include png.h
-- Looking for C++ include png.h - not found
-- Looking for C++ include limits.h
-- Looking for C++ include limits.h - found
-- Looking for C++ include climits
-- Looking for C++ include climits - found
-- Looking for C++ include locale.h
-- Looking for C++ include locale.h - found
-- Looking for C++ include ndir.h
-- Looking for C++ include ndir.h - not found
-- Looking for C++ include netdb.h
-- Looking for C++ include netdb.h - not found
-- Looking for C++ include new.h
-- Looking for C++ include new.h - found
-- Looking for C++ include pwd.h
-- Looking for C++ include pwd.h - not found
-- Looking for C++ include semaphore.h
-- Looking for C++ include semaphore.h - found
-- Looking for C++ include setjmp.h
-- Looking for C++ include setjmp.h - found
-- Looking for C++ include sstream
-- Looking for C++ include sstream - found
-- Looking for C++ include sstream.h
-- Looking for C++ include sstream.h - not found
-- Looking for C++ include stat.h
-- Looking for C++ include stat.h - not found
-- Looking for C++ include stdbool.h
-- Looking for C++ include stdbool.h - found
-- Looking for C++ include cstddef
-- Looking for C++ include cstddef - found
-- Looking for C++ include cstdint
-- Looking for C++ include cstdint - found
-- Looking for C++ include stdio.h
-- Looking for C++ include stdio.h - found
-- Looking for C++ include cstdio
-- Looking for C++ include cstdio - found
-- Looking for C++ include streambuf.h
-- Looking for C++ include streambuf.h - not found
-- Looking for C++ include strings.h
-- Looking for C++ include strings.h - found
-- Looking for C++ include string.h
-- Looking for C++ include string.h - found
-- Looking for C++ include strstream.h
-- Looking for C++ include strstream.h - not found
-- Looking for C++ include strstream
-- Looking for C++ include strstream - found
-- Looking for C++ include strstrea.h
-- Looking for C++ include strstrea.h - not found
-- Looking for C++ include synch.h
-- Looking for C++ include synch.h - not found
-- Looking for C++ include syslog.h
-- Looking for C++ include syslog.h - not found
-- Looking for C++ include sys/errno.h
-- Looking for C++ include sys/errno.h - not found
-- Looking for C++ include sys/dir.h
-- Looking for C++ include sys/dir.h - not found
-- Looking for C++ include sys/file.h
-- Looking for C++ include sys/file.h - found
-- Looking for C++ include sys/ndir.h
-- Looking for C++ include sys/ndir.h - not found
-- Looking for C++ include sys/param.h
-- Looking for C++ include sys/param.h - found
-- Looking for C++ include sys/resource.h
-- Looking for C++ include sys/resource.h - not found
-- Looking for C++ include sys/select.h
-- Looking for C++ include sys/select.h - not found
-- Looking for C++ include sys/syscall.h
-- Looking for C++ include sys/syscall.h - not found
-- Looking for C++ include sys/systeminfo.h
-- Looking for C++ include sys/systeminfo.h - not found
-- Looking for C++ include sys/time.h
-- Looking for C++ include sys/time.h - found
-- Looking for C++ include sys/timeb.h
-- Looking for C++ include sys/timeb.h - found
-- Looking for C++ include sys/utime.h
-- Looking for C++ include sys/utime.h - found
-- Looking for C++ include sys/utsname.h
-- Looking for C++ include sys/utsname.h - not found
-- Looking for C++ include sys/wait.h
-- Looking for C++ include sys/wait.h - not found
-- Looking for C++ include sys/socket.h
-- Looking for C++ include sys/socket.h - not found
-- Looking for C++ include thread.h
-- Looking for C++ include thread.h - not found
-- Looking for C++ include process.h
-- Looking for C++ include process.h - found
-- Looking for C++ include sys/stat.h
-- Looking for C++ include sys/stat.h - found
-- Looking for C++ include time.h
-- Looking for C++ include time.h - found
-- Looking for C++ include unistd.h
-- Looking for C++ include unistd.h - found
-- Looking for C++ include unix.h
-- Looking for C++ include unix.h - not found
-- Looking for C++ include utime.h
-- Looking for C++ include utime.h - found
-- Looking for C++ include wchar.h
-- Looking for C++ include wchar.h - found
-- Looking for C++ include wctype.h
-- Looking for C++ include wctype.h - found
-- Looking for C++ include alloca.h
-- Looking for C++ include alloca.h - not found
-- Looking for C++ include arpa/inet.h
-- Looking for C++ include arpa/inet.h - not found
-- Looking for C++ include ctype.h
-- Looking for C++ include ctype.h - found
-- Looking for C++ include memory.h
-- Looking for C++ include memory.h - found
-- Looking for C++ include pthread.h
-- Looking for C++ include pthread.h - found
-- Looking for C++ include libc.h
-- Looking for C++ include libc.h - not found
-- Looking for C++ include stdlib.h
-- Looking for C++ include stdlib.h - found
-- Looking for C++ include stdarg.h
-- Looking for C++ include stdarg.h - found
-- Looking for C++ include cstdarg
-- Looking for C++ include cstdarg - found
-- Looking for C++ include signal.h
-- Looking for C++ include signal.h - found
-- Looking for C++ include fenv.h
-- Looking for C++ include fenv.h - found
-- Looking for C++ include iterator
-- Looking for C++ include iterator - found
-- Looking for C++ include poll.h
-- Looking for C++ include poll.h - not found
-- Looking for include files sys/types.h, netinet/in_systm.h
-- Looking for include files sys/types.h, netinet/in_systm.h - not found
-- Looking for include files sys/types.h, netinet/in.h
-- Looking for include files sys/types.h, netinet/in.h - not found
-- Looking for include files sys/types.h, netinet/tcp.h
-- Looking for include files sys/types.h, netinet/tcp.h - not found
-- Looking for C++ include libpng/png.h
-- Looking for C++ include libpng/png.h - not found
-- Looking for connect
-- Looking for connect - found
-- Looking for accept
-- Looking for accept - found
-- Looking for access
-- Looking for access - found
-- Looking for atoll
-- Looking for atoll - found
-- Looking for bcmp
-- Looking for bcmp - not found
-- Looking for bcopy
-- Looking for bcopy - not found
-- Looking for bind
-- Looking for bind - found
-- Looking for bzero
-- Looking for bzero - not found
-- Looking for cuserid
-- Looking for cuserid - not found
-- Looking for _doprnt
-- Looking for _doprnt - not found
-- Looking for finite
-- Looking for finite - found
-- Looking for flock
-- Looking for flock - not found
-- Looking for fork
-- Looking for fork - not found
-- Looking for fseeko
-- Looking for fseeko - found
-- Looking for ftime
-- Looking for ftime - found
-- Looking for getaddrinfo
-- Looking for getaddrinfo - found
-- Looking for getenv
-- Looking for getenv - found
-- Looking for geteuid
-- Looking for geteuid - not found
-- Looking for getgrnam
-- Looking for getgrnam - not found
-- Looking for gethostbyname
-- Looking for gethostbyname - found
-- Looking for gethostbyname_r
-- Looking for gethostbyname_r - not found
-- Looking for gethostbyaddr_r
-- Looking for gethostbyaddr_r - not found
-- Looking for gethostname
-- Looking for gethostname - found
-- Looking for gethostid
-- Looking for gethostid - not found
-- Looking for getlogin
-- Looking for getlogin - not found
-- Looking for getlogin_r
-- Looking for getlogin_r - not found
-- Looking for getpid
-- Looking for getpid - found
-- Looking for getpwnam
-- Looking for getpwnam - not found
-- Looking for getrusage
-- Looking for getrusage - not found
-- Looking for getsockname
-- Looking for getsockname - found
-- Looking for getsockopt
-- Looking for getsockopt - found
-- Looking for gettimeofday
-- Looking for gettimeofday - found
-- Looking for getuid
-- Looking for getuid - not found
-- Looking for gmtime_r
-- Looking for gmtime_r - not found
-- Looking for index
-- Looking for index - not found
-- Looking for isinf
-- Looking for isinf - found
-- Looking for isnan
-- Looking for isnan - found
-- Looking for itoa
-- Looking for itoa - found
-- Looking for listen
-- Looking for listen - found
-- Looking for localtime_r
-- Looking for localtime_r - not found
-- Looking for lockf
-- Looking for lockf - not found
-- Looking for lstat
-- Looking for lstat - not found
-- Looking for malloc_debug
-- Looking for malloc_debug - not found
-- Looking for mbstowcs
-- Looking for mbstowcs - found
-- Looking for wcstombs
-- Looking for wcstombs - found
-- Looking for memmove
-- Looking for memmove - found
-- Looking for mkstemp
-- Looking for mkstemp - found
-- Looking for mktemp
-- Looking for mktemp - found
-- Looking for rindex
-- Looking for rindex - not found
-- Looking for select
-- Looking for select - found
-- Looking for setsockopt
-- Looking for setsockopt - found
-- Looking for setuid
-- Looking for setuid - not found
-- Looking for sleep
-- Looking for sleep - found
-- Looking for socket
-- Looking for socket - found
-- Looking for stat
-- Looking for stat - found
-- Looking for strchr
-- Looking for strchr - found
-- Looking for strdup
-- Looking for strdup - found
-- Looking for strerror
-- Looking for strerror - found
-- Looking for strlcat
-- Looking for strlcat - not found
-- Looking for strlcpy
-- Looking for strlcpy - not found
-- Looking for strstr
-- Looking for strstr - found
-- Looking for strtoul
-- Looking for strtoul - found
-- Looking for sysinfo
-- Looking for sysinfo - not found
-- Looking for tempnam
-- Looking for tempnam - found
-- Looking for tmpnam
-- Looking for tmpnam - found
-- Looking for uname
-- Looking for uname - not found
-- Looking for usleep
-- Looking for usleep - found
-- Looking for wait3
-- Looking for wait3 - not found
-- Looking for waitpid
-- Looking for waitpid - not found
-- Looking for _findfirst
-- Looking for _findfirst - found
-- Looking for nanosleep
-- Looking for nanosleep - found
-- Looking for prototype of feenableexcept
-- Looking for prototype of feenableexcept - not found.
-- Looking for prototype of isinf(0.)
-- Looking for prototype of isinf(0.) - found
-- Looking for prototype of isnan(0.)
-- Looking for prototype of isnan(0.) - found
-- Looking for prototype of finite
-- Looking for prototype of finite - found
-- Looking for prototype of std::isinf(0.)
-- Looking for prototype of std::isinf(0.) - found
-- Looking for prototype of std::isnan(0.)
-- Looking for prototype of std::isnan(0.) - found
-- Looking for prototype of std::finite
-- Looking for prototype of std::finite - not found.
-- Looking for prototype of flock
-- Looking for prototype of flock - not found.
-- Looking for prototype of gethostbyname
-- Looking for prototype of gethostbyname - found
-- Looking for prototype of gethostbyname_r
-- Looking for prototype of gethostbyname_r - not found.
-- Looking for prototype of gethostbyaddr_r
-- Looking for prototype of gethostbyaddr_r - not found.
-- Looking for prototype of gethostid
-- Looking for prototype of gethostid - not found.
-- Looking for prototype of bzero
-- Looking for prototype of bzero - not found.
-- Looking for prototype of gethostname
-- Looking for prototype of gethostname - found
-- Looking for prototype of waitpid
-- Looking for prototype of waitpid - not found.
-- Looking for prototype of wait3
-- Looking for prototype of wait3 - not found.
-- Looking for prototype of usleep
-- Looking for prototype of usleep - found
-- Looking for prototype of accept
-- Looking for prototype of accept - found
-- Looking for prototype of bind
-- Looking for prototype of bind - found
-- Looking for prototype of getsockname
-- Looking for prototype of getsockname - found
-- Looking for prototype of getsockopt
-- Looking for prototype of getsockopt - found
-- Looking for prototype of setsockopt
-- Looking for prototype of setsockopt - found
-- Looking for prototype of socket
-- Looking for prototype of socket - found
-- Looking for prototype of listen
-- Looking for prototype of listen - found
-- Looking for prototype of _vsnprintf_s
-- Looking for prototype of _vsnprintf_s - not found.
-- Looking for prototype of vfprintf_s
-- Looking for prototype of vfprintf_s - found
-- Looking for prototype of vprintf
-- Looking for prototype of vprintf - found
-- Looking for prototype of vsnprintf
-- Looking for prototype of vsnprintf - found
-- Looking for prototype of vsprintf_s
-- Looking for prototype of vsprintf_s - not found.
-- Looking for prototype of std::vfprintf
-- Looking for prototype of std::vfprintf - found
-- Looking for prototype of std::vsnprintf
-- Looking for prototype of std::vsnprintf - found
-- Looking for prototype of _stricmp
-- Looking for prototype of _stricmp - found
-- Looking for prototype of socklen_t definition
-- Looking for prototype of socklen_t definition - found
-- Looking for prototype of gettimeofday
-- Looking for prototype of gettimeofday - found
-- Looking for prototype of connect
-- Looking for prototype of connect - found
-- Looking for prototype of mkstemp
-- Looking for prototype of mkstemp - found
-- Looking for prototype of mktemp
-- Looking for prototype of mktemp - found
-- Looking for prototype of memcmp
-- Looking for prototype of memcmp - found
-- Looking for prototype of memcpy
-- Looking for prototype of memcpy - found
-- Looking for prototype of memset
-- Looking for prototype of memset - found
-- Looking for prototype of select
-- Looking for prototype of select - found
-- Looking for prototype of strcasecmp
-- Looking for prototype of strcasecmp - found
-- Looking for prototype of strncasecmp
-- Looking for prototype of strncasecmp - found
-- Looking for prototype of strerror_r
-- Looking for prototype of strerror_r - not found.
-- Looking for prototype of SYS_gettid
-- Looking for prototype of SYS_gettid - not found.
-- Looking for prototype of std::ios_base::openmode definition
-- Looking for prototype of std::ios_base::openmode definition - not found.
-- Looking for prototype of pthread_rwlock_init
-- Looking for prototype of pthread_rwlock_init - found
-- Looking for prototype of __sync_add_and_fetch((int*)0,0)
-- Looking for prototype of __sync_add_and_fetch((int*)0,0) - found
-- Looking for prototype of __sync_sub_and_fetch((int*)0,0)
-- Looking for prototype of __sync_sub_and_fetch((int*)0,0) - found
-- Looking for prototype of InterlockedIncrement((long*)0)
-- Looking for prototype of InterlockedIncrement((long*)0) - found
-- Looking for prototype of InterlockedDecrement((long*)0)
-- Looking for prototype of InterlockedDecrement((long*)0) - found
-- Looking for prototype of _fpclassf(0.0f)
-- Looking for prototype of _fpclassf(0.0f) - found
-- Looking for prototype of getgrnam_r((char*)0,(group*)0,(char*)0,0,(group**)0)
-- Looking for prototype of getgrnam_r((char*)0,(group*)0,(char*)0,0,(group**)0) - not found.
-- Looking for prototype of getpwnam_r((char*)0,(passwd*)0,(char*)0,0,(passwd**)0)
-- Looking for prototype of getpwnam_r((char*)0,(passwd*)0,(char*)0,0,(passwd**)0) - not found.
-- Looking for prototype of readdir_r((DIR*)0,(dirent*)0,(dirent**)0)
-- Looking for prototype of readdir_r((DIR*)0,(dirent*)0,(dirent**)0) - not found.
-- Looking for prototype of readdir_r((DIR*)0,(dirent*)0)
-- Looking for prototype of readdir_r((DIR*)0,(dirent*)0) - not found.
-- Looking for prototype of nanosleep
-- Looking for prototype of nanosleep - found
-- Looking for prototype of &passwd::pw_gecos
-- Looking for prototype of &passwd::pw_gecos - not found.
-- Looking for prototype of TryAcquireSRWLockShared((PSRWLOCK)0)
-- Looking for prototype of TryAcquireSRWLockShared((PSRWLOCK)0) - not found.
-- Looking for prototype of uchar definition
-- Looking for prototype of uchar definition - not found.
-- Looking for prototype of ushort definition
-- Looking for prototype of ushort definition - not found.
-- Looking for prototype of uint definition
-- Looking for prototype of uint definition - not found.
-- Looking for prototype of ulong definition
-- Looking for prototype of ulong definition - not found.
-- Looking for prototype of longlong definition
-- Looking for prototype of longlong definition - not found.
-- Looking for prototype of ulonglong definition
-- Looking for prototype of ulonglong definition - not found.
-- Looking for prototype of long long definition
-- Looking for prototype of long long definition - found
-- Looking for prototype of unsigned long long definition
-- Looking for prototype of unsigned long long definition - found
-- Looking for prototype of int64_t definition
-- Looking for prototype of int64_t definition - found
-- Looking for prototype of uint64_t definition
-- Looking for prototype of uint64_t definition - found
-- Looking for prototype of char16_t definition
-- Looking for prototype of char16_t definition - found
-- Looking for prototype of fpos64_t definition
-- Looking for prototype of fpos64_t definition - not found.
-- Looking for prototype of off64_t definition
-- Looking for prototype of off64_t definition - found
-- Looking for prototype of popen
-- Looking for prototype of popen - found
-- Looking for prototype of pclose
-- Looking for prototype of pclose - found
-- Looking for prototype of sigjmp_buf definition
-- Looking for prototype of sigjmp_buf definition - not found.
-- Checking whether <math.h> can be included as extern "C"
-- Checking whether <math.h> can be included as extern "C" -- yes
-- Checking signedness of char
-- Checking signedness of char -- signed
-- Checking whether C++ type bool exists
-- Checking whether C++ type bool exists -- yes
-- Checking whether typename works correctly
-- Checking whether typename works correctly -- yes
-- Checking whether ENAMETOOLONG is defined
-- Checking whether ENAMETOOLONG is defined -- yes
-- Checking whether strerror_r returns an int
-- Checking whether strerror_r returns an int -- no
-- Checking whether variable length arrays are supported
-- Checking whether variable length arrays are supported -- yes
-- Checking whether std::ios::nocreate exists
-- Checking whether std::ios::nocreate exists -- no
-- Checking whether explicit large file support (LFS64) is available
-- Checking whether explicit large file support (LFS64) is available -- yes
-- Info: Building DCMTK with explicit large file support (LFS64)
-- Checking whether __alignof__ is supported
-- Checking whether __alignof__ is supported -- yes
-- Checking whether __alignof is supported
-- Checking whether __alignof is supported -- yes
-- Checking whether __attribute__((aligned)) is supported
-- Checking whether __attribute__((aligned)) is supported -- yes
-- Checking whether __attribute__((aligned)) supports templates
-- Checking whether __attribute__((aligned)) supports templates -- yes
-- Checking whether __declspec(align) is supported
-- Checking whether __declspec(align) is supported -- yes
-- Checking whether the compiler supports default constructor detection via SFINAE
-- Checking whether the compiler supports default constructor detection via SFINAE -- yes
-- Checking whether ANSI standard C++ includes use std namespace
-- Checking whether ANSI standard C++ includes use std namespace -- yes
-- Checking whether the compiler supports std::nothrow
-- Checking whether the compiler supports std::nothrow -- yes
-- Checking whether the compiler supports operator delete (std::nothrow)
-- Checking whether the compiler supports operator delete (std::nothrow) -- yes
-- Checking whether the compiler supports static_assert
-- Checking whether the compiler supports static_assert -- yes
-- Checking whether the iterator category input is declared
-- Checking whether the iterator category input is declared -- yes
-- Checking whether the iterator category output is declared
-- Checking whether the iterator category output is declared -- yes
-- Checking whether the iterator category forward is declared
-- Checking whether the iterator category forward is declared -- yes
-- Checking whether the iterator category bidirectional is declared
-- Checking whether the iterator category bidirectional is declared -- yes
-- Checking whether the iterator category random_access is declared
-- Checking whether the iterator category random_access is declared -- yes
-- Checking whether the iterator category contiguous is declared
-- Checking whether the iterator category contiguous is declared -- no
-- Info: C++11 features disabled
-- Info: C++14 features disabled
-- Info: C++17 features disabled
-- Checking whether STL vector works correctly
-- Checking whether STL vector works correctly -- yes
-- Info: STL vector support enabled
-- Checking whether STL algorithm works correctly
-- Checking whether STL algorithm works correctly -- yes
-- Info: STL algorithm support enabled
-- Checking whether STL limits works correctly
-- Checking whether STL limits works correctly -- yes
-- Info: STL limits support enabled
-- Checking whether STL list works correctly
-- Checking whether STL list works correctly -- yes
-- Info: STL list support enabled
-- Checking whether STL map works correctly
-- Checking whether STL map works correctly -- yes
-- Info: STL map support enabled
-- Checking whether STL memory works correctly
-- Checking whether STL memory works correctly -- yes
-- Info: STL memory support enabled
-- Checking whether STL stack works correctly
-- Checking whether STL stack works correctly -- yes
-- Info: STL stack support enabled
-- Checking whether STL string works correctly
-- Checking whether STL string works correctly -- yes
-- Info: STL string support enabled
-- Checking whether STL type_traits works correctly
-- Checking whether STL type_traits works correctly -- yes
-- Info: STL type_traits support enabled
-- Checking whether STL tuple works correctly
-- Checking whether STL tuple works correctly -- yes
-- Info: STL tuple support enabled
-- Checking whether STL system_error works correctly
-- Checking whether STL system_error works correctly -- no
-- Info: STL system_error support disabled
-- Looking for pthread_key_create in pthread
-- Looking for pthread_key_create in pthread - found
-- Looking for sem_init in rt
-- Looking for sem_init in rt - not found
-- Looking for main in nsl
-- Looking for main in nsl - not found
-- Looking for gethostbyname in nsl
-- Looking for gethostbyname in nsl - not found
-- Looking for main in socket
-- Looking for main in socket - not found
-- Looking for socket in socket
-- Looking for socket in socket - not found
-- Inspecting fundamental arithmetic types... 
--
--                    TRAPS MODULO
--   char              yes    yes
--   signed char       yes    yes
--   unsigned char     yes    yes
--   signed short      yes    yes
--   unsigned short    yes    yes
--   signed int        yes     no
--   unsigned int      yes    yes
--   signed long       yes     no
--   unsigned long     yes    yes
--
--                     float double
--   TRAPS               no     no
--   HAS INFINITY       yes    yes
--   QUIET NAN          yes    yes
--   SIGNALING NAN      yes    yes
--   IEC-559            yes    yes
--   HAS DENORM         yes    yes
--   TINYNESS BEFORE    yes    yes
--   DENORM LOSS        yes    yes
--
-- Looking for CMake command CONFIGURE_PACKAGE_CONFIG_FILE
-- Looking for CMake command CONFIGURE_PACKAGE_CONFIG_FILE - found
-- Looking for CMake command WRITE_BASIC_PACKAGE_VERSION_FILE
-- Looking for CMake command WRITE_BASIC_PACKAGE_VERSION_FILE - found
-- Configuring done
-- Generating done
-- Build files have been written to: C:/tmp/dcmtk-3.6.5-build2
Would there be something to test further? Thanks!

gzhang
Posts: 50
Joined: Wed, 2015-09-02, 09:24

Re: Compilation error 3.6.5 with mingw64 gcc-8.1.0

#9 Post by gzhang » Wed, 2020-02-05, 11:34

To test even further, I switched to the MinGW in the Msys2 repository instead of MinGW-W64 repository, and it succeeded. So, it should be related to tool chain contained in different MinGW builds.
In Msys2, it is a bit hard not to use the latest toolchain. The current version is 9.2.0 and the gcc configuration is:

Code: Select all

Target: x86_64-w64-mingw32
Configured with: ../gcc-9.2.0/configure --prefix=/mingw64 --with-local-prefix=/mingw64/local --build=x86_64-w64-mingw32 --host=x86_64-w64-mingw32 --target=x86_64-w64-mingw32 --with-native-system-header-dir=/mingw64/x86_64-w64-mingw32/include --libexecdir=/mingw64/lib --enable-bootstrap --with-arch=x86-64 --with-tune=generic --enable-languages=c,lto,c++,fortran,ada,objc,obj-c++ --enable-shared --enable-static --enable-libatomic --enable-threads=posix --enable-graphite --enable-fully-dynamic-string --enable-libstdcxx-filesystem-ts=yes --enable-libstdcxx-time=yes --disable-libstdcxx-pch --disable-libstdcxx-debug --disable-isl-version-check --enable-lto --enable-libgomp --disable-multilib --enable-checking=release --disable-rpath --disable-win32-registry --disable-nls --disable-werror --disable-symvers --enable-plugin --with-libiconv --with-system-zlib --with-gmp=/mingw64 --with-mpfr=/mingw64 --with-mpc=/mingw64 --with-isl=/mingw64 --with-pkgversion='Rev2, Built by MSYS2 project' --with-bugurl=https://sourceforge.net/projects/msys2 --with-gnu-as --with-gnu-ld
Thread model: posix
gcc version 9.2.0 (Rev2, Built by MSYS2 project) 
and the gcc configuration from MinGW-W64 is:

Code: Select all

Target: x86_64-w64-mingw32
Configured with: ../../../src/gcc-8.1.0/configure --host=x86_64-w64-mingw32 --build=x86_64-w64-mingw32 --target=x86_64-w64-mingw32 --prefix=/mingw64 --with-sysroot=/c/mingw810/x86_64-810-posix-seh-rt_v6-rev0/mingw64 --enable-shared --enable-static --disable-multilib --enable-languages=c,c++,fortran,lto --enable-libstdcxx-time=yes --enable-threads=posix --enable-libgomp --enable-libatomic --enable-lto --enable-graphite --enable-checking=release --enable-fully-dynamic-string --enable-version-specific-runtime-libs --disable-libstdcxx-pch --disable-libstdcxx-debug --enable-bootstrap --disable-rpath --disable-win32-registry --disable-nls --disable-werror --disable-symvers --with-gnu-as --with-gnu-ld --with-arch=nocona --with-tune=core2 --with-libiconv --with-system-zlib --with-gmp=/c/mingw810/prerequisites/x86_64-w64-mingw32-static --with-mpfr=/c/mingw810/prerequisites/x86_64-w64-mingw32-static --with-mpc=/c/mingw810/prerequisites/x86_64-w64-mingw32-static --with-isl=/c/mingw810/prerequisites/x86_64-w64-mingw32-static --with-pkgversion='x86_64-posix-seh-rev0, Built by MinGW-W64 project' --with-bugurl=https://sourceforge.net/projects/mingw-w64 CFLAGS='-O2 -pipe -fno-ident -I/c/mingw810/x86_64-810-posix-seh-rt_v6-rev0/mingw64/opt/include -I/c/mingw810/prerequisites/x86_64-zlib-static/include -I/c/mingw810/prerequisites/x86_64-w64-mingw32-static/include' CXXFLAGS='-O2 -pipe -fno-ident -I/c/mingw810/x86_64-810-posix-seh-rt_v6-rev0/mingw64/opt/include -I/c/mingw810/prerequisites/x86_64-zlib-static/include -I/c/mingw810/prerequisites/x86_64-w64-mingw32-static/include' CPPFLAGS=' -I/c/mingw810/x86_64-810-posix-seh-rt_v6-rev0/mingw64/opt/include -I/c/mingw810/prerequisites/x86_64-zlib-static/include -I/c/mingw810/prerequisites/x86_64-w64-mingw32-static/include' LDFLAGS='-pipe -fno-ident -L/c/mingw810/x86_64-810-posix-seh-rt_v6-rev0/mingw64/opt/lib -L/c/mingw810/prerequisites/x86_64-zlib-static/lib -L/c/mingw810/prerequisites/x86_64-w64-mingw32-static/lib '
Thread model: posix
gcc version 8.1.0 (x86_64-posix-seh-rev0, Built by MinGW-W64 project) 
Is it possible to see which setting might be related to the issue? The error was on "oflog" and on "tls.h", so something to do with "log4cplus"? Thanks!

Jan Schlamelcher
OFFIS DICOM Team
OFFIS DICOM Team
Posts: 317
Joined: Mon, 2014-03-03, 09:51
Location: Oldenburg, Germany

Re: Compilation error 3.6.5 with mingw64 gcc-8.1.0

#10 Post by Jan Schlamelcher » Wed, 2020-02-05, 13:31

I'll see whether we can add another build to our nightlybuilds with that spec and then fix that issue. Seems we probably need another configuration test for that. Thanks for your insight and help reproducing the problem.

gzhang
Posts: 50
Joined: Wed, 2015-09-02, 09:24

Re: Compilation error 3.6.5 with mingw64 gcc-8.1.0

#11 Post by gzhang » Wed, 2020-02-05, 14:40

Thank you Jan!
I like Msys2 but I'd also like to keep MinGW aside and use the mingw64 build, just to stay independent to the upgrade of Msys2 itself.

Phil59
Posts: 2
Joined: Fri, 2020-02-07, 18:41

Re: Compilation error 3.6.5 with mingw64 gcc-8.1.0

#12 Post by Phil59 » Mon, 2020-02-10, 11:59

Thanks a lot for the help!

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest