godotengine / build-containers

Godot engine build containers

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

cpio: Cannot open: File name too long

drwhut opened this issue · comments

commented

Hey there! I'm currently trying to build the containers from the 3.x branch, but I'm running into an issue. When trying to build the OSX container, osxcross complains about there not being an SDK inside the tarballs/ directory:

no SDK found in tarballs/. please see README.md
Error: error building at STEP "RUN if [ -z "${mono_version}" ]; then echo -e "\n\nargument mono-version is mandatory!\n\n"; exit 1; fi &&     dnf -y install --setopt=install_weak_deps=False       automake autoconf bzip2-devel cmake libicu-devel libtool libxml2-devel openssl-devel yasm &&     git clone --progress https://github.com/tpoechtrager/osxcross.git &&     cd /root/osxcross &&     git checkout 17bb5e2d0a46533c1dd525cf4e9a80d88bd9f00e &&     ln -s /root/files/MacOSX12.3.sdk.tar.xz /root/osxcross/tarballs &&     patch -p1 < /root/files/patches/osxcross-pr367-fix-github-dl-page.diff &&     export UNATTENDED=1 &&     CLANG_VERSION=13.0.1 ENABLE_CLANG_INSTALL=1 INSTALLPREFIX=/usr ./build_clang.sh &&     ./build.sh &&     ./build_compiler_rt.sh &&     rm -rf /root/osxcross/build": error while running runtime: exit status 1

After looking through the scripts, it looks like there should be a file at files/MacOSX12.3.sdk.tar.xz, but it doesn't exist on my system. I then checked to see where it is created, which is in Dockerfile.xcode. After seeing that it is run directly from build.sh, I then checked xcode_packer.log, where I believe the source of the error is:

cpio: ./Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/Frameworks/Vision.framework/MRC5heads_76f6w2kjaz_61501_ay5mhf87cq_97501_hbnrcg6e5e_89040_8g7zthf4q3_12751_rucb99jtq8_75751_8d9qwisndd_85501_concat_quant.espresso.weights: Cannot open: File name too long
cpio: ./Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/tvOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/Frameworks/Vision.framework/MRC5heads_76f6w2kjaz_61501_ay5mhf87cq_97501_hbnrcg6e5e_89040_8g7zthf4q3_12751_rucb99jtq8_75751_8d9qwisndd_85501_concat_quant.espresso.weights: Cannot open: File name too long

From my understanding, this cpio error is stopping the Docker script from running, which is preventing the SDK file from being created, which ultimately causes the OSX container to fail.

I'm not sure how to solve this, as I have not changed any of the docker files from the repository, but I had used these same files in December of last year, and March of this year, to build the containers. They worked in both of those instances, and the only thing that has changed is that I am now running Linux Mint instead of Fedora (although from my understanding, since these containers are using a specific Fedora base, I'm pretty sure the host system shouldn't matter?), unless the base image used for these containers has changed since? Any ideas as to how to solve this issue?

The Vision file it's failing on must come from an Xcode version newer than what the current containers expect. It hasn't been tested against the latest Xcode with VisionOS SDK.

The current tested version is Xcode 13.3.1: https://github.com/godotengine/build-containers/tree/3.x#toolchains

commented

That's the version I downloaded from Apple's website:

-rw-rw-r-- 1 drwhut drwhut 10838018895 Jul 17 19:03 Xcode_13.3.1.xip

On the off-chance that the download went wrong, here's the SHA256 checksum for that file just in case:

d10b4644db84ba43f7b18ce94fb3ca1acd255d39781f4af8fc88bd8581e08f97  Xcode_13.3.1.xip
commented

I've just downloaded the file again on my MacBook, and it had the same checksum, so I can confirm that my original download was not corrupted. Maybe Apple has changed the file since I last downloaded it, but I'm not sure if that makes any sense.

commented

The Vision file it's failing on must come from an Xcode version newer than what the current containers expect. It hasn't been tested against the latest Xcode with VisionOS SDK.

Now I'm super confused - are you sure the files that are producing errors come from future versions of Xcode? I've unpacked the .xip file on macOS and dug through the contents, and it looks like the SDK versions all match what the containers expect, including the iOS SDK being version 15.4. Is it possible that Apple has added the Vision SDK onto older downloads of Xcode?