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

Fix fstat64 handling on macOS with Apple Silicon #1775

Merged

Conversation

emilazy
Copy link
Contributor

@emilazy emilazy commented Sep 14, 2021

The Apple Silicon toolchain removes the *64 stat symbols (deprecated
since 10.6) in favour of their unprefixed form.

This change might not work properly before 10.6, but 10.5 has been out
of support for over a decade, so that hopefully shouldn't be relevant.

Fixes #1752.

The Apple Silicon toolchain removes the *64 stat symbols (deprecated
since 10.6) in favour of their unprefixed form.

This change might not work properly before 10.6, but 10.5 has been out
of support for over a decade, so that hopefully shouldn't be relevant.

Fixes rpm-software-management#1752.
@emilazy
Copy link
Contributor Author

emilazy commented Sep 14, 2021

(Rebased to use hard tabs.)

@ffesti ffesti merged commit ad87ced into rpm-software-management:master Sep 14, 2021
@ffesti
Copy link
Contributor

ffesti commented Sep 14, 2021

Thanks for the patch!

@pepicrft
Copy link

Hi 👋🏼. First of all, thanks for looking into this. We are experiencing issues when we try to build from the source through Homebrew. Is there anything else that needs to be done for the fix to work?

@emilazy
Copy link
Contributor Author

emilazy commented Jan 11, 2022

This commit was merged on 2021-09-14 but the latest rpm release is from 2021-09-03; Homebrew would have to apply this patch on top in order to have a working Apple Silicon build before the next upstream release.

@tormodatt
Copy link

I applied the patch here on my fork here: tormodatt/homebrew-core@d5cdc57, which makes it build, but I get:
dyld[71690]: symbol not found in flat namespace '_lua_strlen' when I run rpm or rpmbuild.

any ideas?

@carlocab
Copy link
Contributor

This seems to have broken the build on Intel Macs, since we tried applying this patch and found we needed to make it conditional on ARM macOS. See Homebrew/homebrew-core#93683.

@ffesti
Copy link
Contributor

ffesti commented Jan 24, 2022

Sir, this is a Wendy's!

As much as we want RPM to work everywhere and for everyone this is a discussion that belongs in the Homebrew project and not here.

@carlocab
Copy link
Contributor

As much as we want RPM to work everywhere and for everyone this is a discussion that belongs in the Homebrew project and not here.

Does it? Note that this affects non-Homebrew users too, so it seems odd to say the discussion only belongs there.

@ffesti
Copy link
Contributor

ffesti commented Jan 24, 2022

Oh, sorry. I assumed that this is an release engineering issue. If there is an issue with the patch this clearly belongs here on Git Hub. Still discussing it in an closed PR is less then ideal. May be open a new ticket as this will get peoples attention.

@ffesti
Copy link
Contributor

ffesti commented Jan 24, 2022

The missing lua symbol very much hints to some issue with the lua library used for the built. So chances are this is a issue unrelated to the patch.

@carlocab
Copy link
Contributor

I would agree with you, if the issue we were having is a missing Lua symbol. I wouldn't have posted here if it were.

I'll open an issue with a better description of the problem tomorrow.

@carlocab
Copy link
Contributor

Sent a patch instead: #1897

LeSuisse added a commit to LeSuisse/nixpkgs that referenced this pull request Feb 3, 2022
This contribution uses an upstream fix rpm-software-management/rpm#1775
To limit the chances of breaking other architectures or systems the
patch is only used when we target darwin aarch64.
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.

Install error: variable has incomplete type 'struct stat64'
5 participants