robotology-legacy / codyco-superbuild

Software repository for FP7 project CoDyCo - Whole-body Compliant Dynamical Contacts in Cognitive Humanoids - http://www.codyco.eu
13 stars 17 forks source link

Xcode generator #12

Closed francesco-romano closed 10 years ago

francesco-romano commented 10 years ago

Now that ycm works perfectly on Xcode, what about codyco-superbuild? (I mean: it does not work, so because I don't know yet the superbuild infrastructure I was wondering if we have to do something in order to update ourself to the last revision of ycm)

traversaro commented 10 years ago

Which kind of errors are you getting? Perhaps we have to update the files used for boostrapping (the one that give a hash warning if not updated, as described in the YCM doc: http://robotology.github.io/ycm/gh-pages/master/manual/ycm-build-system-support.7.html#id3 ) .

francesco-romano commented 10 years ago
=== BUILD AGGREGATE TARGET sensorsInterfaces OF PROJECT codyco-superbuild WITH THE DEFAULT CONFIGURATION (Debug) ===

Check dependencies

PhaseScriptExecution CMake\ Rules build/codyco-superbuild.build/Debug/sensorsInterfaces.build/Script-CB5D78AE9C704251857B5147.sh
    cd /Users/makaveli/Documents/IIT/programs/codyco-superbuild
    /bin/sh -c /Users/makaveli/Documents/IIT/programs/codyco-superbuild/build/codyco-superbuild.build/Debug/sensorsInterfaces.build/Script-CB5D78AE9C704251857B5147.sh
make: *** No rule to make target `/Users/makaveli/Documents/IIT/programs/codyco-superbuild/build/external/sensorsInterfaces/CMakeFiles/YCMStamp/Debug/sensorsInterfaces-skip-update', needed by `/Users/makaveli/Documents/IIT/programs/codyco-superbuild/build/external/sensorsInterfaces/CMakeFiles/YCMStamp/Debug/sensorsInterfaces-configure'.  Stop.
Command /bin/sh failed with exit code 2

I had the same kind of problems on ycm before the last fix.

traversaro commented 10 years ago

@drdanz ? We get the same error also on travis.

drdanz commented 10 years ago

I managed to track down and probably fix yet another bug in cmake ExternalProject, but unfortunately that's not the only bug. Now YARP fails for some reason... Can you please try to add a set(YCM_TAG xcode_fixes) and tell me if the situation improves?

traversaro commented 10 years ago

Done in https://github.com/robotology/codyco-superbuild/commit/c0255b692c84406a23ff5b88a83a8157328525f2 . Is that the right place where to put the set(YCM_TAG xcode_fixes) ?

traversaro commented 10 years ago

There are problems in boostrapping YCM from another tag, probably the hashes are changed? I guess tha cleanest solution is to install ycm in travis.

traversaro commented 10 years ago

Or just wait @francesco-romano to test.

francesco-romano commented 10 years ago

Two issues now:

CMake Error in CMakeLists.txt:
  Imported target "iDynTree::idyntree" includes non-existent path

    "/Users/makaveli/Documents/IIT/programs/local/include /usr/local/Cellar/tinyxml/2.6.2/include /Users/makaveli/Documents/IIT/programs/local/include"

  in its INTERFACE_INCLUDE_DIRECTORIES.  Possible reasons include:

  * The path was deleted, renamed, or moved to another location.

  * An install or uninstall procedure did not complete successfully.

  * The installation package was faulty and references files it does not
  provide.

The two paths listed in the error message of course exist.

traversaro commented 10 years ago

The problem is that actually is taking those 3 paths as a single unique path. This should be an easy issue, some quotes missing in some CMakeLists.txt. The same thing happens using make ?

francesco-romano commented 10 years ago

yes. Btw: https://github.com/robotology/codyco-superbuild/issues/4

traversaro commented 10 years ago

mhhh so have you unistalled kdl_format_io ?

francesco-romano commented 10 years ago

Sorry. I added the link to the other issue later and I forgot to add the new results. So: I removed kdl_format_io. This solves the configure problem (but, I think this can still be considered a bug).

Then:

Performing configure step for 'codyco-modules'
cd /Users/makaveli/Documents/IIT/programs/codyco-superbuild/build/main/codyco-modules && /usr/local/Cellar/cmake/3.0.0/bin/cmake --no-warn-unused-cli -DCMAKE_PREFIX_PATH:PATH=/Users/makaveli/Documents/IIT/programs/codyco-superbuild/build/install -DCMAKE_INSTALL_PREFIX:PATH=/Users/makaveli/Documents/IIT/programs/codyco-superbuild/build/install -DCMAKE_BUILD_TYPE:STRING= -DCMAKE_SKIP_RPATH:PATH=\"NO\" -DBUILD_SHARED_LIBS:BOOL= -C/Users/makaveli/Documents/IIT/programs/codyco-superbuild/build/main/codyco-modules/CMakeFiles/YCMTmp/codyco-modules-cache.cmake -GXcode /Users/makaveli/Documents/IIT/programs/codyco-superbuild/main/codyco-modules
Not searching for unused variables given on the command line.
loading initial cache file /Users/makaveli/Documents/IIT/programs/codyco-superbuild/build/main/codyco-modules/CMakeFiles/YCMTmp/codyco-modules-cache.cmake
CMake Error: The source directory "/Users/makaveli/Documents/IIT/programs/codyco-superbuild/main/codyco-modules" does not appear to contain CMakeLists.txt.
Specify --help for usage, or press the help button on the CMake GUI.
make: *** [/Users/makaveli/Documents/IIT/programs/codyco-superbuild/build/main/codyco-modules/CMakeFiles/YCMStamp/Debug/codyco-modules-configure] Error 1
Command /bin/sh failed with exit code 2

Consider that I had some network problems. So I tried to issue an update but

xcodebuild -target codyco-modules-update
=== BUILD AGGREGATE TARGET ZERO_CHECK OF PROJECT codyco-superbuild WITH THE DEFAULT CONFIGURATION (Debug) ===

Check dependencies

PhaseScriptExecution CMake\ Rules build/codyco-superbuild.build/Debug/ZERO_CHECK.build/Script-B84399C08F614C11AE2F6A73.sh
    cd /Users/makaveli/Documents/IIT/programs/codyco-superbuild
    /bin/sh -c /Users/makaveli/Documents/IIT/programs/codyco-superbuild/build/codyco-superbuild.build/Debug/ZERO_CHECK.build/Script-B84399C08F614C11AE2F6A73.sh
echo ""

make -f /Users/makaveli/Documents/IIT/programs/codyco-superbuild/build/CMakeScripts/ReRunCMake.make
make[1]: `/Users/makaveli/Documents/IIT/programs/codyco-superbuild/build/CMakeFiles/cmake.check_cache' is up to date.

=== BUILD AGGREGATE TARGET codyco-modules-update OF PROJECT codyco-superbuild WITH THE DEFAULT CONFIGURATION (Debug) ===

Check dependencies

Write auxiliary files
/bin/mkdir -p /Users/makaveli/Documents/IIT/programs/codyco-superbuild/build/codyco-superbuild.build/Debug/codyco-modules-update.build
write-file /Users/makaveli/Documents/IIT/programs/codyco-superbuild/build/codyco-superbuild.build/Debug/codyco-modules-update.build/Script-45C8210ED4CB4CE6BD3A1571.sh
chmod 0755 /Users/makaveli/Documents/IIT/programs/codyco-superbuild/build/codyco-superbuild.build/Debug/codyco-modules-update.build/Script-45C8210ED4CB4CE6BD3A1571.sh

PhaseScriptExecution CMake\ Rules build/codyco-superbuild.build/Debug/codyco-modules-update.build/Script-45C8210ED4CB4CE6BD3A1571.sh
    cd /Users/makaveli/Documents/IIT/programs/codyco-superbuild
    /bin/sh -c /Users/makaveli/Documents/IIT/programs/codyco-superbuild/build/codyco-superbuild.build/Debug/codyco-modules-update.build/Script-45C8210ED4CB4CE6BD3A1571.sh
echo "Performing update step for 'codyco-modules'"
Performing update step for 'codyco-modules'
cd /Users/makaveli/Documents/IIT/programs/codyco-superbuild/main/codyco-modules && /usr/local/Cellar/cmake/3.0.0/bin/cmake -P /Users/makaveli/Documents/IIT/programs/codyco-superbuild/build/main/codyco-modules/CMakeFiles/YCMTmp/codyco-modules-gitupdate.cmake
fatal: ambiguous argument 'HEAD': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
CMake Error at /Users/makaveli/Documents/IIT/programs/codyco-superbuild/build/main/codyco-modules/CMakeFiles/YCMTmp/codyco-modules-gitupdate.cmake:15 (message):
  Failed to get the hash for HEAD

make: *** [/Users/makaveli/Documents/IIT/programs/codyco-superbuild/build/main/codyco-modules/CMakeFiles/YCMStamp/Debug/codyco-modules-update] Error 1
Command /bin/sh failed with exit code 2
traversaro commented 10 years ago

Yes, the kdl-format-io thing is still a bug, but low priority for now. For you error I guess is something related to all the renaming that we do lately, can you please update codyco superbuild (git pull) and then try to do a make update-all

francesco-romano commented 10 years ago

@traversaro thanks for the support. I managed to compile the superbuild.

drdanz commented 10 years ago

@francesco-romano Did you use the fix I pushed in the branch? Did you manage to bootstrap YCM or did you install it?

francesco-romano commented 10 years ago

@drdanz I used your branch but I wasn't able to bootstrap it. I checked out the branch in my ycm repository, build it and set the YCM_DIR to point to it. I completely forgot about this. I should reopen the issue.

drdanz commented 10 years ago

Ok, I pushed the change to master now... can you please try again to bootstrap? Thanks!

francesco-romano commented 10 years ago

It bootstraps, but

=== BUILD AGGREGATE TARGET kdl_format_io OF PROJECT codyco-superbuild WITH THE DEFAULT CONFIGURATION (Debug) ===

Check dependencies

Write auxiliary files
/bin/mkdir -p /Users/makaveli/Documents/IIT/programs/codyco-superbuild/build/codyco-superbuild.build/Debug/kdl_format_io.build
write-file /Users/makaveli/Documents/IIT/programs/codyco-superbuild/build/codyco-superbuild.build/Debug/kdl_format_io.build/Script-4D513309B4A44201B510318A.sh
chmod 0755 /Users/makaveli/Documents/IIT/programs/codyco-superbuild/build/codyco-superbuild.build/Debug/kdl_format_io.build/Script-4D513309B4A44201B510318A.sh

PhaseScriptExecution CMake\ Rules build/codyco-superbuild.build/Debug/kdl_format_io.build/Script-4D513309B4A44201B510318A.sh
    cd /Users/makaveli/Documents/IIT/programs/codyco-superbuild
    /bin/sh -c /Users/makaveli/Documents/IIT/programs/codyco-superbuild/build/codyco-superbuild.build/Debug/kdl_format_io.build/Script-4D513309B4A44201B510318A.sh
make: *** No rule to make target `/Users/makaveli/Documents/IIT/programs/codyco-superbuild/build/libraries/kdl_format_io/CMakeFiles/YCMStamp/Debug/kdl_format_io-skip-update', needed by `/Users/makaveli/Documents/IIT/programs/codyco-superbuild/build/libraries/kdl_format_io/CMakeFiles/YCMStamp/Debug/kdl_format_io-configure'.  Stop.
Command /bin/sh failed with exit code 2
francesco-romano commented 10 years ago

It seems to work now. I removed completely the ycm and codyco-superbuild folder on my computer, cloned only codyco-superbuild and I successfully built codyco-superbuild. This time I think we can close this issue.