Details

      Description

      This compile error made surface with 10.0.15, no issues are present for 10.0.14 with cmake.x86_64 2.8.12.2-4.el6:

      Build
      -- Configuring OQGraph
      CMake Error at /usr/lib64/boost/Boost.cmake:536 (message):
        The imported target "boost_date_time-static" references the file
           "/usr/lib64/lib64/libboost_date_time.a"
        but this file does not exist.  Possible reasons include:
        * The file was deleted, renamed, or moved to another location.
        * An install or uninstall procedure did not complete successfully.
        * The installation package was faulty and contained
           "/usr/lib64/boost/Boost.cmake"
        but not all the files it references.
      
      Call Stack (most recent call first):
        /usr/lib64/boost/BoostConfig.cmake:28 (include)
        /usr/share/cmake/Modules/FindBoost.cmake:177 (find_package)
        storage/oqgraph/CMakeLists.txt:4 (FIND_PACKAGE)
      

      I believe _IMPORT_PREFIX is defined to "/usr/lib64" and concatenated with another "/lib64" string, which generates the "/usr/lib64/lib64" error listed above.
      Can you please provide a temporary patch that I could apply? Thanks.

        Gliffy Diagrams

          Attachments

            Activity

            Hide
            elenst Elena Stepanova added a comment -

            Please provide all your cmake options.

            Show
            elenst Elena Stepanova added a comment - Please provide all your cmake options.
            Hide
            elenst Elena Stepanova added a comment -

            Are you sure that you
            a) haven't upgraded the system recently (e.g. cmake version)?
            b) really can compile 10.0.14 from scratch, after you remove CMakeCache.txt file?

            If it's a "Yes" for b), could you please remove CMakeCache.txt for both, re-run cmake (which will pass for 10.0.14 and fail for 1.0.15), and paste output of cmake . -LA for both?

            Thanks.

            Show
            elenst Elena Stepanova added a comment - Are you sure that you a) haven't upgraded the system recently (e.g. cmake version)? b) really can compile 10.0.14 from scratch , after you remove CMakeCache.txt file? If it's a "Yes" for b), could you please remove CMakeCache.txt for both, re-run cmake (which will pass for 10.0.14 and fail for 1.0.15), and paste output of cmake . -LA for both? Thanks.
            Hide
            Floren Floren Munteanu added a comment - - edited

            Elena,

            As previously posted, yes I can compile 10.0.14 with same identical setup. Why do I have to compile it "from scratch"? I compile it with a standard rpmbuild, you don't compile neither your packages "from scratch" but rather use the UseRPMTools CMake module.

            The issue is simple, there is a double concatenation for "/lib64". Can you please let me know in what file this occurs? I will create the patch myself.

            Show
            Floren Floren Munteanu added a comment - - edited Elena, As previously posted, yes I can compile 10.0.14 with same identical setup. Why do I have to compile it "from scratch"? I compile it with a standard rpmbuild, you don't compile neither your packages "from scratch" but rather use the UseRPMTools CMake module. The issue is simple, there is a double concatenation for "/lib64". Can you please let me know in what file this occurs? I will create the patch myself.
            Hide
            elenst Elena Stepanova added a comment -

            Floren Munteanu,

            "From scatch" in this context was just a short word for "after you remove CMakeCache.txt". And yes, we do actually build our packages on a clean source dir without a previously saved CMakeCache.
            And no, you don't have to compile any particular way, it was requested as an experiment in order to make the answer more obvious and spare further argument. Apparently it was a wishful thinking.
            But never mind, we can do it your way.

            The issue is simple, there is a double concatenation for "/lib64". Can you please let me know in what file this occurs? I will create the patch myself.

            It occurs in /usr/lib64/boost/Boost-relwithdebinfo.cmake. Please feel free to submit a patch to boost.
            See more details here: http://stackoverflow.com/questions/21214045/got-usr-lib64-lib64-while-using-cmake-with-boost

            And yes, it fails exactly the same way on 10.0.14. My guess is that you upgraded cmake recently (maybe unknowingly, as a part of system upgrade). Without the requested output of cmake . -LA I'll refrain from guessing why it still works for you on 10.0.14.

            Thanks for the report, we might need to consider prohibiting certain combinations of cmake/boost or look into other workarounds.

            Show
            elenst Elena Stepanova added a comment - Floren Munteanu , "From scatch" in this context was just a short word for "after you remove CMakeCache.txt". And yes, we do actually build our packages on a clean source dir without a previously saved CMakeCache. And no, you don't have to compile any particular way, it was requested as an experiment in order to make the answer more obvious and spare further argument. Apparently it was a wishful thinking. But never mind, we can do it your way. The issue is simple, there is a double concatenation for "/lib64". Can you please let me know in what file this occurs? I will create the patch myself. It occurs in /usr/lib64/boost/Boost-relwithdebinfo.cmake. Please feel free to submit a patch to boost. See more details here: http://stackoverflow.com/questions/21214045/got-usr-lib64-lib64-while-using-cmake-with-boost And yes, it fails exactly the same way on 10.0.14. My guess is that you upgraded cmake recently (maybe unknowingly, as a part of system upgrade). Without the requested output of cmake . -LA I'll refrain from guessing why it still works for you on 10.0.14. Thanks for the report, we might need to consider prohibiting certain combinations of cmake/boost or look into other workarounds.
            Hide
            elenst Elena Stepanova added a comment - - edited

            Sergei Golubchik,

            Summary of the above:

            Apparently CentOS 6.x recently upgraded cmake from 2.6.x to 2.8.12. A lovely mix of it and boost 1.41 causes the error quoted in the description.

            The problem is described here:
            http://stackoverflow.com/questions/9948375/cmake-find-package-succeeds-but-returns-wrong-path
            http://stackoverflow.com/questions/21214045/got-usr-lib64-lib64-while-using-cmake-with-boost

            RHEL might also be affected.

            I don't know if it's possible to get the cmake option mentioned in the first link work, if so, it should probably be done. Otherwise we might have to make our cmake config more picky about versions of cmake and boost.

            Show
            elenst Elena Stepanova added a comment - - edited Sergei Golubchik , Summary of the above: Apparently CentOS 6.x recently upgraded cmake from 2.6.x to 2.8.12. A lovely mix of it and boost 1.41 causes the error quoted in the description. The problem is described here: http://stackoverflow.com/questions/9948375/cmake-find-package-succeeds-but-returns-wrong-path http://stackoverflow.com/questions/21214045/got-usr-lib64-lib64-while-using-cmake-with-boost RHEL might also be affected. I don't know if it's possible to get the cmake option mentioned in the first link work, if so, it should probably be done. Otherwise we might have to make our cmake config more picky about versions of cmake and boost.
            Hide
            Floren Floren Munteanu added a comment -

            Elena,

            You are correct, I just compiled yesterday MariaDB 10.0.14 with cmake 2.8.12 and boost 1.41, it fails at same place. My apologies, I was able to compile successfully 10.0.14 prior RHEL 6.6 upgrade. Do you know if the issue still occurs with boost 1.53+? I will create a more updated boost rpm, instead of fiddling with patches.

            Show
            Floren Floren Munteanu added a comment - Elena, You are correct, I just compiled yesterday MariaDB 10.0.14 with cmake 2.8.12 and boost 1.41, it fails at same place. My apologies, I was able to compile successfully 10.0.14 prior RHEL 6.6 upgrade. Do you know if the issue still occurs with boost 1.53+? I will create a more updated boost rpm, instead of fiddling with patches.
            Hide
            elenst Elena Stepanova added a comment - - edited

            Floren Munteanu,

            Do you know if the issue still occurs with boost 1.53+

            I can't tell for sure. I know that our build machines use cmake 2.8.12 and boost 1.49 and build successfully, but it might be because we use a source build of boost. As I understand, the erroneous files come not from boost repo, but from RHEL packages of boost, so maybe if you create RPMs yourself, you won't have the problem at all.
            Sergei Golubchik might know more details and correct me if I'm wrong.

            Upd: also found this https://bugzilla.redhat.com/show_bug.cgi?id=849791

            Show
            elenst Elena Stepanova added a comment - - edited Floren Munteanu , Do you know if the issue still occurs with boost 1.53+ I can't tell for sure. I know that our build machines use cmake 2.8.12 and boost 1.49 and build successfully, but it might be because we use a source build of boost. As I understand, the erroneous files come not from boost repo, but from RHEL packages of boost, so maybe if you create RPMs yourself, you won't have the problem at all. Sergei Golubchik might know more details and correct me if I'm wrong. Upd: also found this https://bugzilla.redhat.com/show_bug.cgi?id=849791
            Hide
            Floren Floren Munteanu added a comment - - edited

            Elena,

            Can you compile fine 10.0.15 on RHEL7 with base rpms? If you do, then boost 1.53+ should work. I'll build boost 1.55 rpm for RHEL 6.6 and report back to see if I get same error.

            Show
            Floren Floren Munteanu added a comment - - edited Elena, Can you compile fine 10.0.15 on RHEL7 with base rpms? If you do, then boost 1.53+ should work. I'll build boost 1.55 rpm for RHEL 6.6 and report back to see if I get same error.
            Hide
            elenst Elena Stepanova added a comment -

            We build on CentOS 7 with cmake 2.8.11 and boost 1.53, yes. However, I'm not sure whether it's boost from RHEL rpms or a from a source build (can't reach the machine to check).

            Show
            elenst Elena Stepanova added a comment - We build on CentOS 7 with cmake 2.8.11 and boost 1.53, yes. However, I'm not sure whether it's boost from RHEL rpms or a from a source build (can't reach the machine to check).

              People

              • Assignee:
                serg Sergei Golubchik
                Reporter:
                Floren Floren Munteanu
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0 minutes
                  0m
                  Logged:
                  Time Spent - 1 hour
                  1h