Qpid
  1. Qpid
  2. QPID-2728

Windows icon/version additions broke nightly builds

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 0.7
    • Fix Version/s: 0.7
    • Component/s: C++ Broker, C++ Client
    • Labels:
      None
    • Environment:

      Windows, Visual Studio

      Description

      Recent additions to include version and icon resources in the Windows builds result in build errors. I don't know why I'm getting different errors on different builds, but here's what I see:

      64-bit build:
      One of these for each library:
      1>.\windows\resources\qpidtypes-resource.rc(20) : fatal error RC1015: cannot open include file 'version-resource.h'.

      See: http://www.riverace.com/CDash-1.4.2/viewBuildError.php?buildid=735 for all messages

      32-bit build (configure error):
      CMake Error in src/CMakeLists.txt:
      Cannot find source file "qmf-resource.rc". Tried extensions .c .C .c++ .cc
      .cpp .cxx .m .M .mm .h .hh .h++ .hm .hpp .hxx .in .txx

      1. qpid-2728-1.patch
        0.9 kB
        Chuck Rolke

        Activity

        Hide
        Steve Huston added a comment -

        The patch was checked in but the build was still broken. Now it's fixed. Please test things before committing them.

        Show
        Steve Huston added a comment - The patch was checked in but the build was still broken. Now it's fixed. Please test things before committing them.
        Hide
        Steve Huston added a comment -

        No, I haven't tried it - I rely on you to test it first. Builds out-of-source are the norm.

        Also, I was looking through the code that was checked in and I still see lots of hard-coded values for versions that shouldn't be there.

        Show
        Steve Huston added a comment - No, I haven't tried it - I rely on you to test it first. Builds out-of-source are the norm. Also, I was looking through the code that was checked in and I still see lots of hard-coded values for versions that shouldn't be there.
        Hide
        Chuck Rolke added a comment -

        Have you been able to try this patch? I'll bug Ted to check it in and your builds may be healed.

        Show
        Chuck Rolke added a comment - Have you been able to try this patch? I'll bug Ted to check it in and your builds may be healed.
        Hide
        Chuck Rolke added a comment -

        Rooted at qpid/cpp/src, this patch locates the template file using a full path name and it adds a common resource include directory for windows builds.

        Show
        Chuck Rolke added a comment - Rooted at qpid/cpp/src, this patch locates the template file using a full path name and it adds a common resource include directory for windows builds.
        Hide
        Chuck Rolke added a comment -

        I've reproduced the issue. The problem arises when cmake is run is a different directory than 'qpid/cpp'. The derived objects are not in qpid/cpp/src/windows/resources. These are correctly added to the project but when they compile the referenced version-resource.h is over in another directory. Working a fix to cmakelists now...

        Show
        Chuck Rolke added a comment - I've reproduced the issue. The problem arises when cmake is run is a different directory than 'qpid/cpp'. The derived objects are not in qpid/cpp/src/windows/resources. These are correctly added to the project but when they compile the referenced version-resource.h is over in another directory. Working a fix to cmakelists now...
        Hide
        Chuck Rolke added a comment -

        Is this from a fresh check-out?

        On the 32-bit builds I get good results building on a 32-bit host or a 64-bit host.
        What's in directory cpp/src/windows/resources ?

        All of the errors in the linked attachment are for "Release x64" builds. I've never gotten an x64 to compile at all. How do you do it? If I do a "cmake -i" then my qpid-cpp.sln does not have an easy path for selection platform x64. I can go into Configuration Manager and ADD x64 (taking settings from Win32) but that has never compiled for me. What's your procedure for getting an x64 to build?

        For 32-bit builds adding the version resource was as easy as adding the .RC file to the project sources and cmake did its magic. For 64-bit builds cmake may be doing something one-off or the whole idea of just adding an RC file is wrong.

        Show
        Chuck Rolke added a comment - Is this from a fresh check-out? On the 32-bit builds I get good results building on a 32-bit host or a 64-bit host. What's in directory cpp/src/windows/resources ? All of the errors in the linked attachment are for "Release x64" builds. I've never gotten an x64 to compile at all. How do you do it? If I do a "cmake -i" then my qpid-cpp.sln does not have an easy path for selection platform x64. I can go into Configuration Manager and ADD x64 (taking settings from Win32) but that has never compiled for me. What's your procedure for getting an x64 to build? For 32-bit builds adding the version resource was as easy as adding the .RC file to the project sources and cmake did its magic. For 64-bit builds cmake may be doing something one-off or the whole idea of just adding an RC file is wrong.

          People

          • Assignee:
            Ted Ross
            Reporter:
            Steve Huston
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development