Closed ncw closed 4 years ago
I've decided to drop this build from rclone for the moment as it is only used for testing, so no urgency!
Hey, Nick. Sorry for the delay in responding. I will have a look at this tomorrow.
I believe the right thing here is to update the headers used in the Docker image.
I note that OSXFUSE 3.x series still uses the FUSE2 API, so it should be ok to update to latest OSXFUSE.
So the docker image has now been modified to include OSXFUSE 3.8.3 which includes the nonseekable
symbol. (I chose OSXFUSE 3.8.3 and not the latest version because this is the last version that 7z can handle; newer versions of OSXFUSE use signed DMG's which 7z cannot handle.)
Unfortunately this is now failing during apt-get install
because of missing files. The error message suggests that I should run apt-get update
, which I already am except in an earlier Dockerfile step. I suspect that this is an effect of the Docker cache:
This RUN step is pulled from cache:
Step 3/7 : RUN dpkg --add-architecture i386 && dpkg --add-architecture amd64 && apt-get update && apt-get install -y --no-install-recommends p7zip-full
---> Using cache
---> c1143cf251eb
This RUN step is being run because it came after the OSXFUSE RUN step which was just modified. Unfortunately it seems to fail because it needs a fresh apt-get update
.
Step 5/7 : RUN apt-get install -y --no-install-recommends libfuse-dev:i386 && apt-get install -y --no-install-recommends libfuse-dev:amd64 && apt-get download libfuse-dev:i386 && dpkg -x libfuse-dev*i386*.deb /
---> Running in 407faefdbff8
...
Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?
Is there a way to trigger DockerHub builds without the build cache? I no longer have easy access to Docker for Linux containers and I may not be able to fix this timely.
I can confirm that that fixes the rclone builds - thanks Bill :-)
Sorry you had to debug on DockerHub - that is a miserable experience.
Excellent. I am closing this and will follow up on any additional work via rclone/rclone#4393.
When I try an xgo compile
I get this error
I bisected the problem and (unsuprisingly!) this was the commit that broke it 8e41a0ce969b7c07d55751a9ad4e1941f285f620 - this was new to v1.3.0
So I think the FUSE headers need to be updated somehow in the Docker file for darwin.
https://github.com/billziss-gh/cgofuse/blob/f414e61c21ae71e205e28156b55093867fb9b458/Dockerfile#L14-L24
I note that 2.8.3 is a way behind the current 3.10.6
So I think either we need to do one of these
#ifdef
out that feature on osxI'm not sure which of those is the best way forward though!