Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. Building Qt5 from source under Cygwin
Forum Updated to NodeBB v4.3 + New Features

Building Qt5 from source under Cygwin

Scheduled Pinned Locked Moved Unsolved General and Desktop
cygwin
12 Posts 4 Posters 6.2k Views 2 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • M Offline
    M Offline
    Mwvse
    wrote on last edited by Mwvse
    #3

    Thank you for the thoughtful response, koahnig.

    The need for cygwin:
    I have seen questions similar to mine in various searches. And, I have seen many answers similar to yours. I understand the reasoning (abstraction/portability) and will certainly consider those factors in future apps. In this particular instance, however, I have this large existing app with a fair amount of unix/linux/posix specific stuff that I simply want to wrap in a GUI.

    Progress thus far:
    I downloaded the 5.7 Linux tar and found the mkspecs/cygwin-g++/qmake.conf file. I made minor modifications to it and am now able to successfully get through 'configure' within cygwin (I made a few minor mods to a couple of header files to get it to pass (a few preprocessor directives and a few function prototypes)). The 'make' now gets 5 or so minutes in before dying so I am starting to take a look at those. I will come back to this thread with more questions and/or results depending on the circumstances I encounter.

    Thanks again!

    1 Reply Last reply
    0
    • M Offline
      M Offline
      Mwvse
      wrote on last edited by
      #4

      I have exhausted everything I can think of...build issue with some winsock stuff. Not sure what else I should post to provide additional/helpful diagnostic info. Thanks in advance.

      Here are the errors :

      make[3]: Entering directory '/home/a/qt-everywhere-opensource-src-5.7.0/qtbase/src/corelib'
      g++ -std=c++11 -U__STRICT_ANSI__ -c -pipe -D_REENTRANT -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -O2 -Wall -W -Wvla -Wdate-time -D_REENTRANT -DQT_NO_MTDEV -DQT_NO_LIBUDEV -DQT_NO_EVDEV -DQT_NO_TSLIB -DQT_NO_LIBINPUT -DQT_NO_USING_NAMESPACE -DQT_NO_FOREACH -DQT_HAVE_POLL -DQT_HAVE_PPOLL -DQT_BUILD_CORE_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -I. -Iglobal -I../3rdparty/harfbuzz/src -I../3rdparty/md5 -I../3rdparty/md4 -I../3rdparty/sha3 -I../3rdparty/double-conversion/include -I../3rdparty/double-conversion/include/double-conversion -I../3rdparty/forkfd -I../../include -I../../include/QtCore -I../../include/QtCore/5.7.0 -I../../include/QtCore/5.7.0/QtCore -I.moc -I../../mkspecs/cygwin-g++ -o .obj/qglobal.o global/qglobal.cpp
      
      global/qglobal.cpp: In constructor ‘QWindowsSockInit::QWindowsSockInit()’:
      global/qglobal.cpp:1944:5: error: ‘WSAData’ was not declared in this scope
           WSAData wsadata;
           ^
      global/qglobal.cpp:1947:36: error: ‘wsadata’ was not declared in this scope
           if (WSAStartup(MAKEWORD(2,0), &wsadata) != 0) {
                                          ^
      global/qglobal.cpp:1947:43: error: ‘WSAStartup’ was not declared in this scope
           if (WSAStartup(MAKEWORD(2,0), &wsadata) != 0) {
                                                 ^
      global/qglobal.cpp: In destructor ‘QWindowsSockInit::~QWindowsSockInit()’:
      global/qglobal.cpp:1956:16: error: ‘WSACleanup’ was not declared in this scope
           WSACleanup();
                      ^
      In file included from ../../include/QtCore/qglobalstatic.h:1:0,
                       from global/qglobal.h:1146,
                       from ../../mkspecs/cygwin-g++/qplatformdefs.h:45,
                       from global/qglobal.cpp:41:
      
      
      K 1 Reply Last reply
      0
      • M Mwvse

        I have exhausted everything I can think of...build issue with some winsock stuff. Not sure what else I should post to provide additional/helpful diagnostic info. Thanks in advance.

        Here are the errors :

        make[3]: Entering directory '/home/a/qt-everywhere-opensource-src-5.7.0/qtbase/src/corelib'
        g++ -std=c++11 -U__STRICT_ANSI__ -c -pipe -D_REENTRANT -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -O2 -Wall -W -Wvla -Wdate-time -D_REENTRANT -DQT_NO_MTDEV -DQT_NO_LIBUDEV -DQT_NO_EVDEV -DQT_NO_TSLIB -DQT_NO_LIBINPUT -DQT_NO_USING_NAMESPACE -DQT_NO_FOREACH -DQT_HAVE_POLL -DQT_HAVE_PPOLL -DQT_BUILD_CORE_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -I. -Iglobal -I../3rdparty/harfbuzz/src -I../3rdparty/md5 -I../3rdparty/md4 -I../3rdparty/sha3 -I../3rdparty/double-conversion/include -I../3rdparty/double-conversion/include/double-conversion -I../3rdparty/forkfd -I../../include -I../../include/QtCore -I../../include/QtCore/5.7.0 -I../../include/QtCore/5.7.0/QtCore -I.moc -I../../mkspecs/cygwin-g++ -o .obj/qglobal.o global/qglobal.cpp
        
        global/qglobal.cpp: In constructor ‘QWindowsSockInit::QWindowsSockInit()’:
        global/qglobal.cpp:1944:5: error: ‘WSAData’ was not declared in this scope
             WSAData wsadata;
             ^
        global/qglobal.cpp:1947:36: error: ‘wsadata’ was not declared in this scope
             if (WSAStartup(MAKEWORD(2,0), &wsadata) != 0) {
                                            ^
        global/qglobal.cpp:1947:43: error: ‘WSAStartup’ was not declared in this scope
             if (WSAStartup(MAKEWORD(2,0), &wsadata) != 0) {
                                                   ^
        global/qglobal.cpp: In destructor ‘QWindowsSockInit::~QWindowsSockInit()’:
        global/qglobal.cpp:1956:16: error: ‘WSACleanup’ was not declared in this scope
             WSACleanup();
                        ^
        In file included from ../../include/QtCore/qglobalstatic.h:1:0,
                         from global/qglobal.h:1146,
                         from ../../mkspecs/cygwin-g++/qplatformdefs.h:45,
                         from global/qglobal.cpp:41:
        
        
        K Offline
        K Offline
        koahnig
        wrote on last edited by
        #5

        @Mwvse

        Not sure what the issues could be.

        Do you have a recent version of gcc compiler in Cygwin?

        Other @Moderators may have more detailed knowledge on reasons for your problems. At the moment I would assume that it is compiler version related.

        Vote the answer(s) that helped you to solve your issue(s)

        1 Reply Last reply
        1
        • SGaistS Offline
          SGaistS Offline
          SGaist
          Lifetime Qt Champion
          wrote on last edited by
          #6

          Hi,

          I'm no Cygwin specialist but why not use the Qt 5 packages provided by them ?

          Interested in AI ? www.idiap.ch
          Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

          M 1 Reply Last reply
          1
          • M Offline
            M Offline
            Mwvse
            wrote on last edited by
            #7

            Thanks (again) for the reply. Compiler version below.

            I can't find the WSAData type (et al). Perhaps I need a Windows SDK??

            $ g++ --version
            g++ (GCC) 5.4.0
            Copyright (C) 2015 Free Software Foundation, Inc.
            This is free software; see the source for copying conditions.  There is NO
            warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
            
            
            1 Reply Last reply
            0
            • SGaistS SGaist

              Hi,

              I'm no Cygwin specialist but why not use the Qt 5 packages provided by them ?

              M Offline
              M Offline
              Mwvse
              wrote on last edited by Mwvse
              #8

              @SGaist - Thank you very much for the reply.

              I did load those packages and did some experimentation but had a number of issues that I haven't yet been able to resolve. Their packages have a mixture of Qt3, Qt4, and Qt5. I loaded all the Qt5 packages I could find but running qmake gave me some so-so results. The generated Makefiles had some weird file/pathnames that didn't make sense to me. I hacked the Makefiles by hand but then had problems getting everything linked. Probably something I am not doing correctly but so far it seems they have a weird mixture of static and dynamic libraries and I can't get an app to resolve all those references/dependencies (I was up til 4:00 am last night trying to get it to work).

              I appreciate the suggestion. I will keep working on both options (pre-built cygwin and building my own 5.7 tool chain) and see if I can get one or both figured out. Any other suggestions/comments from the community are greatly appreciated.

              K 1 Reply Last reply
              0
              • M Mwvse

                @SGaist - Thank you very much for the reply.

                I did load those packages and did some experimentation but had a number of issues that I haven't yet been able to resolve. Their packages have a mixture of Qt3, Qt4, and Qt5. I loaded all the Qt5 packages I could find but running qmake gave me some so-so results. The generated Makefiles had some weird file/pathnames that didn't make sense to me. I hacked the Makefiles by hand but then had problems getting everything linked. Probably something I am not doing correctly but so far it seems they have a weird mixture of static and dynamic libraries and I can't get an app to resolve all those references/dependencies (I was up til 4:00 am last night trying to get it to work).

                I appreciate the suggestion. I will keep working on both options (pre-built cygwin and building my own 5.7 tool chain) and see if I can get one or both figured out. Any other suggestions/comments from the community are greatly appreciated.

                K Offline
                K Offline
                koahnig
                wrote on last edited by
                #9

                @Mwvse

                @SGaist brings up a good point.

                Do you use the newest Cygwin version? This should have at least a Qt 5.5 version with it.

                What is your Qt version on linux?

                Vote the answer(s) that helped you to solve your issue(s)

                M 1 Reply Last reply
                0
                • BuckwheatB Offline
                  BuckwheatB Offline
                  Buckwheat
                  wrote on last edited by
                  #10

                  @Mwvse, Have you tried installing MSYS2? It uses GNU toolchain 6.2.x and installs Qt 5.6.1-2 for both i686 and x86_64 targets. It is a recent fork of Cygwin but does not have all the baggage of Cygwin paths and the layers of DLLs needed. I use this to target development on *nix, Win10, and OSX because of the POSIXness that I do not get with M$VS.

                  I have found over the last 5 years of using Qt that leaving the building to the Qt folks or the distro builders yields much better results and gives me less headaches in the long run. Why should I spend aggravating hours, days, or even weeks trying to tweak a build when I can get right to the fun stuff!

                  Dave Fileccia

                  M 1 Reply Last reply
                  0
                  • K koahnig

                    @Mwvse

                    @SGaist brings up a good point.

                    Do you use the newest Cygwin version? This should have at least a Qt 5.5 version with it.

                    What is your Qt version on linux?

                    M Offline
                    M Offline
                    Mwvse
                    wrote on last edited by
                    #11

                    @koahnig - Thanks for the response. Yes, I have a recent cygwin version and it does have Qt 5.5 (I'm using Qt 5.7 in my Linux environment). Something is still hosed with my Cygwin Qt pre-built/packaged environment. Even a simple qmake project emits a few hiccups in the generated Makefiles. I am still experimenting.

                    1 Reply Last reply
                    0
                    • BuckwheatB Buckwheat

                      @Mwvse, Have you tried installing MSYS2? It uses GNU toolchain 6.2.x and installs Qt 5.6.1-2 for both i686 and x86_64 targets. It is a recent fork of Cygwin but does not have all the baggage of Cygwin paths and the layers of DLLs needed. I use this to target development on *nix, Win10, and OSX because of the POSIXness that I do not get with M$VS.

                      I have found over the last 5 years of using Qt that leaving the building to the Qt folks or the distro builders yields much better results and gives me less headaches in the long run. Why should I spend aggravating hours, days, or even weeks trying to tweak a build when I can get right to the fun stuff!

                      M Offline
                      M Offline
                      Mwvse
                      wrote on last edited by
                      #12

                      @Buckwheat, I have not looked at MSYS2 but your description and a brief read of their intro sounds like it may be a good option for me. I will pursue this as an option as well. Thank you very much for the insights.

                      1 Reply Last reply
                      0

                      • Login

                      • Login or register to search.
                      • First post
                        Last post
                      0
                      • Categories
                      • Recent
                      • Tags
                      • Popular
                      • Users
                      • Groups
                      • Search
                      • Get Qt Extensions
                      • Unsolved