Building lates D-Bus for Windows with MS yields a fatal error for not finding 'sys/types.h sys/socket.h'

rony <[email protected]>
Newsgroups gmane.comp.freedesktop.dbus
Organization WU Wien
Message-ID <[email protected]>
Hi there,

attempting to create a Windows version of the latest DBus code yields a fatal error while CMake is
trying to create the Makefile (for MS Visual C compiler) with:

    cmake -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=E:/Programme/dbus-20150418 -DEXPAT_INCLUDE_DIR=E:/Programme/Expat_2.1.0/Source/lib F:/work/git/dbus-win-20150418/dbus/cmake

The output of the above is:

    -- The C compiler identification is MSVC 16.0.30319.1
    -- The CXX compiler identification is MSVC 16.0.30319.1
    -- Check for working C compiler: E:/Programme/Microsoft Visual Studio 10.0/VC/bin/cl.exe
    -- Check for working C compiler: E:/Programme/Microsoft Visual Studio 10.0/VC/bin/cl.exe -- works
    -- Detecting C compiler ABI info
    -- Detecting C compiler ABI info - done
    -- Check for working CXX compiler: E:/Programme/Microsoft Visual Studio 10.0/VC/bin/cl.exe
    -- Check for working CXX compiler: E:/Programme/Microsoft Visual Studio 10.0/VC/bin/cl.exe -- works
    -- Detecting CXX compiler ABI info
    -- Detecting CXX compiler ABI info - done
    CMake Error at modules/MacrosAutotools.cmake:121 (file):
      file Internal CMake error when trying to open file:
      F:/work/git/dbus-win-20150418/dbus/cmake/../config.h.in for reading.
    Call Stack (most recent call first):
      CMakeLists.txt:27 (autoheaderchecks)


    -- Found EXPAT: E:/Programme/Expat_2.1.0/Bin/libexpat.lib (found version "2.1.0")
    -- Could NOT find GLIB2 (missing:  GLIB2_LIBRARIES GLIB2_MAIN_INCLUDE_DIR)
    -- Could NOT find PkgConfig (missing:  PKG_CONFIG_EXECUTABLE)
    -- Could NOT find GOBJECT (missing:  GOBJECT_LIBRARIES GOBJECT_INCLUDE_DIR)
    -- Looking for alloca.h
    -- Looking for alloca.h - not found
    -- Looking for byteswap.h
    -- Looking for byteswap.h - not found
    -- Looking for crt/externs.h
    -- Looking for crt/externs.h - not found
    -- Looking for dirent.h
    -- Looking for dirent.h - not found
    -- Looking for dlfcn.h
    -- Looking for dlfcn.h - not found
    -- Looking for execinfo.h
    -- Looking for execinfo.h - not found
    -- Looking for errno.h
    -- Looking for errno.h - found
    -- Looking for expat.h
    -- Looking for expat.h - not found
    -- Looking for grp.h
    -- Looking for grp.h - not found
    -- Looking for inttypes.h
    -- Looking for inttypes.h - not found
    -- Looking for io.h
    -- Looking for io.h - found
    -- Looking for locale.h
    -- Looking for locale.h - found
    -- Looking for memory.h
    -- Looking for memory.h - found
    -- Looking for signal.h
    -- Looking for signal.h - found
    -- Looking for stdint.h
    -- Looking for stdint.h - found
    -- Looking for stdlib.h
    -- Looking for stdlib.h - found
    -- Looking for stdio.h
    -- Looking for stdio.h - found
    -- Looking for string.h
    -- Looking for string.h - found
    -- Looking for strings.h
    -- Looking for strings.h - not found
    -- Looking for syslog.h
    -- Looking for syslog.h - not found
    -- Looking for 3 include files stdint.h, ..., sys/event.h
    -- Looking for 3 include files stdint.h, ..., sys/event.h - not found
    -- Looking for sys/inotify.h
    -- Looking for sys/inotify.h - not found
    -- Looking for sys/resource.h
    -- Looking for sys/resource.h - not found
    -- Looking for sys/stat.h
    -- Looking for sys/stat.h - found
    -- Looking for sys/types.h
    -- Looking for sys/types.h - found
    -- Looking for sys/uio.h
    -- Looking for sys/uio.h - not found
    -- Looking for sys/poll.h
    -- Looking for sys/poll.h - not found
    -- Looking for sys/prctl.h
    -- Looking for sys/prctl.h - not found
    -- Looking for sys/syslimits.h
    -- Looking for sys/syslimits.h - not found
    -- Looking for sys/time.h
    -- Looking for sys/time.h - not found
    -- Looking for sys/wait.h
    -- Looking for sys/wait.h - not found
    -- Looking for time.h
    -- Looking for time.h - found
    -- Looking for ws2tcpip.h
    -- Looking for ws2tcpip.h - found
    -- Looking for unistd.h
    -- Looking for unistd.h - not found
    -- Looking for backtrace
    -- Looking for backtrace - not found
    -- Looking for getgrouplist
    -- Looking for getgrouplist - not found
    -- Looking for getpeerucred
    -- Looking for getpeerucred - not found
    -- Looking for nanosleep
    -- Looking for nanosleep - not found
    -- Looking for getpwnam_r
    -- Looking for getpwnam_r - not found
    -- Looking for setenv
    -- Looking for setenv - not found
    -- Looking for unsetenv
    -- Looking for unsetenv - not found
    -- Looking for clearenv
    -- Looking for clearenv - not found
    -- Looking for writev
    -- Looking for writev - not found
    -- Looking for setrlimit
    -- Looking for setrlimit - not found
    -- Looking for socketpair
    -- Looking for socketpair - not found
    -- Looking for setlocale
    -- Looking for setlocale - found
    -- Looking for localeconv
    -- Looking for localeconv - found
    -- Looking for strtoll
    -- Looking for strtoll - not found
    -- Looking for strtoull
    -- Looking for strtoull - not found
    -- Looking for pipe2
    -- Looking for pipe2 - not found
    -- Looking for accept4
    -- Looking for accept4 - not found
    -- Looking for dirfd
    -- Looking for dirfd - not found
    -- Looking for inotify_init1
    -- Looking for inotify_init1 - not found
    -- Looking for SCM_RIGHTS
    -- Looking for SCM_RIGHTS - not found
    -- Looking for prctl
    -- Looking for prctl - not found
    -- Looking for raise
    -- Looking for raise - found
    -- Performing Test HAVE_CMSGCRED
    -- Performing Test HAVE_CMSGCRED - Failed
    -- Looking for stddef.h
    -- Looking for stddef.h - found
    -- Check size of short
    -- Check size of short - done
    -- Check size of int
    -- Check size of int - done
    -- Check size of long
    -- Check size of long - done
    -- Check size of long long
    -- Check size of long long - done
    -- Check size of __int64
    -- Check size of __int64 - done
    -- Check size of socklen_t
    -- Check size of socklen_t - failed
    -- Copying test files to test directory
    -- Generating test files from templates into test directory
    -- Copying generated bus config files to test directory

    set -DDBUS_INSTALL_SYSTEM_LIBS=1 to install runtime libraries too
    set DBUSDIR (environment or cmake option) to overwrite the default install directory


                      D-BUS 1.9.15
                      ============

            install prefix:           E:/Programme/dbus-20150418
            install exec_prefix:      E:/Programme/dbus-20150418
            install libdir:           E:/Programme/dbus-20150418/lib
            install bindir:           E:/Programme/dbus-20150418/bin
            install sysconfdir:       E:/Programme/dbus-20150418/etc
            install datadir:          E:/Programme/dbus-20150418/share
            source code location:     F:/work/git/dbus-win-20150418/dbus/cmake/..
            build dir:                F:/work/git/dbus-win-20150418/dbus/dbus-build
            c compiler:               cl.exe
            cflags:                    /DWIN32 /D_WINDOWS /W3  -Wsign-compare
            cflags debug:             /D_DEBUG /MDd /Zi /Ob0 /Od /RTC1   /FIconfig.h  /we4028 /we4013 /we4133 /we4047 /we4031 /we
    4002 /we4003 /we4114  /wd4127 /wd4090 /wd4101 /wd4244  -D_DEBUG
            cflags release:           /MD /O2 /Ob2 /D NDEBUG /FIconfig.h  /we4028 /we4013 /we4133 /we4047 /we4031 /we4002 /we4003
     /we4114  /wd4127 /wd4090 /wd4101 /wd4244
            cxx compiler:             cl.exe
            cxxflags:                  /DWIN32 /D_WINDOWS /W3 /GR /EHsc  -Wsign-compare
            cxxflags debug:           /D_DEBUG /MDd /Zi /Ob0 /Od /RTC1
            cxxflags release:         /MD /O2 /Ob2 /D NDEBUG
            64-bit int:               long long
            32-bit int:               int
            16-bit int:               short
            Doxygen:                  DOXYGEN-NOTFOUND
            Docbook Generator:
            gcc coverage profiling:
            Building unit tests:      ON
            Building with GLib:
            Building verbose mode:    ON
            Building w/o assertions:  OFF
            Building w/o checks:      OFF
            Building bus stats API:   OFF
            installing system libs:   OFF
            Building inotify support:
            Building kqueue support:
            Building Doxygen docs:
            Building XML docs:
            Daemon executable name:   dbus-daemon
            System bus address:       unix:path=E:/Programme/dbus-20150418/var/run/dbus/system_bus_socket
            Session bus listens on:   autolaunch:
            Session clients connect to: autolaunch:
            Test listen address:      tcp:host=localhost
            build timestamp:          201504181831


    NOTE: building with unit tests increases the size of the installed library and renders it insecure.
    NOTE: building with verbose mode increases library size, may slightly increase security risk, and decreases performance.
    NOTE: building with assertions increases library size and decreases performance.

    -- Configuring incomplete, errors occurred!
    See also "F:/work/git/dbus-win-20150418/dbus/dbus-build/CMakeFiles/CMakeOutput.log".
    See also "F:/work/git/dbus-win-20150418/dbus/dbus-build/CMakeFiles/CMakeError.log".


CMakeError.log at the end contains the following:

    Performing C++ SOURCE FILE Test HAVE_CMSGCRED failed with the following output:
    Change Dir: F:/work/git/dbus-win-20150418/dbus/dbus-build/CMakeFiles/CMakeTmp

    Run Build Command:"nmake" "/NOLOGO" "cmTryCompileExec2674399229\fast"
    	"E:\Programme\Microsoft Visual Studio 10.0\VC\BIN\nmake.exe" -f CMakeFiles\cmTryCompileExec2674399229.dir\build.make /nologo -L                  CMakeFiles\cmTryCompileExec2674399229.dir\build

    	E:\Programme\CMake\bin\cmake.exe -E cmake_progress_report F:\work\git\dbus-win-20150418\dbus\dbus-build\CMakeFiles\CMakeTmp\CMakeFiles 1

    Building CXX object CMakeFiles/cmTryCompileExec2674399229.dir/src.cxx.obj

    	E:\PROGRA~1\MICROS~2.0\VC\bin\cl.exe  @D:\DOKUME~1\ADMINI~1\LOKALE~1\Temp\nm86A.tmp

    src.cxx

    F:\work\git\dbus-win-20150418\dbus\dbus-build\CMakeFiles\CMakeTmp\src.cxx(2) : fatal error C1083: Cannot open include file: *'sys/types.h sys/socket.h'*: No such file or directory

    NMAKE : fatal error U1077: 'E:\PROGRA~1\MICROS~2.0\VC\bin\cl.exe' : return code '0x2'

    Stop.

    NMAKE : fatal error U1077: '"E:\Programme\Microsoft Visual Studio 10.0\VC\BIN\nmake.exe"' : return code '0x2'

    Stop.


    Source file was:

    #include <sys/types.h sys/socket.h>

    int main()
    {
       cmsgcred* tmp;
       tmp->cmcred_pid;
      return 0;
    }

    Determining size of socklen_t failed with the following output:
    Change Dir: F:/work/git/dbus-win-20150418/dbus/dbus-build/CMakeFiles/CMakeTmp

    Run Build Command:"nmake" "/NOLOGO" "cmTryCompileExec3636955877\fast"
    	"E:\Programme\Microsoft Visual Studio 10.0\VC\BIN\nmake.exe" -f CMakeFiles\cmTryCompileExec3636955877.dir\build.make /nologo -L                  CMakeFiles\cmTryCompileExec3636955877.dir\build

    	E:\Programme\CMake\bin\cmake.exe -E cmake_progress_report F:\work\git\dbus-win-20150418\dbus\dbus-build\CMakeFiles\CMakeTmp\CMakeFiles 1

    Building C object CMakeFiles/cmTryCompileExec3636955877.dir/SOCKLEN_T.c.obj

    	E:\PROGRA~1\MICROS~2.0\VC\bin\cl.exe  @D:\DOKUME~1\ADMINI~1\LOKALE~1\Temp\nm895.tmp

    SOCKLEN_T.c

    F:\work\git\dbus-win-20150418\dbus\dbus-build\CMakeFiles\CheckTypeSize\SOCKLEN_T.c(4) : fatal error C1083: Cannot open include file: 'sys/socket.h': No such file or directory

    NMAKE : fatal error U1077: 'E:\PROGRA~1\MICROS~2.0\VC\bin\cl.exe' : return code '0x2'

    Stop.

    NMAKE : fatal error U1077: '"E:\Programme\Microsoft Visual Studio 10.0\VC\BIN\nmake.exe"' : return code '0x2'

    Stop.


    F:/work/git/dbus-win-20150418/dbus/dbus-build/CMakeFiles/CheckTypeSize/SOCKLEN_T.c:
    #include <sys/types.h>
    #include <stdint.h>
    #include <stddef.h>
    #include "sys/socket.h"


    #undef KEY
    #if defined(__i386)
    # define KEY '_','_','i','3','8','6'
    #elif defined(__x86_64)
    # define KEY '_','_','x','8','6','_','6','4'
    #elif defined(__ppc__)
    # define KEY '_','_','p','p','c','_','_'
    #elif defined(__ppc64__)
    # define KEY '_','_','p','p','c','6','4','_','_'
    #endif

    #define SIZE (sizeof(socklen_t))
    char info_size[] =  {'I', 'N', 'F', 'O', ':', 's','i','z','e','[',
      ('0' + ((SIZE / 10000)%10)),
      ('0' + ((SIZE / 1000)%10)),
      ('0' + ((SIZE / 100)%10)),
      ('0' + ((SIZE / 10)%10)),
      ('0' +  (SIZE    % 10)),
      ']',
    #ifdef KEY
      ' ','k','e','y','[', KEY, ']',
    #endif
      '\0'};

    #ifdef __CLASSIC_C__
    int main(argc, argv) int argc; char *argv[];
    #else
    int main(int argc, char *argv[])
    #endif
    {
      int require = 0;
      require += info_size[argc];
      (void)argv;
      return require;
    }


Any hint/help highly appreciated!

---rony

P.S.: Building last summer with the same commands worked, there has been no change in compiler, nor
expat, nor cmake since then.

_______________________________________________
dbus mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/dbus
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.