-
Notifications
You must be signed in to change notification settings - Fork 88
Support required to build puppet-runtime outside of puppet infrastructure. #784
Comments
@maureen-lawless you might give #765 a try to see if that gets you closer. We welcome pull requests to make it easier to build the runtime outside of our environment. |
@joshcooper, I tried #765 but getting a different error now: cd libselinux-2.9 && Seems to be pointing to needing a higher version of automake? configure.ac:42: error: require Automake 1.16.3, but have 1.16.1 Do you have any further suggestions to solve this, preferably without having to update the automake version? 1.16.1 seems to be the the latest automake version available on el 8.8. |
Sorry I'm not sure what to suggest other than to update automake to a newer version. |
My RHEL8 platform versions of the autotools are: automake 1.16.1 The advantage of using the platform components is that they have all the necessary security patches and you know they are compatible together. The only other option I see is to install the tools from source, i've tried the following: automake 1.16.3 Can you advise if those versions are good versions to choose? After installing those from source and applying a number of local patches the puppet-runtime component built. I then successfully built the puppet-agent project version 8.2.0. I notice differences in a few C++ header files (I can provide details if neccessary), i'm wondering if that would be expected, and if it could be due to my using different versions of the gnu autotools? Also, is the puppet-agent pxp-agent component only necessary if using puppet orchestrator? |
This is what we use on RHEL8 to build
Correct and you can omit that by setting |
@joshcooper, I'm trying to build agent-runtime-main (which I assume is applicable for puppet agent 8), not agent-runtime-7.x. Right, those versions you have provided above (including automake 1.16.1) are identical to what I had in my baseline initially which is not surprising given we're both building on RHEL8. I feel a bit like i'm going round in circles now, you were telling me to upgrade automake to 1.16.3 but you are using the older version in your own build. Just to re-cap: My initial problem was the usage of internal puppet buildsource urls for libxml2 and libxslt components which are not available to me. It looks like you have patched those tarballs internally, generating your own .configure files - rather than upgrading autotools in your RHEL8 build env. Comment in libxml2.rb: Newer versions of libxml2 either ship as tar.xz or do not ship with a configure file It seems to me the best way forward would be for you to share the configure files for both libxslt and libxml2 so I can create my own tarball and host this locally - or share the steps to do so, so I get an identical build. The alternative you suggested was to pull this PR: #765 which is forcing the download of those tarballs from github and these require the higher version of automake 1.16.3 and other associated tools which are not available on the RHEL8 platform. As I said already, with the higher versions of autotools installed from source I appear to be seeing differences in C++ header files in my puppet-agent rpm, I've no idea why this is or if it's of consequence, - could it be due to the usage of the higher versions installed from source? I feel the only way to find out is to try the alternate I suggested above. |
@maureen-lawless the required libxml2 and libxslt sources depend on automake 1.16.3 because of this bug related to python 3.10 detection. As we're building these libraries without python support, the newer automake is not needed and you can safely set it to 1.15 in configure.ac. I updated #765 to include this patch. In my local test it configures and builds libxml2 and libxslt now on EL8.
If you prefer not to use the PR or patch, the steps are quite straightforward. On any system that includes an autotools package of at least 1.16.3, download and extract the libxml2 and libxslt source archives from the vendor, run |
Migrated issue to PA-6375 |
Hi,
I'm trying to build the puppet-runtime project "agent-runtime-main" for el-8-x86_64 from version 202312201.
Intially, I got an error from component libxml2 trying to dowload libxml2-v2.10.3.tar.gz from the 'puppet internal buildsources url'
I replaced the libxml2 url to: https://gitlab.gnome.org/GNOME/libxml2/-/archive/v2.10.3/libxml2-v2.10.3.tar.gz
along with the urls for libxslt, ansicon as these also referenced the puppet internal buildsources url:
https://gitlab.gnome.org/GNOME/libxslt/-/archive/v1.1.39/libxslt-v1.1.39.tar.gz
https://github.com/adoxa/ansicon/archive/refs/tags/v1.86.tar.gz
Then the build failed with the following error:
The ./configure file is missing, and I see the following comment in the puppet-runtime/configs/components/libxml2.rb file:
Same comment in puppet-runtime/configs/components/libxslt.rb
Can you share the modified/re-packaged tarballs of libxml2-v2.10.3.tar.gz, libxslt-v1.1.39.tar.gz, and ansicon v1.86.tar.gz (if this has been modified and hosted internally)
or share the Configure files that were generated manually and indicate where they should be placed in the tarball for a successful build?
The text was updated successfully, but these errors were encountered: