Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[sdformat6] Add new port 🤖 #8137

Merged
merged 2 commits into from
Sep 13, 2019
Merged

Conversation

traversaro
Copy link
Contributor

@traversaro traversaro commented Sep 11, 2019

Add new port for the sdformat library (http://sdformat.org/).

The sdformat library is commonly used with the Ignition Robotics libraries (#7781) and is a fundamental dependency of the Gazebo robotics simulator (#8014).

@traversaro
Copy link
Contributor Author

The Linux build is failing, but the "port build failure logs" are empty.

@traversaro
Copy link
Contributor Author

traversaro commented Sep 11, 2019

The problem in the Linux build is apparently that ruby is not present in the system:

CMake Error at scripts/cmake/vcpkg_find_acquire_program.cmake:282 (message):
  Could not find ruby.  Please install it via your package manager.
Call Stack (most recent call first):
  ports/sdformat6/portfile.cmake:12 (vcpkg_find_acquire_program)
  scripts/ports.cmake:85 (include)

Any idea on how to solve it?

@Rastaban
Copy link
Contributor

I will look into ruby missing on the CI machines.

@Rastaban
Copy link
Contributor

I am installing ruby-full on the CI machines and have rerun the vcpkg-Linux-PR test. I now see the following post build validation failure:

-- Performing post-build validation
There should be no bin\ directory in a static build, but /ci/myagent/_work/2/s/packages/sdformat6_x64-linux/bin is present.
There should be no debug\bin\ directory in a static build, but /ci/myagent/_work/2/s/packages/sdformat6_x64-linux/debug/bin is present.
If the creation of bin\ and/or debug\bin\ cannot be disabled, use this in the portfile to remove them

    if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
        file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin)
    endif()

There should be no empty directories in /ci/myagent/_work/2/s/packages/sdformat6_x64-linux
The following empty directories were found:

    /ci/myagent/_work/2/s/packages/sdformat6_x64-linux/debug/bin
    /ci/myagent/_work/2/s/packages/sdformat6_x64-linux/bin

If a directory should be populated but is not, this might indicate an error in the portfile.
If the directories are not needed and their creation cannot be disabled, use something like this in the portfile to remove them:

    file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/a/dir ${CURRENT_PACKAGES_DIR}/some/other/dir)


Found 2 error(s). Please correct the portfile:
    /ci/myagent/_work/2/s/ports/sdformat6/portfile.cmake
-- Performing post-build validation done

Add new port for the sdformat library (http://sdformat.org/).
@traversaro
Copy link
Contributor Author

@Rastaban thanks for installing ruby, i fixed the problem you reported in the latest commit.

@Rastaban
Copy link
Contributor

The uwp failures look like they are by design to me (they call desktop only functions like CreateFileA) so I consider the tests passing at this point.

@Rastaban Rastaban merged commit 51b20de into microsoft:master Sep 13, 2019
@traversaro traversaro deleted the addSdformat6 branch September 13, 2019 22:31
@traversaro
Copy link
Contributor Author

The uwp failures are indeed due to missing upstream support, but the arm64-windows build could be easily fixed by using this patch in vcpkg port: https://bitbucket.org/osrf/sdformat/pull-requests/565/avoid-hardcoding-machine-x64-flag-on-64/diff .

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants