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. qt.network.ssl: QSslSocket errors/warnings
Forum Updated to NodeBB v4.3 + New Features

qt.network.ssl: QSslSocket errors/warnings

Scheduled Pinned Locked Moved Solved General and Desktop
13 Posts 2 Posters 5.7k Views 1 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.
  • B Offline
    B Offline
    buckler
    wrote on last edited by
    #3

    Thank you, is there a link on how to do the rebuild on OsX?

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

      Basically:

      mkdir build_qt
      cd build_qt
      /path/to/Qt/sources/configure -nomake tests -nomake examples
      make -j9
      sudo make install
      

      You can also enable the new SecureTransport based backend which makes use of OS X cryptographic framework rather than OpenSSL.

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

      1 Reply Last reply
      0
      • B Offline
        B Offline
        buckler
        wrote on last edited by
        #5

        Thank you. I have downloaded the source and followed the basic outline for the build - but I still have the errors :-(.

        I am presently guessing that my application build may not yet be using the new Qt-built-from-source?

        I use make for my build environment, and there are two lines I believe to be relevant:
        set (CMAKE_PREFIX_PATH ~/Qt/5.5/clang_64/ )
        set (QT_QTGUI_LIBRARY ~/build_qt/qtbase/lib/QtGui.framework)

        Note, that I have edited the second one to reflect the new build location, hopefully correctly? I have not yet changed the first line, as I am unclear where to point it for the new material. The value indicated above is the value before the build-from-source.

        So, the questions are: am I on the right path on my CMakeLists.txt change, and how should I complete it if so. Or - is there something else I should be doing?

        Thank you,
        Andy

        Below is the full CMakeLists.txt:

        cmake_minimum_required(VERSION 2.8.5 FATAL_ERROR)

        project(ia)

        add_definitions(-std=c++11)

        option(WANT_DEBUG ON)

        if (APPLE)
        add_definitions(-Wno-macro-redefined -Wno-inconsistent-missing-override -Wno-potentially-evaluated-expression)
        endif()

        set (CMAKE_PREFIX_PATH ~/Qt/5.5/clang_64/ )
        set (QT_QTGUI_LIBRARY ~/build_qt/qtbase/lib/QtGui.framework)

        Tell CMake to run moc when necessary.

        set(CMAKE_AUTOMOC ON)

        As moc files are generated in the binary dir, tell CMake to always look for includes there.

        set(CMAKE_INCLUDE_CURRENT_DIR ON)

        Widgets finds its own dependencies (QtGui and QtCore).

        find_package(Qt5Widgets REQUIRED)

        The Qt5Widgets_INCLUDES also includes the include directories for dependencies QtCore and QtGui.

        include_directories(${Qt5Widgets_INCLUDES})

        We need add -DQT_WIDGETS_LIB when using QtWidgets in Qt 5.

        add_definitions(${Qt5Widgets_DEFINITIONS})

        Executables fail to build with Qt 5 in the default configuration without -fPIE. We add that here.

        set(CMAKE_CXX_FLAGS "${Qt5Widgets_EXECUTABLE_COMPILE_FLAGS}")

        set(CPP cap_main.cpp cap.cpp workItem.cpp)
        set(MOC )
        set(UI cap.ui workItem.ui)
        set(RCC cap.qrc)

        qt5_wrap_cpp(MOC_GENERATED ${MOC})
        qt5_wrap_ui(UI_GENERATED ${UI})
        qt5_add_resources(RCC_RESOURCES ${RCC})

        source_group("Form Files" FILES ${UI})
        source_group("Resource Files" FILES ${RCC})
        source_group("Generated Files" FILES ${MOC_GENERATED} ${UI_GENERATED} ${RCC_GENERATED})

        include_directories($(CMAKE_CURRENT_BINARY_DIR) $(CMAKE_CURRENT_SOURCE_DIR))

        qt5_add_resources(RESOURCE_ADDED ${RCC})
        set_source_files_properties(${RESOURCE_ADDED} PROPERTIES GENERATED ON)

        add_executable(my-app MACOSX_BUNDLE ${MOC_GENERATED} ${UI_GENERATED} ${RCC_GENERATED} ${CPP} main.cpp ${RESOURCE_ADDED})
        target_link_libraries(my-app ${Qt5Widgets_LIBRARIES} )

        set up the unit test targets

        find_package(Qt5Test REQUIRED)

        if (APPLE)
        install(TARGETS my-app BUNDLE DESTINATION ~/bin/)
        else (APPLE)
        install(TARGETS my-app DESTINATION /usr/local/bin)
        endif()

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

          You are telling cmake to look at your original Qt install not the one you compiled

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

          1 Reply Last reply
          0
          • B Offline
            B Offline
            buckler
            wrote on last edited by
            #7

            I have now modified the first statement after groking the directory structure. The two lines that should point to the new are now as follows:

            set (CMAKE_PREFIX_PATH ~/build_qt/qtbase/)
            set (QT_QTGUI_LIBRARY ~/build_qt/qtbase/lib/QtGui.framework)

            Yet, the same result, i.e., the errors persist. Either, is there more to do in order to point to the one I built, and/or, is there any other way to specifically look at the OpenSSL library specifically?

            Andy

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

              Did you build Qt to use the Secure Transport backend ?

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

              B 1 Reply Last reply
              0
              • SGaistS SGaist

                Did you build Qt to use the Secure Transport backend ?

                B Offline
                B Offline
                buckler
                wrote on last edited by
                #9

                @SGaist I used the build instructions from your post;
                mkdir build_qt
                cd build_qt
                /path/to/Qt/sources/configure -nomake tests -nomake examples
                make -j9
                sudo make install

                (after downloading and extracting qt-everywhere-enterprise-src-5.5.1)

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

                  You should have added -securetransport to your configure line for that.

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

                  1 Reply Last reply
                  0
                  • B Offline
                    B Offline
                    buckler
                    wrote on last edited by
                    #11

                    In fact, even with this additional option I still was actually not completely using the manual build, and have been working, a result of the fact that the application is composed of multiple libraries each of which needs to link against the newly built Qt. So I finally got to that point, only to find out that my Qt build had in fact terminated early and I didn't even have the complete build! For some reason, it was stopping in qtquick (which I do not use), so I looked into how to avoid building qtquick and found out that there is a "-skip" option. This time, the build was taking a verrrrrrrrrrrrrry long time, and after 2+ hours I started to despair. The machine I am running on only has 2 cores, which I am sure contributes to the time. So I took a deeper look at what else I didn't need to try to reduce the build time, not knowing how long it might take. The configure that I finally came to was:
                    ../qt-everywhere-enterprise-src-5.5.1/configure -nomake tests
                    -nomake examples -securetransport -skip qtdeclarative
                    -skip qtquickcontrols -skip qtwebchannel -skip qt3D -skip qtsensors
                    -skip qtserialport -skip qtwayland -skip qtandroidextras -skip qtx11extras

                    Now, this is currently building. I'm about an hour into it as I write this post.

                    Leading me to my next question: am I doing something wrong? Particularly with how long it is taking, I am worried that even this may fail in the end, and with so much time for the steps I hope you don't mind my seeking your feedback on whether I am on the right track and just need to be patient, or any wisdom you may impart would be deeply appreciated.

                    Many thanks,
                    Andy

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

                      One thing than can speed things up: ensure you are doing only a release build.
                      Then, what modules do you need ? If only a few, you can start by building only qtbase and then use the qmake/make/make install combo for the other modules.

                      Don't forget to use -j3 when calling make, that will keep your two processors as occupied as possible.

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

                      1 Reply Last reply
                      1
                      • B Offline
                        B Offline
                        buckler
                        wrote on last edited by
                        #13

                        Success! You are the master (but you know that already :-)!)

                        Thank you. Really.

                        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