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

The libarchive builds on AIX fail to build shared libraries and archive_file is broken in chef-client #1566

Open
lamont-granquist opened this issue Feb 4, 2022 · 1 comment
Labels
Triage: Confirmed Indicates and issue has been confirmed as described.

Comments

@lamont-granquist
Copy link
Contributor

There is no /opt/chef/embedded/lib/libarchive.so installed by the libarchive software definition on AIX.

I looked into this a little bit and in the build logs you can see the configure output where it says it is building shared libraries, but they don't show up there's only a .a and a .la file that get deployed.

For now the archive_file functional tests are turned off in chef/chef:

https://github.com/chef/chef/blob/main/spec/functional/resource/archive_file_spec.rb

https://github.com/chef/chef/blob/main/spec/unit/resource/archive_file_spec.rb

@lamont-granquist lamont-granquist added the Status: Untriaged An issue that has yet to be triaged. label Feb 4, 2022
@tpowell-progress tpowell-progress added Triage: Confirmed Indicates and issue has been confirmed as described. and removed Status: Untriaged An issue that has yet to be triaged. labels Aug 14, 2023
@tpowell-progress
Copy link
Contributor

See chef/chef#12841 (comment) I think this is an issue with how we hook into the .a file. In libtool for libarchive-3.6.2 there is

    aix,no) # traditional AIX only
      dynamic_linker='AIX lib.a(lib.so.V)'
      # We preserve .a as extension for shared libraries through AIX4.2
      # and later when we are not doing run time linking.
      library_names_spec='$libname$release.a $libname.a'
      soname_spec='$libname$release$shared_ext$major'
      ;;

In order for the .so to be built (it's actually a symlink to .so.{version} that also exists on AIX), the library_names_spec needs the following specification

library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext' where the last parameter is the .so symlink

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Triage: Confirmed Indicates and issue has been confirmed as described.
Projects
None yet
Development

No branches or pull requests

2 participants