Uploaded image for project: 'GMAT'
  1. GMAT
  2. GMT-5634

Update configure script and CMake for additional libraries

    Details

    • Type: Bug
    • Status: In Progress (View Workflow)
    • Priority: P1
    • Resolution: Unresolved
    • Affects Version/s: R2016a, R2017a
    • Fix Version/s: R2018A
    • Component/s: Build System
    • Labels:
      None
    • Environment:

      Windows Ubuntu OSX

      Description

      configure.sh and configure.bat need to be updated to build Python and xerces (and most likely Boost) for all platforms.

      Cmake files should be updated for these as well.

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

              Hide
              shughes Steven Hughes added a comment - - edited
              • Xerces dependency
              • Python dependency
              • Boost dependency
              • WxWidgets not building on mac
              • SPICE is building debug library
              • Wx for El Capitan (Yosemite?) have to change some line of code
              • Command line svn tools dependency (?installer or cmake)

              We need to update the configure scripts AND the Cmake installer to handle the new dependencies.

              Show
              shughes Steven Hughes added a comment - - edited Xerces dependency Python dependency Boost dependency WxWidgets not building on mac SPICE is building debug library Wx for El Capitan (Yosemite?) have to change some line of code Command line svn tools dependency (?installer or cmake) We need to update the configure scripts AND the Cmake installer to handle the new dependencies.
              Hide
              gmat_wcs Wendy Shoan added a comment -

              An additional quirk on Mac. After configuring and generating, then running 'make' and 'make install', Terminal is messed up a bit. It does not display user input (though the commands appear to be executed). This only appears to happen after 'make install'.

              Show
              gmat_wcs Wendy Shoan added a comment - An additional quirk on Mac. After configuring and generating, then running 'make' and 'make install', Terminal is messed up a bit. It does not display user input (though the commands appear to be executed). This only appears to happen after 'make install'.
              Hide
              gmat_wcs Wendy Shoan added a comment - - edited

              I also occasionally get a message like this when running 'make install' during the MATLAB part (related to above-described issue?):

              This script builds the GMAT interface prototype files and places them
              in the appropriate GMAT folder for Matlab use.
              Matlab prototype files will be placed in:
              <location>/bin/../matlab/libCInterface
              Warning: Library libCInterface could not be properly loaded. Error Index exceeds matrix dimensions.

              Error in loadlibrary>getLoadlibraryCompilerConfiguration (line 527)

              Error in loadlibrary (line 263)
              Error in prepareInterface_cmake (line 53)
              [notfound, warnings] = loadlibrary(libfile, hfile, ...

              > In prepareInterface_cmake (line 57)
              Warning: File 'interfacewrapper.m' not found.

              Show
              gmat_wcs Wendy Shoan added a comment - - edited I also occasionally get a message like this when running 'make install' during the MATLAB part (related to above-described issue?): This script builds the GMAT interface prototype files and places them in the appropriate GMAT folder for Matlab use. Matlab prototype files will be placed in: <location>/bin/../matlab/libCInterface Warning: Library libCInterface could not be properly loaded. Error Index exceeds matrix dimensions. Error in loadlibrary>getLoadlibraryCompilerConfiguration (line 527) Error in loadlibrary (line 263) Error in prepareInterface_cmake (line 53) [notfound, warnings] = loadlibrary(libfile, hfile, ... > In prepareInterface_cmake (line 57) Warning: File 'interfacewrapper.m' not found.
              Hide
              ravidavi Ravi Mathur added a comment -

              Where are the Boost dependencies? I've searched all of src/ and plugins/ and can't find any. There are three places in UnitTests/TestDirectoryReader but they're all commented out.

              Show
              ravidavi Ravi Mathur added a comment - Where are the Boost dependencies? I've searched all of src/ and plugins/ and can't find any. There are three places in UnitTests/TestDirectoryReader but they're all commented out.
              Hide
              ravidavi Ravi Mathur added a comment -

              Wendy, I had that same "Index exceeds matrix dimensions" error. It happened after I upgraded to XCode 7; there's a known incompatibility with Matlab R2015a/b. To check if that's the problem, open Matlab and run "mex -setup". If it can't find XCode, then you need to apply this patch from MathWorks.

              I first realized the problem was unrelated to GMAT because I couldn't even run Matlab's own LoadLibrary example.

              Show
              ravidavi Ravi Mathur added a comment - Wendy, I had that same "Index exceeds matrix dimensions" error. It happened after I upgraded to XCode 7; there's a known incompatibility with Matlab R2015a/b. To check if that's the problem, open Matlab and run " mex -setup ". If it can't find XCode, then you need to apply this patch from MathWorks . I first realized the problem was unrelated to GMAT because I couldn't even run Matlab's own LoadLibrary example .
              Hide
              gmat_wcs Wendy Shoan added a comment -

              Strangely enough, I don't think I've gotten the 'matrix dimensions' error in the last couple of weeks. ?

              Show
              gmat_wcs Wendy Shoan added a comment - Strangely enough, I don't think I've gotten the 'matrix dimensions' error in the last couple of weeks. ?
              Hide
              gmat_wcs Wendy Shoan added a comment -

              I do still see the Terminal messed up after running 'make install'. The terminal window does not display user input (though it does perform requested actions).

              Show
              gmat_wcs Wendy Shoan added a comment - I do still see the Terminal messed up after running 'make install'. The terminal window does not display user input (though it does perform requested actions).
              Hide
              ravidavi Ravi Mathur added a comment -

              Wendy I'd like to see if the Matlab run during make install is messing up your Terminal window.

              Disable the CInterface Plugin, re-configure/generate, then run make install. It should just run the install step since everything is already compiled. If you disable CInterface Plugin then it won't launch Matlab.

              Show
              ravidavi Ravi Mathur added a comment - Wendy I'd like to see if the Matlab run during make install is messing up your Terminal window. Disable the CInterface Plugin, re-configure/generate, then run make install. It should just run the install step since everything is already compiled. If you disable CInterface Plugin then it won't launch Matlab.
              Hide
              ravidavi Ravi Mathur added a comment -

              Updates have been made to CMake and the dependency configuration scripts:

              • Xerces has been added to the configure scripts and CMake.
              • Python has been added to CMake. It's assumed that the user will install; CMake provides a URL if Python is not found.
              • The wxWidgets patch for 10.10+ has been added to the configure.sh script for Mac. It is only applied if wx version is 3.0.2, so it won't mess up future builds.

              Boost is easily added (FIND_PACKAGE(Boost)), but I need to know which Boost libraries are being used, and which git branch the work is being done on.

              Show
              ravidavi Ravi Mathur added a comment - Updates have been made to CMake and the dependency configuration scripts: Xerces has been added to the configure scripts and CMake. Python has been added to CMake. It's assumed that the user will install; CMake provides a URL if Python is not found. The wxWidgets patch for 10.10+ has been added to the configure.sh script for Mac. It is only applied if wx version is 3.0.2, so it won't mess up future builds. Boost is easily added (FIND_PACKAGE(Boost)), but I need to know which Boost libraries are being used, and which git branch the work is being done on.
              Hide
              gmat_wcs Wendy Shoan added a comment -

              Ravi,
              I did build without the CInterface and ran 'make install' several times. Terminal seems to be OK so that does point to MATLAB as the cause of the issue, I think.
              Wendy

              Show
              gmat_wcs Wendy Shoan added a comment - Ravi, I did build without the CInterface and ran 'make install' several times. Terminal seems to be OK so that does point to MATLAB as the cause of the issue, I think. Wendy
              Hide
              gmat_wcs Wendy Shoan added a comment -

              The work using Boost is actually currently being done in a repository separate from our usual GMAT ones.

              Show
              gmat_wcs Wendy Shoan added a comment - The work using Boost is actually currently being done in a repository separate from our usual GMAT ones.
              Hide
              ravidavi Ravi Mathur added a comment -

              Note: Wendy's Mac issues with Matlab not building thunk files and messing up the terminal were fixed by applying the Matlab/XCode7 patch detailed above. I've also documented that on the CMake Build System wiki.

              Show
              ravidavi Ravi Mathur added a comment - Note: Wendy's Mac issues with Matlab not building thunk files and messing up the terminal were fixed by applying the Matlab/XCode7 patch detailed above. I've also documented that on the CMake Build System wiki.
              Hide
              gmat_wcs Wendy Shoan added a comment - - edited

              NOTE - MATLAB (now R2016a) is still messing up my Terminal after 'make install'. Even after removal of X11/XQuartz.

              Show
              gmat_wcs Wendy Shoan added a comment - - edited NOTE - MATLAB (now R2016a) is still messing up my Terminal after 'make install'. Even after removal of X11/XQuartz.
              Hide
              gmat_wcs Wendy Shoan added a comment -

              On Mac, the 'make install' does not consistently create and move the thunk files. It does appear to bring up MATLAB OK but more than half the time, those files are not created/moved. From what I've seen so far, it seems that when it takes a long time for MATLAB to come up, it fails to complete this part. If MATLAB comes up quickly, things seem to work OK.

              Show
              gmat_wcs Wendy Shoan added a comment - On Mac, the 'make install' does not consistently create and move the thunk files. It does appear to bring up MATLAB OK but more than half the time, those files are not created/moved. From what I've seen so far, it seems that when it takes a long time for MATLAB to come up, it fails to complete this part. If MATLAB comes up quickly, things seem to work OK.
              Hide
              ravidavi Ravi Mathur added a comment - - edited

              I put a 30-second timeout for the matlab command. At the time I figured there's no way Matlab could take more than 30s to startup, but it seems I didn't consider network license delays. I can up it to whatever you think is appropriate ... let me know if 60s would be ok.

              You can try different values in plugins/CInterfacePlugin/src/CMakeLists.txt, lines 99 & 107 (release & debug install settings). The number (in seconds) after the "TIMEOUT" field. Currently it's 30, try different values to see what works in all cases.

              Show
              ravidavi Ravi Mathur added a comment - - edited I put a 30-second timeout for the matlab command. At the time I figured there's no way Matlab could take more than 30s to startup, but it seems I didn't consider network license delays. I can up it to whatever you think is appropriate ... let me know if 60s would be ok. You can try different values in plugins/CInterfacePlugin/src/CMakeLists.txt, lines 99 & 107 (release & debug install settings). The number (in seconds) after the "TIMEOUT" field. Currently it's 30, try different values to see what works in all cases.
              Hide
              gmat_wcs Wendy Shoan added a comment - - edited

              I just cloned a new repo and configure.sh fails on building wxWidgets (on OS X at least).

              Show
              gmat_wcs Wendy Shoan added a comment - - edited I just cloned a new repo and configure.sh fails on building wxWidgets (on OS X at least).

                People

                • Votes:
                  0 Vote for this issue
                  Watchers:
                  3 Start watching this issue

                  Dates

                  • Created:
                    Updated: