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

(PA-5692) Build yaml-cpp and boost on Solaris 11 SPARC #710

Merged
merged 3 commits into from
Aug 3, 2023

Conversation

joshcooper
Copy link
Contributor

@joshcooper joshcooper commented Aug 2, 2023

I couldn't find a way to to make solaris-11-sparc platform definition take into
account the project, because of the way vanagon creates the Platform and then
later the Project. So create a new solaris-113-sparc platform definition for
native Solaris compiles.

Since the name of the file contains 113, vanagon assumes that's the
`os_version`. Setting the os_version from within the platform definition doesn't
seem to work, so I had to specialy case some logic to check for the
platform.name.

Although we're native compiling on SPARC, we have to explicitly set
`--with-baseruby=no` so that ruby's configure script does not attempt to use the
ancient ruby already installed. Instead build miniruby and have the build use
that. We should probably be setting `--with-baseruby=no` always, except in cases
where we're cross compiling to avoid this same problem on other platforms.

Similarly, ruby's configure script will attempt to enable `dtrace` because the
executable is present. Explicitly disable it.
The ruby-augeas gem's native extensions didn't work, because we were overriding
rbconfig when native compiling. It is only necessary to do that when cross
compiling, because the host ruby running on Solaris Intel needs to override CC,
etc configuration when installing gems with native extensions.

The ruby-shadow gem did work on SPARC, but it was relying on the rbconfig
overrides to find gcc. Instead add pl-build-tools to the PATH and only override
rbconfig when cross compiling.
boost: no changes are required to build, so add the component.

yaml-cpp: default to /usr/bin/gmake except for Solaris 10 and use /usr/bin/cmake
instead of pl-cmake.
@joshcooper joshcooper marked this pull request as ready for review August 2, 2023 23:04
@joshcooper joshcooper requested review from a team as code owners August 2, 2023 23:04
@joshcooper
Copy link
Contributor Author

This only affects solaris 113 for agent-runtime-main.

$ bx rake vanagon:component_diff -- -P agent-runtime-main -p all --from HEAD^ --to HEAD  
...
Here is what your code changes would affect:

Project agent-runtime-main

Platform name: solaris-113-sparc
    Component 'boost' was newly added, not showing diff for it

    Component 'yaml-cpp' was newly added, not showing diff for it

agent-runtime-7.x is unchanged when excluding solaris-113-sparc.

@cthorn42 cthorn42 merged commit abb24cd into puppetlabs:master Aug 3, 2023
2 checks passed
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.

2 participants