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

MacOSX images with case sensitive APFS filesystem #865

Closed
2 tasks done
moljac opened this issue May 11, 2020 · 4 comments
Closed
2 tasks done

MacOSX images with case sensitive APFS filesystem #865

moljac opened this issue May 11, 2020 · 4 comments

Comments

@moljac
Copy link

moljac commented May 11, 2020

MacOSX installation defaults to case insensitive APFS filesystem, but it would be good to have images with case sensitive filesystem. Case insensitive FS are more tolerant and a lot of errors are undetected.

Building on case sensitive MacOSX would also cover some tests for Linux, which has case sensitive by default.

Some errors due to case sensitivity:

novotnyllc/MSBuildSdkExtras#224

xamarin/AndroidX#101

Area for Triage: Apple

Feature

  • macOS 10.15
  • macOS (any)
@maxim-lobanov
Copy link
Contributor

Thank you for feature request.

@alepauly , a few thoughts:
We definitely can't switch existing images because it will be breaking change for the most of the builds. It can be done only as a separate image (we have to use different filesystem)

@moljac
Copy link
Author

moljac commented May 14, 2020

Morn @maxim-lobanov

I pinged you on Xamarin slack in a reply to your question about Xamarin.Android images. Please ignore/disregard that thread.

We definitely can't switch existing images because it will be breaking change for the most of the builds.

No. Please don't do it on existing images. There would be too much problems.

Separate image would be the best option, excluding the fact that MacOSX could be built twice, so energy consuption is higher (and I'm green aware freak).

@moljac
Copy link
Author

moljac commented May 14, 2020

For example: Users could build only on case sensitive MacOSX image. It is more restrictive, so errors would pop up earlier, thus no need to build on case insensitive OS at all.

So, additional MacOSX images are the best option.

@alepauly
Copy link
Contributor

Thanks for reaching out @moljac. We can't offer another image at this time since it would affect overall capacity of Mac and be costly to maintain.

cderv added a commit to rstudio/rmarkdown that referenced this issue Jan 20, 2021
jfroche added a commit to nix-community/nixpkgs-terraform-providers-bin that referenced this issue Mar 4, 2022
GitHub Action MacOS runners are using an insensitive APFS filesystem [1].

Some

Example: (from
https://github.com/numtide/nixpkgs-terraform-providers-bin/runs/5426414927?check_suite_focus=true)

```
error: builder for '/nix/store/cgr5bg7xbbfv6gprb76hiq9287bvqgnj-terraform-provider-equinix-1.5.0-alpha.1.drv' failed with exit code 1;
       last 10 log lines:
       > unpacking sources
       > Archive:  /nix/store/37w9bjkbhfng1x46bg7dacws7ksny4wf-terraform-provider-equinix_1.5.0-alpha.1_darwin_amd64.zip
       >   inflating: CHANGELOG.md
       >   inflating: LICENSE
       >   inflating: README.md
       >   inflating: equinix-migration-tool/README.md
       > replace equinix-migration-tool/readme.md? [y]es, [n]o, [A]ll, [N]one, [r]ename:  NULL
       > (EOF or read error, treating as "[N]one" ...)
       >   inflating: terraform-provider-equinix_v1.5.0-alpha.1
       >   inflating: equinix-migration-tool/equinix-migration-tool
```

[1] actions/runner-images#865
zimbatm pushed a commit to nix-community/nixpkgs-terraform-providers-bin that referenced this issue Mar 8, 2022
GitHub Action MacOS runners are using an insensitive APFS filesystem [1].

Some

Example: (from
https://github.com/numtide/nixpkgs-terraform-providers-bin/runs/5426414927?check_suite_focus=true)

```
error: builder for '/nix/store/cgr5bg7xbbfv6gprb76hiq9287bvqgnj-terraform-provider-equinix-1.5.0-alpha.1.drv' failed with exit code 1;
       last 10 log lines:
       > unpacking sources
       > Archive:  /nix/store/37w9bjkbhfng1x46bg7dacws7ksny4wf-terraform-provider-equinix_1.5.0-alpha.1_darwin_amd64.zip
       >   inflating: CHANGELOG.md
       >   inflating: LICENSE
       >   inflating: README.md
       >   inflating: equinix-migration-tool/README.md
       > replace equinix-migration-tool/readme.md? [y]es, [n]o, [A]ll, [N]one, [r]ename:  NULL
       > (EOF or read error, treating as "[N]one" ...)
       >   inflating: terraform-provider-equinix_v1.5.0-alpha.1
       >   inflating: equinix-migration-tool/equinix-migration-tool
```

[1] actions/runner-images#865
gportay added a commit to gportay/iamroot that referenced this issue May 6, 2023
iamroot comes with the two files execvp.c and execvP.c that cannot be
differentiated in a case insensitive filesystem.

The GitLab Actions FreeBSD-vm[1] and OpenBSD-vm[2] uses a MacOS image
and virtualization to run these Operating Systems.

However, the MacOS installation defaults to case insensitive APFS
filesystem, and there is no plan to support a case sensitive filesystem
image at this time "since it would affect overall capacity of Mac and be
costly to maintain"[3].

Therefore, these actions ends with the following error as both files
execvp.c and execvP.c cannot exists in a case insensitive filesystem.

This merges both files together to have a single file and fix the error
below.

Fixes:

	gmake: *** No rule to make target 'execvP.o', needed by 'libiamroot.so'.  Stop.

[1]: https://github.com/vmactions/freebsd-vm
[2]: https://github.com/vmactions/openbsd-vm
[1]: actions/runner-images#865
gportay added a commit to gportay/iamroot that referenced this issue May 6, 2023
iamroot comes with the two files execvp.c and execvP.c that cannot be
differentiated in a case insensitive filesystem.

The GitLab Actions FreeBSD-vm[1] and OpenBSD-vm[2] uses a MacOS image
and virtualization to run these Operating Systems.

However, the MacOS installation defaults to case insensitive APFS
filesystem, and there is no plan to support a case sensitive filesystem
image at this time "since it would affect overall capacity of Mac and be
costly to maintain"[3].

Therefore, these actions ends with the following error as both files
execvp.c and execvP.c cannot exists in a case insensitive filesystem.

This merges both files together to have a single file and fix the error
below.

Fixes:

	gmake: *** No rule to make target 'execvP.o', needed by 'libiamroot.so'.  Stop.

[1]: https://github.com/vmactions/freebsd-vm
[2]: https://github.com/vmactions/openbsd-vm
[1]: actions/runner-images#865
gportay added a commit to gportay/iamroot that referenced this issue May 12, 2023
iamroot comes with the two files execvp.c and execvP.c that cannot be
differentiated in a case insensitive filesystem.

The GitLab Actions FreeBSD-vm[1] and OpenBSD-vm[2] uses a MacOS image
and virtualization to run these Operating Systems.

However, the MacOS installation defaults to case insensitive APFS
filesystem, and there is no plan to support a case sensitive filesystem
image at this time "since it would affect overall capacity of Mac and be
costly to maintain"[3].

Therefore, these actions ends with the following error as both files
execvp.c and execvP.c cannot exists in a case insensitive filesystem.

This merges both files together to have a single file and fix the error
below.

Fixes:

	gmake: *** No rule to make target 'execvP.o', needed by 'libiamroot.so'.  Stop.

[1]: https://github.com/vmactions/freebsd-vm
[2]: https://github.com/vmactions/openbsd-vm
[1]: actions/runner-images#865
gportay added a commit to gportay/iamroot that referenced this issue May 14, 2023
iamroot comes with the two files execvp.c and execvP.c that cannot be
differentiated in a case insensitive filesystem.

The GitLab Actions FreeBSD-vm[1] and OpenBSD-vm[2] uses a MacOS image
and virtualization to run these Operating Systems.

However, the MacOS installation defaults to case insensitive APFS
filesystem, and there is no plan to support a case sensitive filesystem
image at this time "since it would affect overall capacity of Mac and be
costly to maintain"[3].

Therefore, these actions ends with the following error as both files
execvp.c and execvP.c cannot exists in a case insensitive filesystem.

This merges both files together to have a single file and fix the error
below.

Fixes:

	gmake: *** No rule to make target 'execvP.o', needed by 'libiamroot.so'.  Stop.

[1]: https://github.com/vmactions/freebsd-vm
[2]: https://github.com/vmactions/openbsd-vm
[1]: actions/runner-images#865
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants