Comments (81)
I think there is something going with docker for Mac in this configuration. Good news, I can reproduce, but I don't know what is going on yet.
from fyne-cross.
Sorry, I have been busy last weekend. I have not figured out much more. I don't get where that use come from and where its home is set (and why its home is read only).
from fyne-cross.
Oh, there is something interesting in the debug log regarding the access right. Apparently the z flag on the mounted volume is not supported on MacOs. I will look what that means and make a pr if possible.
from fyne-cross.
I am finally able to reproduce the problem after updating an Intel Mac to latest docker. Something broke in the last 3 months in our use of docker. I will look through the release log of docker to see if I can get any clue.
from fyne-cross.
Could you try the develop branch of fyne-cross? Also by any chance, do you have any of the 'fyne-cross/bin/windows-amd64' path existing in your current project? And if yes, what are their owner?
from fyne-cross.
@Bluebugs same result with develop
branch.
If I understand your path question properly, I don't think so.
paul@kubuntu:~/src/personal/mastotool$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/home/paul/go/bin
from fyne-cross.
I meant for the path inside your repository. If there is a fyne-cross one and the access right/ owner name sense and same for all the sub directory.
from fyne-cross.
Ah, I see @Bluebugs. Here you go:
paul@kubuntu:~/src/personal/mastotool$ fyne-cross windows
[i] Target: windows/amd64
[i] Cleaning target directories...
mkdir: cannot create directory '/app/fyne-cross/bin/windows-amd64': Permission denied
[β] could not create the "bin" dir /app/fyne-cross/bin/windows-amd64: exit status 1
paul@kubuntu:~/src/personal/mastotool$ ls -lR fyne-cross
fyne-cross:
total 12
drwxr-xr-x 2 paul paul 4096 Aug 17 16:39 bin
drwxr-xr-x 2 paul paul 4096 Aug 17 16:39 dist
drwxr-xr-x 2 paul paul 4096 Aug 17 16:39 tmp
fyne-cross/bin:
total 0
fyne-cross/dist:
total 0
fyne-cross/tmp:
total 0
paul@kubuntu:~/src/personal/mastotool$ id
uid=1000(paul) gid=1000(paul) groups=1000(paul),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),122(lpadmin),133(lxd),134(sambashare)
from fyne-cross.
Am getting something similar (host is MacOS).
[i] Target: windows/amd64
[i] Cleaning target directories...
docker: Error response from daemon: error while creating mount source path '/host_mnt/private/tmp/com.apple.launchd.Ll0aUQ4a1W/Listeners': mkdir /host_mnt/private/tmp/com.apple.launchd.Ll0aUQ4a1W/Listeners: operation not supported.
[β] could not clean the "bin" dir /app/fyne-cross/bin/windows-amd64: exit status 125
from fyne-cross.
Am getting something similar, but on MacOS.
[i] Target: windows/amd64 [i] Cleaning target directories... docker: Error response from daemon: error while creating mount source path '/host_mnt/private/tmp/com.apple.launchd.Ll0aUQ4a1W/Listeners': mkdir /host_mnt/private/tmp/com.apple.launchd.Ll0aUQ4a1W/Listeners: operation not supported. [β] could not clean the "bin" dir /app/fyne-cross/bin/windows-amd64: exit status 125
@bogdanciuca I got around this by allowing my host's /tmp
folder to be mounted by Docker. It feels slimy and probably not the most secure thing to do...
from fyne-cross.
I have to look at the detail, but that last error is related to access to the ssh agent to propagate ssh key for go to download private module. What exactly did you do to make it work?
from fyne-cross.
@Bluebugs, I apologize for my tardy response. Life has gotten the better of me...
I am using Docker Desktop on macOS, so this is what I did
from fyne-cross.
@bogdanciuca would you mind checking if this also solve your issue? If so, I think the problem is with the propagation of the ssh agent access for private repository. Will have to figure a way to detect this configuration in docker.
from fyne-cross.
@PaulWaldo thanks for the tip, but it looks like I have the same file sharing settings as you.
@Bluebugs Doesn't seem so. Also, I'm not using any other private repo (except the one being built).
from fyne-cross.
@Bluebugs any ideas on the original error could not create the "bin" dir /app/fyne-cross/bin/windows-amd64: exit status 1
? I also see @bogdanciuca's problem for the other platforms
β― fyne-cross linux
[i] Target: linux/amd64
[i] Cleaning target directories...
docker: Error response from daemon: error while creating mount source path '/host_mnt/private/tmp/com.apple.launchd.aUlAu9fgDk/Listeners': mkdir /host_mnt/private/tmp/com.apple.launchd.aUlAu9fgDk/Listeners: operation not supported.
[β] could not clean the "temp" dir /app/fyne-cross/tmp/linux-amd64: exit status 125
β― fyne-cross darwin -app-id xyzzy
[i] Target: darwin/amd64
[i] Cleaning target directories...
docker: Error response from daemon: error while creating mount source path '/host_mnt/private/tmp/com.apple.launchd.aUlAu9fgDk/Listeners': mkdir /host_mnt/private/tmp/com.apple.launchd.aUlAu9fgDk/Listeners: operation not supported.
[β] could not clean the "temp" dir /app/fyne-cross/tmp/darwin-amd64: exit status 125
from fyne-cross.
When you say other platform, do you mean using fyne-cross on a different host os or using it to target a different os? If the latter, it will not be surprising as it should affect all target.
from fyne-cross.
@Bluebugs Let me know if you'd prefer to track my problem in a separate git issue.
from fyne-cross.
@Bluebugs i meant targeting different platforms. I only have Macs.
from fyne-cross.
In that case it is likely the same problem.
from fyne-cross.
I finally figured out what, at least with ssh-agent, is going on. Hopefully once I have that in a PR it will fix the other problem. Basically on MacOS, the container run in a VM and so can't access directly the SSH_AUTH_SOCK of the host. Docker decided to do an automatic dark magic by having a magic path in the VM: /run/host-services/ssh-auth.sock
whenever the host has a ssh agent running. This path is hard coded and will magically work. So the logic for darwin host is to use that path when a SSH_AUTH_SOCK is present instead of the content of SSH_AUTH_SOCK.
from fyne-cross.
Excellent find @Bluebugs. I'll be happy to test when available.
Docker on macOS does do black magic like that sometimes π€¨
from fyne-cross.
If you guys don't mind testing #203 to see if that solve your issues.
from fyne-cross.
@Bluebugs I have good news and bad news. It looks like your fixed resolved this specific issue π:
β― fyne-cross windows -app-id com.example.myapp
[i] Target: windows/amd64
[i] Cleaning target directories...
[β] "bin" dir cleaned: /app/fyne-cross/bin/windows-amd64
[β] "dist" dir cleaned: /app/fyne-cross/dist/windows-amd64
[β] "temp" dir cleaned: /app/fyne-cross/tmp/windows-amd64
[i] Checking for go.mod: /Users/paul/src/personal/mastotool/go.mod
[β] go.mod found
[i] Packaging app...
error obtaining VCS status: exit status 128
Use -buildvcs=false to disable VCS stamping.
error building application: exit status 1
[β] could not package the Fyne app: exit status 1
So, it gets further, but the end-to-end process is still failing. Should I create a separate Issue for the buildvcs
problem?
FYI, I noticed that your PR had a CI failure, probably transient:
docker: Error response from daemon: Head "https://registry-1.docker.io/v2/fyneio/fyne-cross-images/manifests/web": received unexpected HTTP status: 503 Service Unavailable.
from fyne-cross.
That's an interesting progress. We got report of that issue about buildvcs by other. That one is a different problem and I need to just generate new image. Will try to do that today.
from fyne-cross.
That was me on Slack π€
from fyne-cross.
I have released a new version of fyne-cross-image that should address your buildvcs error. Let me know if things are working with fyne-cross developer branch and the latest fyne-cross-image.
from fyne-cross.
Hello, I use macOS and faced the same issues (docker: Error response from daemon: error while creating mount source path
). I can confirm that fyne-cross
's develop branch and the latest images fixed the issue, without having to add /tmp
to shared folder in Docker Desktop settings.
Logs
β― fyne-cross linux -arch='*'
[i] Target: linux/amd64
[i] Cleaning target directories...
[β] "temp" dir cleaned: /app/fyne-cross/tmp/linux-amd64
[β] "bin" dir cleaned: /app/fyne-cross/bin/linux-amd64
[β] "dist" dir cleaned: /app/fyne-cross/dist/linux-amd64
[i] Checking for go.mod: /Users/gaugendre/Projects/fyne-test/go.mod
[β] go.mod found
[i] Packaging app...
[β] Package: "/Users/gaugendre/Projects/fyne-test/fyne-cross/dist/linux-amd64/fyne-test.tar.xz"
[i] Target: linux/386
[i] Cleaning target directories...
[β] "bin" dir cleaned: /app/fyne-cross/bin/linux-386
[β] "dist" dir cleaned: /app/fyne-cross/dist/linux-386
[β] "temp" dir cleaned: /app/fyne-cross/tmp/linux-386
[i] Checking for go.mod: /Users/gaugendre/Projects/fyne-test/go.mod
[β] go.mod found
[i] Packaging app...
[β] Package: "/Users/gaugendre/Projects/fyne-test/fyne-cross/dist/linux-386/fyne-test.tar.xz"
[i] Target: linux/arm
[i] Cleaning target directories...
[β] "dist" dir cleaned: /app/fyne-cross/dist/linux-arm
[β] "temp" dir cleaned: /app/fyne-cross/tmp/linux-arm
[β] "bin" dir cleaned: /app/fyne-cross/bin/linux-arm
[i] Checking for go.mod: /Users/gaugendre/Projects/fyne-test/go.mod
[β] go.mod found
[i] Packaging app...
[β] Package: "/Users/gaugendre/Projects/fyne-test/fyne-cross/dist/linux-arm/fyne-test.tar.xz"
[i] Target: linux/arm64
[i] Cleaning target directories...
[β] "bin" dir cleaned: /app/fyne-cross/bin/linux-arm64
[β] "dist" dir cleaned: /app/fyne-cross/dist/linux-arm64
[β] "temp" dir cleaned: /app/fyne-cross/tmp/linux-arm64
[i] Checking for go.mod: /Users/gaugendre/Projects/fyne-test/go.mod
[β] go.mod found
[i] Packaging app...
[β] Package: "/Users/gaugendre/Projects/fyne-test/fyne-cross/dist/linux-arm64/fyne-test.tar.xz"
β― fyne-cross windows -app-id com.example.fyne-test
[i] Target: windows/arm64
[i] Cleaning target directories...
[β] "dist" dir cleaned: /app/fyne-cross/dist/windows-arm64
[β] "temp" dir cleaned: /app/fyne-cross/tmp/windows-arm64
[β] "bin" dir cleaned: /app/fyne-cross/bin/windows-arm64
[i] Checking for go.mod: /Users/gaugendre/Projects/fyne-test/go.mod
[β] go.mod found
[i] Packaging app...
adding: fyne-test.exe (deflated 49%)
[β] Package: "/Users/gaugendre/Projects/fyne-test/fyne-cross/dist/windows-arm64/fyne-test.exe.zip"
from fyne-cross.
Sorry @Bluebugs, still the same problem:
β― go get -u github.com/fyne-io/fyne-cross@develop
go: downloading github.com/fyne-io/fyne-cross v1.4.1-0.20230830175225-aac9d4e73d9e
go: downloading github.com/aws/aws-sdk-go v1.45.2
go: downloading k8s.io/kube-openapi v0.0.0-20230901164831-6c774f458599
go: upgraded github.com/aws/aws-sdk-go v1.44.332 => v1.45.2
go: upgraded github.com/fyne-io/fyne-cross v1.4.0 => v1.4.1-0.20230830175225-aac9d4e73d9e
go: upgraded k8s.io/kube-openapi v0.0.0-20230816210353-14e408962443 => v0.0.0-20230901164831-6c774f458599
β― fyne-cross windows -app-id com.example.myapp -pull
[i] Target: windows/amd64
[i] Checking for a newer version of the docker image: docker.io/fyneio/fyne-cross-images:windows
[β] Image is up to date
[i] Cleaning target directories...
[β] "bin" dir cleaned: /app/fyne-cross/bin/windows-amd64
[β] "dist" dir cleaned: /app/fyne-cross/dist/windows-amd64
[β] "temp" dir cleaned: /app/fyne-cross/tmp/windows-amd64
[i] Checking for go.mod: /Users/paul/src/personal/mastotool/go.mod
[β] go.mod found
[i] Packaging app...
error obtaining VCS status: exit status 128
Use -buildvcs=false to disable VCS stamping.
error building application: exit status 1
[β] could not package the Fyne app: exit status 1
from fyne-cross.
@PaulWaldo have you tried clearing the local docker image to make sure it downloads the latest one?
from fyne-cross.
Yeah, it seems to says in your log that it didn't download any image.
from fyne-cross.
@Bluebugs Sorry, I was away for over a week now, just got home and gave it a try:
2023/09/02 20:17:08 Fyne error: Failed to inject metadata init file, omitting metadata
2023/09/02 20:17:08 Cause: exit status 1
2023/09/02 20:17:08 At: /go/pkg/mod/fyne.io/fyne/[email protected]/cmd/fyne/internal/commands/build.go:215
go: errors parsing go.mod:
/app/go.mod:3: invalid go version '1.21.0': must match format 1.23
error building application: exit status 1
[β] could not package the Fyne app: exit status 1
After updating go.mod
to use the old versioning, I got the same error as @PaulWaldo :
error obtaining VCS status: exit status 128
Use -buildvcs=false to disable VCS stamping.
error building application: exit status 1
[β] could not package the Fyne app: exit status 1
It's worth mentioning that I have deleted the local docker image (forcing a fresh pull), cloned the repo, built the binary from the develop
branch and ran it. Am I missing something?
from fyne-cross.
@bogdanciuca what is your host os?
from fyne-cross.
@Bluebugs macOS (Ventura)
from fyne-cross.
Thanks, I was hoping to have a better host pattern for this vcs issue. I still have no lead for it. Can any of you provide a log with -debug?
from fyne-cross.
Sure:
[i] Target: windows/amd64
&command.localContainerImage{baseContainerImage:command.baseContainerImage{arch:"amd64", os:"windows", id:"windows-amd64", env:map[string]string{"CC":"zig cc -target x86_64-windows-gnu -Wdeprecated-non-prototype -Wl,--subsystem,windows", "CXX":"zig c++ -target x86_64-windows-gnu -Wdeprecated-non-prototype -Wl,--subsystem,windows", "GOARCH":"amd64", "GOOS":"windows"}, tags:[]string(nil), mount:[]command.containerMountPoint{command.containerMountPoint{name:"project", localHost:"/Users/ciuca/Desktop/Projects/diaconia-lis", inContainer:"/app"}, command.containerMountPoint{name:"cache", localHost:"/Users/ciuca/Library/Caches/fyne-cross", inContainer:"/go"}}, DockerImage:"docker.io/fyneio/fyne-cross-images:windows"}, runner:(*command.localContainerEngine)(0x1400007c000)}
[i] Cleaning target directories...
/usr/local/bin/docker run --rm -t -w /app -v /Users/ciuca/Desktop/Projects/diaconia-lis:/app -v /Users/ciuca/Library/Caches/fyne-cross:/go --platform linux/arm64 --user 501 -e HOME=/tmp -v /run/host-services/ssh-auth.sock:/run/host-services/ssh-auth.sock -e SSH_AUTH_SOCK=/run/host-services/ssh-auth.sock -e CGO_ENABLED=1 -e GOCACHE=/go/go-build -e GOOS=windows -e GOARCH=amd64 -e CC=zig cc -target x86_64-windows-gnu -Wdeprecated-non-prototype -Wl,--subsystem,windows -e CXX=zig c++ -target x86_64-windows-gnu -Wdeprecated-non-prototype -Wl,--subsystem,windows docker.io/fyneio/fyne-cross-images:windows rm -rf /app/fyne-cross/bin/windows-amd64
/usr/local/bin/docker run --rm -t -w /app -v /Users/ciuca/Desktop/Projects/diaconia-lis:/app -v /Users/ciuca/Library/Caches/fyne-cross:/go --platform linux/arm64 --user 501 -e HOME=/tmp -v /run/host-services/ssh-auth.sock:/run/host-services/ssh-auth.sock -e SSH_AUTH_SOCK=/run/host-services/ssh-auth.sock -e CGO_ENABLED=1 -e GOCACHE=/go/go-build -e GOARCH=amd64 -e CC=zig cc -target x86_64-windows-gnu -Wdeprecated-non-prototype -Wl,--subsystem,windows -e CXX=zig c++ -target x86_64-windows-gnu -Wdeprecated-non-prototype -Wl,--subsystem,windows -e GOOS=windows docker.io/fyneio/fyne-cross-images:windows mkdir -p /app/fyne-cross/bin/windows-amd64
[β] "bin" dir cleaned: /app/fyne-cross/bin/windows-amd64
/usr/local/bin/docker run --rm -t -w /app -v /Users/ciuca/Desktop/Projects/diaconia-lis:/app -v /Users/ciuca/Library/Caches/fyne-cross:/go --platform linux/arm64 --user 501 -e HOME=/tmp -v /run/host-services/ssh-auth.sock:/run/host-services/ssh-auth.sock -e SSH_AUTH_SOCK=/run/host-services/ssh-auth.sock -e CGO_ENABLED=1 -e GOCACHE=/go/go-build -e CC=zig cc -target x86_64-windows-gnu -Wdeprecated-non-prototype -Wl,--subsystem,windows -e CXX=zig c++ -target x86_64-windows-gnu -Wdeprecated-non-prototype -Wl,--subsystem,windows -e GOOS=windows -e GOARCH=amd64 docker.io/fyneio/fyne-cross-images:windows rm -rf /app/fyne-cross/dist/windows-amd64
/usr/local/bin/docker run --rm -t -w /app -v /Users/ciuca/Desktop/Projects/diaconia-lis:/app -v /Users/ciuca/Library/Caches/fyne-cross:/go --platform linux/arm64 --user 501 -e HOME=/tmp -v /run/host-services/ssh-auth.sock:/run/host-services/ssh-auth.sock -e SSH_AUTH_SOCK=/run/host-services/ssh-auth.sock -e CGO_ENABLED=1 -e GOCACHE=/go/go-build -e CC=zig cc -target x86_64-windows-gnu -Wdeprecated-non-prototype -Wl,--subsystem,windows -e CXX=zig c++ -target x86_64-windows-gnu -Wdeprecated-non-prototype -Wl,--subsystem,windows -e GOOS=windows -e GOARCH=amd64 docker.io/fyneio/fyne-cross-images:windows mkdir -p /app/fyne-cross/dist/windows-amd64
[β] "dist" dir cleaned: /app/fyne-cross/dist/windows-amd64
/usr/local/bin/docker run --rm -t -w /app -v /Users/ciuca/Desktop/Projects/diaconia-lis:/app -v /Users/ciuca/Library/Caches/fyne-cross:/go --platform linux/arm64 --user 501 -e HOME=/tmp -v /run/host-services/ssh-auth.sock:/run/host-services/ssh-auth.sock -e SSH_AUTH_SOCK=/run/host-services/ssh-auth.sock -e CGO_ENABLED=1 -e GOCACHE=/go/go-build -e CC=zig cc -target x86_64-windows-gnu -Wdeprecated-non-prototype -Wl,--subsystem,windows -e CXX=zig c++ -target x86_64-windows-gnu -Wdeprecated-non-prototype -Wl,--subsystem,windows -e GOOS=windows -e GOARCH=amd64 docker.io/fyneio/fyne-cross-images:windows rm -rf /app/fyne-cross/tmp/windows-amd64
/usr/local/bin/docker run --rm -t -w /app -v /Users/ciuca/Desktop/Projects/diaconia-lis:/app -v /Users/ciuca/Library/Caches/fyne-cross:/go --platform linux/arm64 --user 501 -e HOME=/tmp -v /run/host-services/ssh-auth.sock:/run/host-services/ssh-auth.sock -e SSH_AUTH_SOCK=/run/host-services/ssh-auth.sock -e CGO_ENABLED=1 -e GOCACHE=/go/go-build -e GOOS=windows -e GOARCH=amd64 -e CC=zig cc -target x86_64-windows-gnu -Wdeprecated-non-prototype -Wl,--subsystem,windows -e CXX=zig c++ -target x86_64-windows-gnu -Wdeprecated-non-prototype -Wl,--subsystem,windows docker.io/fyneio/fyne-cross-images:windows mkdir -p /app/fyne-cross/tmp/windows-amd64
[β] "temp" dir cleaned: /app/fyne-cross/tmp/windows-amd64
[i] Checking for go.mod: /Users/ciuca/Desktop/Projects/diaconia-lis/go.mod
[β] go.mod found
/usr/local/bin/docker run --rm -t -w /app -v /Users/ciuca/Desktop/Projects/diaconia-lis:/app -v /Users/ciuca/Library/Caches/fyne-cross:/go --platform linux/arm64 --user 501 -e HOME=/tmp -v /run/host-services/ssh-auth.sock:/run/host-services/ssh-auth.sock -e SSH_AUTH_SOCK=/run/host-services/ssh-auth.sock -e CGO_ENABLED=1 -e GOCACHE=/go/go-build -e GOOS=windows -e GOARCH=amd64 -e CC=zig cc -target x86_64-windows-gnu -Wdeprecated-non-prototype -Wl,--subsystem,windows -e CXX=zig c++ -target x86_64-windows-gnu -Wdeprecated-non-prototype -Wl,--subsystem,windows docker.io/fyneio/fyne-cross-images:windows cp /app/Icon.png /app/fyne-cross/tmp/windows-amd64/Icon.png
[i] Packaging app...
/usr/local/bin/docker run --rm -t -w /app -v /Users/ciuca/Desktop/Projects/diaconia-lis:/app -v /Users/ciuca/Library/Caches/fyne-cross:/go --platform linux/arm64 --user 501 -e HOME=/tmp -v /run/host-services/ssh-auth.sock:/run/host-services/ssh-auth.sock -e SSH_AUTH_SOCK=/run/host-services/ssh-auth.sock -e CGO_ENABLED=1 -e GOCACHE=/go/go-build -e CC=zig cc -target x86_64-windows-gnu -Wdeprecated-non-prototype -Wl,--subsystem,windows -e CXX=zig c++ -target x86_64-windows-gnu -Wdeprecated-non-prototype -Wl,--subsystem,windows -e GOOS=windows -e GOARCH=amd64 docker.io/fyneio/fyne-cross-images:windows /usr/local/bin/fyne version
fyne cli version: v2.3.5
/usr/local/bin/docker run --rm -t -w /app -v /Users/ciuca/Desktop/Projects/diaconia-lis:/app -v /Users/ciuca/Library/Caches/fyne-cross:/go --platform linux/arm64 --user 501 -e HOME=/tmp -v /run/host-services/ssh-auth.sock:/run/host-services/ssh-auth.sock -e SSH_AUTH_SOCK=/run/host-services/ssh-auth.sock -e CGO_ENABLED=1 -e GOCACHE=/go/go-build -e GOOS=windows -e GOARCH=amd64 -e CC=zig cc -target x86_64-windows-gnu -Wdeprecated-non-prototype -Wl,--subsystem,windows -e CXX=zig c++ -target x86_64-windows-gnu -Wdeprecated-non-prototype -Wl,--subsystem,windows docker.io/fyneio/fyne-cross-images:windows /usr/local/bin/fyne package -os windows -name Diaconia Lis.exe -icon /app/fyne-cross/tmp/windows-amd64/Icon.png -appBuild 5 -appVersion 1.0.0 -appID eu.intellibrands.lis -release
error obtaining VCS status: exit status 128
Use -buildvcs=false to disable VCS stamping.
error building application: exit status 1
[β] could not package the Fyne app: exit status 1
from fyne-cross.
Sorry @Bluebugs, I was out yesterday. I can confirm I get the same results with the later docker image too
β― fyne-cross windows -app-id com.example.myapp -pull
[i] Target: windows/amd64
[i] Checking for a newer version of the docker image: docker.io/fyneio/fyne-cross-images:windows
[β] Image is up to date
[i] Cleaning target directories...
[β] "bin" dir cleaned: /app/fyne-cross/bin/windows-amd64
[β] "dist" dir cleaned: /app/fyne-cross/dist/windows-amd64
[β] "temp" dir cleaned: /app/fyne-cross/tmp/windows-amd64
[i] Checking for go.mod: /Users/paul/src/personal/mastotool/go.mod
[β] go.mod found
[i] Packaging app...
error obtaining VCS status: exit status 128
Use -buildvcs=false to disable VCS stamping.
error building application: exit status 1
[β] could not package the Fyne app: exit status 1
β― docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
fyneio/fyne-cross-images windows 1e3d0da6428d 2 days ago 1.66GB
from fyne-cross.
Huh, interestingly I'm not able to reproduce my earlier results and I experience the same issues as others with the error obtaining VCS status: exit status 128
. I don't know what changed in my setup π€
from fyne-cross.
I think every one here who is experiencing this issue is using docker. If you could report the version you are using, just in case and if anyone of you has the time to try with podman instead that would be really helpful.
from fyne-cross.
docker info
$ docker info
Client:
Version: 24.0.5
Context: desktop-linux
Debug Mode: false
Plugins:
buildx: Docker Buildx (Docker Inc.)
Version: v0.11.2-desktop.1
Path: /Users/gaugendre/.docker/cli-plugins/docker-buildx
compose: Docker Compose (Docker Inc.)
Version: v2.20.2-desktop.1
Path: /Users/gaugendre/.docker/cli-plugins/docker-compose
dev: Docker Dev Environments (Docker Inc.)
Version: v0.1.0
Path: /Users/gaugendre/.docker/cli-plugins/docker-dev
extension: Manages Docker extensions (Docker Inc.)
Version: v0.2.20
Path: /Users/gaugendre/.docker/cli-plugins/docker-extension
init: Creates Docker-related starter files for your project (Docker Inc.)
Version: v0.1.0-beta.6
Path: /Users/gaugendre/.docker/cli-plugins/docker-init
sbom: View the packaged-based Software Bill Of Materials (SBOM) for an image (Anchore Inc.)
Version: 0.6.0
Path: /Users/gaugendre/.docker/cli-plugins/docker-sbom
scan: Docker Scan (Docker Inc.)
Version: v0.26.0
Path: /Users/gaugendre/.docker/cli-plugins/docker-scan
scout: Command line tool for Docker Scout (Docker Inc.)
Version: 0.20.0
Path: /Users/gaugendre/.docker/cli-plugins/docker-scout
Server:
Containers: 3
Running: 0
Paused: 0
Stopped: 3
Images: 23
Server Version: 24.0.5
Storage Driver: overlay2
Backing Filesystem: extfs
Supports d_type: true
Using metacopy: false
Native Overlay Diff: true
userxattr: false
Logging Driver: json-file
Cgroup Driver: cgroupfs
Cgroup Version: 2
Plugins:
Volume: local
Network: bridge host ipvlan macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
Swarm: inactive
Runtimes: io.containerd.runc.v2 runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 3dce8eb055cbb6872793272b4f20ed16117344f8
runc version: v1.1.7-0-g860f061
init version: de40ad0
Security Options:
seccomp
Profile: unconfined
cgroupns
Kernel Version: 5.15.49-linuxkit-pr
Operating System: Docker Desktop
OSType: linux
Architecture: aarch64
CPUs: 4
Total Memory: 7.765GiB
Name: docker-desktop
ID: 45ab307c-a1cd-46a5-8c48-a6a87db4014b
Docker Root Dir: /var/lib/docker
Debug Mode: false
HTTP Proxy: http.docker.internal:3128
HTTPS Proxy: http.docker.internal:3128
No Proxy: hubproxy.docker.internal
Experimental: false
Insecure Registries:
hubproxy.docker.internal:5555
127.0.0.0/8
Live Restore Enabled: false
WARNING: daemon is not using the default seccomp profile
from fyne-cross.
I've never used podman before but I'd be willing to give it a try. Can you give a cookbook recipe for trying in Podman?
β― docker info
Client:
Version: 24.0.5
Context: desktop-linux
Debug Mode: false
Plugins:
buildx: Docker Buildx (Docker Inc.)
Version: v0.11.2-desktop.1
Path: /Users/paul/.docker/cli-plugins/docker-buildx
compose: Docker Compose (Docker Inc.)
Version: v2.20.2-desktop.1
Path: /Users/paul/.docker/cli-plugins/docker-compose
dev: Docker Dev Environments (Docker Inc.)
Version: v0.1.0
Path: /Users/paul/.docker/cli-plugins/docker-dev
extension: Manages Docker extensions (Docker Inc.)
Version: v0.2.20
Path: /Users/paul/.docker/cli-plugins/docker-extension
init: Creates Docker-related starter files for your project (Docker Inc.)
Version: v0.1.0-beta.6
Path: /Users/paul/.docker/cli-plugins/docker-init
sbom: View the packaged-based Software Bill Of Materials (SBOM) for an image (Anchore Inc.)
Version: 0.6.0
Path: /Users/paul/.docker/cli-plugins/docker-sbom
scan: Docker Scan (Docker Inc.)
Version: v0.26.0
Path: /Users/paul/.docker/cli-plugins/docker-scan
scout: Command line tool for Docker Scout (Docker Inc.)
Version: 0.20.0
Path: /Users/paul/.docker/cli-plugins/docker-scout
Server:
Containers: 3
Running: 1
Paused: 0
Stopped: 2
Images: 21
Server Version: 24.0.5
Storage Driver: overlay2
Backing Filesystem: extfs
Supports d_type: true
Using metacopy: false
Native Overlay Diff: true
userxattr: false
Logging Driver: json-file
Cgroup Driver: cgroupfs
Cgroup Version: 2
Plugins:
Volume: local
Network: bridge host ipvlan macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
Swarm: inactive
Runtimes: io.containerd.runc.v2 runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 3dce8eb055cbb6872793272b4f20ed16117344f8
runc version: v1.1.7-0-g860f061
init version: de40ad0
Security Options:
seccomp
Profile: unconfined
cgroupns
Kernel Version: 5.15.49-linuxkit-pr
Operating System: Docker Desktop
OSType: linux
Architecture: x86_64
CPUs: 3
Total Memory: 7.773GiB
Name: docker-desktop
ID: 3426c856-d32f-471d-bec4-0d47d8a93299
Docker Root Dir: /var/lib/docker
Debug Mode: false
HTTP Proxy: http.docker.internal:3128
HTTPS Proxy: http.docker.internal:3128
No Proxy: hubproxy.docker.internal
Experimental: false
Insecure Registries:
hubproxy.docker.internal:5555
127.0.0.0/8
Live Restore Enabled: false
WARNING: daemon is not using the default seccomp profile
from fyne-cross.
I'm also using the latest version of Docker. It seems that there are two other related issues, #200 and fyne-io/fyne#3795.
from fyne-cross.
fyne.io/fyne#3795 was not going to address the issue, but just introduce a workaround. The good news is that we are getting more people with the problem, so we might be able to narrow down what is going on.
@bogdanciuca If you could try to run:
docker run --rm -t -w /app -v /Users/ciuca/Desktop/Projects/diaconia-lis:/app -v /Users/ciuca/Library/Caches/fyne-cross:/go --platform linux/arm64 --user 501 -e HOME=/tmp -v /run/host-services/ssh-auth.sock:/run/host-services/ssh-auth.sock -e SSH_AUTH_SOCK=/run/host-services/ssh-auth.sock -e CGO_ENABLED=1 -e GOCACHE=/go/go-build -e GOOS=windows -e GOARCH=amd64 -e CC=zig cc -target x86_64-windows-gnu -Wdeprecated-non-prototype -Wl,--subsystem,windows -e CXX=zig c++ -target x86_64-windows-gnu -Wdeprecated-non-prototype -Wl,--subsystem,windows docker.io/fyneio/fyne-cross-images:windows git log --format="%H" -n 1
Also by any chance are you also using docker 24?
from fyne-cross.
@PaulWaldo to try podman, just install it (for example: https://devcoops.com/install-podman-on-ubuntu-23.04/ ). Then pass -engine podman
to fyne-cross command line.
from fyne-cross.
@Bluebugs Gotcha. Yes, I'm using Docker 4.22.0
/ Engine 24.0.5
. There might be a typo in your command, I'm getting the following error:
Unable to find image 'cc:latest' locally
docker: Error response from daemon: failed to resolve reference "docker.io/library/cc:latest": pull access denied, repository does not exist or may require authorization: server message: insufficient_scope: authorization failed.
See 'docker run --help'.
from fyne-cross.
Indeed, spacing issue. Hopefully this one catch all of them:
docker run --rm -t -w /app -v /Users/ciuca/Desktop/Projects/diaconia-lis:/app -v /Users/ciuca/Library/Caches/fyne-cross:/go --platform linux/arm64 --user 501 -e HOME=/tmp -v /run/host-services/ssh-auth.sock:/run/host-services/ssh-auth.sock -e SSH_AUTH_SOCK=/run/host-services/ssh-auth.sock -e CGO_ENABLED=1 -e GOCACHE=/go/go-build -e GOOS=windows -e GOARCH=amd64 -e CC="zig cc -target x86_64-windows-gnu -Wdeprecated-non-prototype -Wl,--subsystem,windows -e CXX="zig c++ -target x86_64-windows-gnu -Wdeprecated-non-prototype -Wl,--subsystem,windows" docker.io/fyneio/fyne-cross-images:windows git log --format="%H" -n 1
from fyne-cross.
Interesting pattern so far everyone here is using the same docker engine. Maybe a docker engine 24.0.5 change.
from fyne-cross.
@Bluebugs Got another error:
fatal: detected dubious ownership in repository at '/app'
To add an exception for this directory, call:
git config --global --add safe.directory /app
I tried running the git config command, but I get the same error.
from fyne-cross.
That's interesting. It seems that my change to the docker image to have that build in a no effect. Can you replace the git command by a cat ~/.gitconfig
?
from fyne-cross.
[user]
name = bogdanciuca
email = [email protected]
[safe]
directory = /app
from fyne-cross.
Is that when running things with docker
or on the host system?
from fyne-cross.
Host system. Should I mount / copy .gitconfig
?
from fyne-cross.
It should also be present in the container already. Something along the line:
docker run --rm -t -w /app -v /Users/ciuca/Desktop/Projects/diaconia-lis:/app -v /Users/ciuca/Library/Caches/fyne-cross:/go --platform linux/arm64 --user 501 -e HOME=/tmp -v /run/host-services/ssh-auth.sock:/run/host-services/ssh-auth.sock -e SSH_AUTH_SOCK=/run/host-services/ssh-auth.sock -e CGO_ENABLED=1 -e GOCACHE=/go/go-build -e GOOS=windows -e GOARCH=amd64 -e CC="zig cc -target x86_64-windows-gnu -Wdeprecated-non-prototype -Wl,--subsystem,windows -e CXX="zig c++ -target x86_64-windows-gnu -Wdeprecated-non-prototype -Wl,--subsystem,windows" docker.io/fyneio/fyne-cross-images:windows cat ~/.gitconfig
from fyne-cross.
The command uses the host path and throws a not found error:
cat: /Users/ciuca/.gitconfig: No such file or directory
I ran the container with bash and did a cat ~/.gitconfig
:
cat: /tmp/.gitconfig: No such file or directory
Looks like .gitconfig
isn't present in the container.
from fyne-cross.
And can you access the content of /root/.gitconfig
in the container?
from fyne-cross.
No, I get permission denied.
from fyne-cross.
@Bluebugs any updates on this issue?
from fyne-cross.
@Bluebugs sorry for the late response, but I did try Podman. I got the same results
β― unset SSH_AUTH_SOCK
β― fyne-cross version
fyne-cross version v1.4.0
β― fyne-cross darwin -pull -app-id abc123
[i] Target: darwin/amd64
[i] Checking for a newer version of the docker image: docker.io/fyneio/fyne-cross-images:darwin
[β] Image is up to date
[i] Cleaning target directories...
unable to upgrade to tcp, received 409
[β] could not clean the "bin" dir /app/fyne-cross/bin/darwin-amd64: exit status 1
β― fyne-cross darwin -pull -app-id abc123 -engine podman
[i] Target: darwin/amd64
[i] Checking for a newer version of the docker image: docker.io/fyneio/fyne-cross-images:darwin
[β] Image is up to date
[i] Cleaning target directories...
Error: preparing container 0b8b69aa9e181286d6ff63c60c562bb268ef214b1bfd44acb8aa275fdcf1f16d for attach: lsetxattr /Users/paul/src/personal/mastotool/.git: operation not supported
[β] could not clean the "bin" dir /app/fyne-cross/bin/darwin-amd64: exit status 126
Not only does it fail on my Mac, but it also fails on the Github Action
2023-09-22T13:47:23.3782560Z ##[group]Run brew install podman
2023-09-22T13:47:23.3783450Z οΏ½[36;1mbrew install podmanοΏ½[0m
2023-09-22T13:47:23.3783800Z οΏ½[36;1mpodman machine initοΏ½[0m
2023-09-22T13:47:23.3784280Z οΏ½[36;1mpodman machine startοΏ½[0m
2023-09-22T13:47:23.3981730Z shell: /bin/bash -e {0}
2023-09-22T13:47:23.3982210Z ##[endgroup]
2023-09-22T13:47:32.3909580Z οΏ½[34m==>οΏ½[0m οΏ½[1mDownloading https://ghcr.io/v2/homebrew/core/podman/manifests/4.6.2οΏ½[0m
2023-09-22T13:47:33.3031450Z οΏ½[32m==>οΏ½[0m οΏ½[1mFetching οΏ½[32mpodmanοΏ½[39mοΏ½[0m
2023-09-22T13:47:33.3133400Z οΏ½[34m==>οΏ½[0m οΏ½[1mDownloading https://ghcr.io/v2/homebrew/core/podman/blobs/sha256:799b17ef0f6d03deb70c22b87dc134e544ac6ceea382a363bd78de46f40a94b7οΏ½[0m
2023-09-22T13:47:34.1959840Z οΏ½[34m==>οΏ½[0m οΏ½[1mPouring podman--4.6.2.monterey.bottle.tar.gzοΏ½[0m
2023-09-22T13:47:35.4047650Z οΏ½[34m==>οΏ½[0m οΏ½[1mCaveatsοΏ½[0m
2023-09-22T13:47:35.4147910Z In order to run containers locally, podman depends on a Linux kernel.
2023-09-22T13:47:35.4248230Z One can be started manually using `podman machine` from this package.
2023-09-22T13:47:35.4349770Z To start a podman VM automatically at login, also install the cask
2023-09-22T13:47:35.4450020Z "podman-desktop".
2023-09-22T13:47:35.4549870Z
2023-09-22T13:47:35.4651050Z Bash completion has been installed to:
2023-09-22T13:47:35.4734860Z /usr/local/etc/bash_completion.d
2023-09-22T13:47:35.4822790Z οΏ½[34m==>οΏ½[0m οΏ½[1mSummaryοΏ½[0m
2023-09-22T13:47:35.4898680Z πΊ /usr/local/Cellar/podman/4.6.2: 190 files, 55.5MB
2023-09-22T13:47:51.3901680Z Extracting compressed file
2023-09-22T13:48:40.5287930Z Image resized.
2023-09-22T13:48:40.5310470Z Machine init complete
2023-09-22T13:48:40.5313180Z To start your machine run:
2023-09-22T13:48:40.5313450Z
2023-09-22T13:48:40.5313630Z podman machine start
2023-09-22T13:48:40.5313820Z
2023-09-22T13:48:40.5856810Z Starting machine "podman-machine-default"
2023-09-22T13:48:41.1043680Z Waiting for VM ...
2023-09-22T13:50:24.0198970Z Mounting volume... /Users:/Users
2023-09-22T13:50:25.8722610Z Mounting volume... /private:/private
2023-09-22T13:50:27.3354520Z Mounting volume... /var/folders:/var/folders
2023-09-22T13:50:29.0683390Z
2023-09-22T13:50:29.0718780Z This machine is currently configured in rootless mode. If your containers
2023-09-22T13:50:29.0732360Z require root permissions (e.g. ports < 1024), or if you run into compatibility
2023-09-22T13:50:29.0733730Z issues with non-podman clients, you can switch using the following command:
2023-09-22T13:50:29.0735720Z
2023-09-22T13:50:29.0736410Z podman machine set --rootful
2023-09-22T13:50:29.0737000Z
2023-09-22T13:50:29.0737740Z API forwarding listening on: /Users/runner/.local/share/containers/podman/machine/qemu/podman.sock
2023-09-22T13:50:29.0741000Z
2023-09-22T13:50:29.0741680Z The system helper service is not installed; the default Docker API socket
2023-09-22T13:50:29.0742930Z address can't be used by podman. If you would like to install it run the
2023-09-22T13:50:29.0769890Z following commands:
2023-09-22T13:50:29.0772250Z
2023-09-22T13:50:29.0776580Z sudo /usr/local/Cellar/podman/4.6.2/bin/podman-mac-helper install
2023-09-22T13:50:29.0777540Z podman machine stop; podman machine start
2023-09-22T13:50:29.0777860Z
2023-09-22T13:50:29.0778450Z You can still connect Docker API clients by setting DOCKER_HOST using the
2023-09-22T13:50:29.0778870Z following command in your terminal session:
2023-09-22T13:50:29.0779080Z
2023-09-22T13:50:29.0779950Z export DOCKER_HOST='unix:///Users/runner/.local/share/containers/podman/machine/qemu/podman.sock'
2023-09-22T13:50:29.0780310Z
2023-09-22T13:50:29.0780750Z Machine "podman-machine-default" started successfully
2023-09-22T13:50:29.0837010Z ##[group]Run fyne-cross \
2023-09-22T13:50:29.0837360Z οΏ½[36;1mfyne-cross \οΏ½[0m
2023-09-22T13:50:29.0837630Z οΏ½[36;1m darwin \οΏ½[0m
2023-09-22T13:50:29.0837880Z οΏ½[36;1m \οΏ½[0m
2023-09-22T13:50:29.0838100Z οΏ½[36;1m -name mastotool \οΏ½[0m
2023-09-22T13:50:29.0838540Z οΏ½[36;1m -app-id com.github.PaulWaldo.mastotoolοΏ½[0m
2023-09-22T13:50:29.0838860Z οΏ½[36;1mοΏ½[0m
2023-09-22T13:50:29.0839070Z οΏ½[36;1mls -lRοΏ½[0m
2023-09-22T13:50:29.1060190Z shell: /bin/bash -e {0}
2023-09-22T13:50:29.1060530Z ##[endgroup]
2023-09-22T13:50:29.2984500Z [i] Target: darwin/amd64
2023-09-22T13:50:29.2985900Z [i] Cleaning target directories...
2023-09-22T13:50:29.6649000Z Trying to pull docker.io/fyneio/fyne-cross-images:darwin...
2023-09-22T13:50:30.3657640Z Getting image source signatures
2023-09-22T13:50:30.3788610Z Copying blob sha256:14726c8f78342865030f97a8d3492e2d1a68fbd22778f9a31dc6be4b4f12a9bc
2023-09-22T13:50:30.3789870Z Copying blob sha256:9c368a637512fb8b34c662dffdd52dc718c40e39148b4fb1a3e11e055cdb47c2
2023-09-22T13:50:30.3804160Z Copying blob sha256:67cc0f803d06379b8a3c2faeb564b16da15c636bb4f5c57923d4044e90f0f572
2023-09-22T13:50:30.3821500Z Copying blob sha256:0f97dc54b8ddb06010cf5cc586cb1c562753390ee3709268848b67e6af75f722
2023-09-22T13:50:30.3851540Z Copying blob sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1
2023-09-22T13:50:30.3912890Z Copying blob sha256:0d7accad1951a57a3ec91aba2492fb9fd075e32f05c345f548c7ba8f122fcf33
2023-09-22T13:50:30.8368730Z Copying blob sha256:b092e14c51c5dbf2e5056aeee24f732ee612c4f8a14d1c5c2e0cc4be20d46491
2023-09-22T13:50:30.8571780Z Copying blob sha256:b36fd807c86f51ec598887c31121cab3b28c70c699fefb3e981a65ebb2164201
2023-09-22T13:50:32.1958910Z Copying blob sha256:088494f09b79e86b1bfcd2564d9d322afd650c9bc601bffef83478134027f9c0
2023-09-22T13:50:38.3944480Z Copying blob sha256:820d3c100cd8d530f544df6f4a5c7bb865950e21c02ac96e7173d19c494dcee5
2023-09-22T13:50:39.8298620Z Copying blob sha256:c420e5fe046eb1f5b6921f1553428f4f17f1606f49bd4c0d21f7a88b27550743
2023-09-22T13:50:41.7521360Z Copying blob sha256:e8079da3a2fdcfdf7911632e8999b3939ebc73af6a0e6612fef23478d34984eb
2023-09-22T13:54:45.4622670Z Copying config sha256:7d1d63f6687d801ccbe413e01cb432190135448b7cfe3e5edf62ee0dc2c4568b
2023-09-22T13:54:45.4908910Z Writing manifest to image destination
2023-09-22T13:54:45.6198760Z Error: statfs /private/tmp/com.apple.launchd.1YjY7dhatT/Listeners: operation not supported
2023-09-22T13:54:45.6200080Z [β] could not clean the "dist" dir /app/fyne-cross/dist/darwin-amd64: exit status 125
2023-09-22T13:54:45.6225550Z ##[error]Process completed with exit code 1.
2023-09-22T13:54:45.6367740Z Post job cleanup.
from fyne-cross.
@PaulWaldo very interesting. The podman error seems to point to this issue: containers/podman#19132 . What is your file system? Does that make sense as an explanation?
it seems that your github action is exposing a ssh agent that is troubling fyne-cross. Can you share a link to it or the yaml for it?
from fyne-cross.
Oh and can you post the debug run of podman on your machine too?
from fyne-cross.
@Bluebugs here is the link to the action: https://github.com/PaulWaldo/mastotool/blob/feature/releaser/.github/workflows/release.yml.
Note it is still a work in progress, hence the feature branch
from fyne-cross.
@Bluebugs here is the podman debug output
β― fyne-cross windows -app-id com.example.myapp -pull -debug -engine podman
[i] Target: windows/amd64
&command.localContainerImage{baseContainerImage:command.baseContainerImage{arch:"amd64", os:"windows", id:"windows-amd64", env:map[string]string{"CC":"zig cc -target x86_64-windows-gnu -Wdeprecated-non-prototype -Wl,--subsystem,windows", "CXX":"zig c++ -target x86_64-windows-gnu -Wdeprecated-non-prototype -Wl,--subsystem,windows", "GOARCH":"amd64", "GOOS":"windows"}, tags:[]string(nil), mount:[]command.containerMountPoint{command.containerMountPoint{name:"project", localHost:"/Users/paul/src/personal/mastotool", inContainer:"/app"}, command.containerMountPoint{name:"cache", localHost:"/Users/paul/Library/Caches/fyne-cross", inContainer:"/go"}}, DockerImage:"docker.io/fyneio/fyne-cross-images:windows"}, runner:(*command.localContainerEngine)(0xc0000da090)}
[i] Checking for a newer version of the docker image: docker.io/fyneio/fyne-cross-images:windows
/usr/local/bin/podman pull docker.io/fyneio/fyne-cross-images:windows
Trying to pull docker.io/fyneio/fyne-cross-images:windows...
Getting image source signatures
Copying blob sha256:0d7accad1951a57a3ec91aba2492fb9fd075e32f05c345f548c7ba8f122fcf33
Copying blob sha256:14726c8f78342865030f97a8d3492e2d1a68fbd22778f9a31dc6be4b4f12a9bc
Copying blob sha256:9c368a637512fb8b34c662dffdd52dc718c40e39148b4fb1a3e11e055cdb47c2
Copying blob sha256:67cc0f803d06379b8a3c2faeb564b16da15c636bb4f5c57923d4044e90f0f572
Copying blob sha256:0f97dc54b8ddb06010cf5cc586cb1c562753390ee3709268848b67e6af75f722
Copying blob sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1
Copying blob sha256:b092e14c51c5dbf2e5056aeee24f732ee612c4f8a14d1c5c2e0cc4be20d46491
Copying blob sha256:b36fd807c86f51ec598887c31121cab3b28c70c699fefb3e981a65ebb2164201
Copying blob sha256:088494f09b79e86b1bfcd2564d9d322afd650c9bc601bffef83478134027f9c0
Copying blob sha256:820d3c100cd8d530f544df6f4a5c7bb865950e21c02ac96e7173d19c494dcee5
Copying blob sha256:c420e5fe046eb1f5b6921f1553428f4f17f1606f49bd4c0d21f7a88b27550743
Copying config sha256:1e3d0da6428d4a46df420175ccb189ec7114934f3e2183900d6c7af3d24ba484
Writing manifest to image destination
1e3d0da6428d4a46df420175ccb189ec7114934f3e2183900d6c7af3d24ba484
[β] Image is up to date
[i] Cleaning target directories...
/usr/local/bin/podman run --rm -t -w /app -v /Users/paul/src/personal/mastotool:/app:z -v /Users/paul/Library/Caches/fyne-cross:/go:z --userns keep-id -e use_podman=1 --arch=amd64 -e CGO_ENABLED=1 -e GOCACHE=/go/go-build -e GOOS=windows -e GOARCH=amd64 -e CC=zig cc -target x86_64-windows-gnu -Wdeprecated-non-prototype -Wl,--subsystem,windows -e CXX=zig c++ -target x86_64-windows-gnu -Wdeprecated-non-prototype -Wl,--subsystem,windows docker.io/fyneio/fyne-cross-images:windows rm -rf /app/fyne-cross/bin/windows-amd64
Error: preparing container 75aec2439bebdea44a654f4bc971da198bd081ca467dbc7d1a6400da7d358a76 for attach: lsetxattr /Users/paul/src/personal/mastotool/.git: operation not supported
[β] could not clean the "bin" dir /app/fyne-cross/bin/windows-amd64: exit status 126
Note that the reason I unset SSH_AUTH_SOCK
is because I have 1Password managing my SSH key. If I don't do that I get this
β― fyne-cross windows -app-id com.example.myapp -pull -debug -engine podman
[i] Target: windows/amd64
&command.localContainerImage{baseContainerImage:command.baseContainerImage{arch:"amd64", os:"windows", id:"windows-amd64", env:map[string]string{"CC":"zig cc -target x86_64-windows-gnu -Wdeprecated-non-prototype -Wl,--subsystem,windows", "CXX":"zig c++ -target x86_64-windows-gnu -Wdeprecated-non-prototype -Wl,--subsystem,windows", "GOARCH":"amd64", "GOOS":"windows"}, tags:[]string(nil), mount:[]command.containerMountPoint{command.containerMountPoint{name:"project", localHost:"/Users/paul/src/personal/mastotool", inContainer:"/app"}, command.containerMountPoint{name:"cache", localHost:"/Users/paul/Library/Caches/fyne-cross", inContainer:"/go"}}, DockerImage:"docker.io/fyneio/fyne-cross-images:windows"}, runner:(*command.localContainerEngine)(0xc0000da090)}
[i] Checking for a newer version of the docker image: docker.io/fyneio/fyne-cross-images:windows
/usr/local/bin/podman pull docker.io/fyneio/fyne-cross-images:windows
Trying to pull docker.io/fyneio/fyne-cross-images:windows...
Getting image source signatures
Copying blob sha256:0d7accad1951a57a3ec91aba2492fb9fd075e32f05c345f548c7ba8f122fcf33
Copying blob sha256:14726c8f78342865030f97a8d3492e2d1a68fbd22778f9a31dc6be4b4f12a9bc
Copying blob sha256:9c368a637512fb8b34c662dffdd52dc718c40e39148b4fb1a3e11e055cdb47c2
Copying blob sha256:67cc0f803d06379b8a3c2faeb564b16da15c636bb4f5c57923d4044e90f0f572
Copying blob sha256:0f97dc54b8ddb06010cf5cc586cb1c562753390ee3709268848b67e6af75f722
Copying blob sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1
Copying blob sha256:b092e14c51c5dbf2e5056aeee24f732ee612c4f8a14d1c5c2e0cc4be20d46491
Copying blob sha256:b36fd807c86f51ec598887c31121cab3b28c70c699fefb3e981a65ebb2164201
Copying blob sha256:088494f09b79e86b1bfcd2564d9d322afd650c9bc601bffef83478134027f9c0
Copying blob sha256:820d3c100cd8d530f544df6f4a5c7bb865950e21c02ac96e7173d19c494dcee5
Copying blob sha256:c420e5fe046eb1f5b6921f1553428f4f17f1606f49bd4c0d21f7a88b27550743
Copying config sha256:1e3d0da6428d4a46df420175ccb189ec7114934f3e2183900d6c7af3d24ba484
Writing manifest to image destination
1e3d0da6428d4a46df420175ccb189ec7114934f3e2183900d6c7af3d24ba484
[β] Image is up to date
[i] Cleaning target directories...
/usr/local/bin/podman run --rm -t -w /app -v /Users/paul/src/personal/mastotool:/app:z -v /Users/paul/Library/Caches/fyne-cross:/go:z --userns keep-id -e use_podman=1 --arch=amd64 -v /Users/paul/Library/Group Containers/2BUA8C4S2C.com.1password/t/agent.sock:/tmp/ssh-agent -e SSH_AUTH_SOCK=/tmp/ssh-agent -e CGO_ENABLED=1 -e GOCACHE=/go/go-build -e GOOS=windows -e GOARCH=amd64 -e CC=zig cc -target x86_64-windows-gnu -Wdeprecated-non-prototype -Wl,--subsystem,windows -e CXX=zig c++ -target x86_64-windows-gnu -Wdeprecated-non-prototype -Wl,--subsystem,windows docker.io/fyneio/fyne-cross-images:windows rm -rf /app/fyne-cross/bin/windows-amd64
Error: statfs /Users/paul/Library/Group Containers/2BUA8C4S2C.com.1password/t/agent.sock: operation not supported
[β] could not clean the "bin" dir /app/fyne-cross/bin/windows-amd64: exit status 125
β― echo $SSH_AUTH_SOCK
/Users/paul/Library/Group Containers/2BUA8C4S2C.com.1password/t/agent.sock
from fyne-cross.
I don't know if it helps, but I see a little more debug info when attempting to run the workflow locally using https://github.com/nektos/act
The path /root/.cache/fyne-cross is not shared from the host and is not known to Docker.
| [i] Target: linux/amd64
| [i] Cleaning target directories...
| Unable to find image 'fyneio/fyne-cross-images:linux' locally
| linux: Pulling from fyneio/fyne-cross-images
14726c8f7834: Already exists
9c368a637512: Already exists
67cc0f803d06: Already exists
0f97dc54b8dd: Already exists
4f4fb700ef54: Already exists
0d7accad1951: Already exists
b092e14c51c5: Already exists
b36fd807c86f: Already exists
088494f09b79: Already exists
820d3c100cd8: Already exists
c420e5fe046e: Already exists
a645cacff43e: Pull complete
Digest: sha256:01904efd97a14445cb243e2b70257665fb91aaad539cf6a091d78998e0d4cca6
| Status: Downloaded newer image for fyneio/fyne-cross-images:linux
| docker: Error response from daemon: Mounts denied:
| The path /root/.cache/fyne-cross is not shared from the host and is not known to Docker.
| You can configure shared paths from Docker -> Preferences... -> Resources -> File Sharing.
| See https://docs.docker.com/desktop/mac for more info.
| ERRO[0037] error waiting for container:
| [β] could not clean the "bin" dir /app/fyne-cross/bin/linux-amd64: exit status 125
[Release/Create Artifacts] β Failure - Main Build MastoTool (linux, 1.21.x)
[Release/Create Artifacts] exitcode '1': failure
from fyne-cross.
@Bluebugs that is good news. I wonder why that message had not been printed from fyne-cross?
from fyne-cross.
If you guys could test PR #208 . Might work by doing a go install github.com/fyne-io/fyne-cross@afc530577482f11bb90e3baafc1edd4618a4fbb4 .
from fyne-cross.
Thanks @Bluebugs, but no luck running on macOS:
β― go install github.com/fyne-io/fyne-cross@afc530577482f11bb90e3baafc1edd4618a4fbb4
go: downloading github.com/fyne-io/fyne-cross v1.4.1-0.20230927002342-afc530577482
β― fyne-cross freebsd -name jhjh
[i] Target: freebsd/amd64
[i] Cleaning target directories...
[β] "bin" dir cleaned: /app/fyne-cross/bin/freebsd-amd64
[β] "dist" dir cleaned: /app/fyne-cross/dist/freebsd-amd64
[β] "temp" dir cleaned: /app/fyne-cross/tmp/freebsd-amd64
[i] Checking for go.mod: /Users/paul/src/personal/mastotool/go.mod
[β] go.mod found
[i] Packaging app...
[!] Default icon not found at "Icon.png"
[β] Created a placeholder icon using Fyne logo for testing purpose
go: downloading fyne.io/fyne/v2 v2.4.0
go: downloading golang.org/x/exp v0.0.0-20230817173708-d852ddb80c63
go: downloading golang.org/x/sys v0.12.0
go: downloading github.com/go-text/typesetting v0.0.0-20230803102845-24e03d8b5372
go: downloading github.com/yuin/goldmark v1.5.6
go: downloading golang.org/x/image v0.12.0
go: downloading fyne.io/systray v1.10.1-0.20230722100817-88df1e0ffa9a
go: downloading github.com/fyne-io/image v0.0.0-20230811065323-ed435dc8bca6
go: downloading github.com/go-text/render v0.0.0-20230619120952-35bccb6164b8
go: downloading golang.org/x/net v0.15.0
go: downloading golang.org/x/text v0.13.0
error obtaining VCS status: exit status 128
Use -buildvcs=false to disable VCS stamping.
error building application: exit status 1
[β] could not package the Fyne app: could not package the Fyne app: exit status 1
β― fyne-cross windows -name jhjh -app-id a.b.c
[i] Target: windows/amd64
[i] Cleaning target directories...
[β] "bin" dir cleaned: /app/fyne-cross/bin/windows-amd64
[β] "dist" dir cleaned: /app/fyne-cross/dist/windows-amd64
[β] "temp" dir cleaned: /app/fyne-cross/tmp/windows-amd64
[i] Checking for go.mod: /Users/paul/src/personal/mastotool/go.mod
[β] go.mod found
[i] Packaging app...
error obtaining VCS status: exit status 128
Use -buildvcs=false to disable VCS stamping.
error building application: exit status 1
[β] could not package the Fyne app: exit status 1
On a positive note, the dir cleaning steps, which were like molasses, are now lightning fast.
from fyne-cross.
Thanks @Bluebugs, but no luck running on macOS:
Was that with docker or podman?
from fyne-cross.
It was Docker. Previously Podman gave the same error.
from fyne-cross.
Can you check with podman with that branch too? I am hoping there is a difference in behavior.
from fyne-cross.
Sorry @Bluebugs, on the mac I still get a failure with your branch
β― fyne-cross freebsd -name jhjh -engine podman
[i] Target: freebsd/amd64
[i] Cleaning target directories...
Trying to pull docker.io/fyneio/fyne-cross-images:freebsd-amd64...
Getting image source signatures
Copying blob sha256:0d7accad1951a57a3ec91aba2492fb9fd075e32f05c345f548c7ba8f122fcf33
Copying blob sha256:14726c8f78342865030f97a8d3492e2d1a68fbd22778f9a31dc6be4b4f12a9bc
Copying blob sha256:9c368a637512fb8b34c662dffdd52dc718c40e39148b4fb1a3e11e055cdb47c2
Copying blob sha256:67cc0f803d06379b8a3c2faeb564b16da15c636bb4f5c57923d4044e90f0f572
Copying blob sha256:0f97dc54b8ddb06010cf5cc586cb1c562753390ee3709268848b67e6af75f722
Copying blob sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1
Copying blob sha256:b092e14c51c5dbf2e5056aeee24f732ee612c4f8a14d1c5c2e0cc4be20d46491
Copying blob sha256:b36fd807c86f51ec598887c31121cab3b28c70c699fefb3e981a65ebb2164201
Copying blob sha256:088494f09b79e86b1bfcd2564d9d322afd650c9bc601bffef83478134027f9c0
Copying blob sha256:820d3c100cd8d530f544df6f4a5c7bb865950e21c02ac96e7173d19c494dcee5
Copying blob sha256:c420e5fe046eb1f5b6921f1553428f4f17f1606f49bd4c0d21f7a88b27550743
Copying blob sha256:5f4c1d2a62658b5052836efa6f4fb2790c17b2f1fb7bad4f4626eaa8f2ebc6a1
Copying blob sha256:334ec8092f9ba07139e6400af3e15aec81476b6dc2217158b1b3e72c1ebc7959
Copying blob sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1
Copying blob sha256:408a9c73f1f306ca8e9841a5b1eb543525e4f77b37aec79fd6e125cc51e64e95
Copying blob sha256:a2cc62531bf2454a6a96340872257b43ba7cba288dfeb715cded4de400c56e33
Copying blob sha256:66351becc044af562e5dfb39470387ad3bc630f20566480759a1750fa48b8508
Copying config sha256:6b8147aadd7d4908baed32b40db121c671eaf26fd457107396fc65786ad87ea3
Writing manifest to image destination
Error: statfs /run/host-services/ssh-auth.sock: no such file or directory
[β] could not clean the "bin" dir /app/fyne-cross/bin/freebsd-amd64: exit status 125
from fyne-cross.
Oh, it seems that podman is using a different magic path for ssh-agent than docker. I will look into it.
from fyne-cross.
According to containers/podman#14074 podman doesn't support ssh-agent forwarding at the moment on MacOS. I will do a PR to turn it on and document that.
from fyne-cross.
Can you try with podman and my update PR: go install github.com/fyne-io/fyne-cross@8489955341f5c1ac230697afa86034444432830d
?
from fyne-cross.
same error, confuse me a fucking long time, @Bluebugs any solutions?
[i] Target: windows/amd64
[i] Cleaning target directories...
[β] "dist" dir cleaned: /app/fyne-cross/dist/windows-amd64
[β] "temp" dir cleaned: /app/fyne-cross/tmp/windows-amd64
rm: cannot remove '/app/fyne-cross/bin/windows-amd64/fyne-cross/bin': Permission denied
rm: cannot remove '/app/fyne-cross/bin/windows-amd64/fyne-cross/dist': Permission denied
rm: cannot remove '/app/fyne-cross/bin/windows-amd64/fyne-cross/tmp': Permission denied
[β] could not clean the "bin" dir /app/fyne-cross/bin/windows-amd64: exit status 1
from fyne-cross.
same error, confuse me a fucking long time, @Bluebugs any solutions?
[i] Target: windows/amd64 [i] Cleaning target directories... [β] "dist" dir cleaned: /app/fyne-cross/dist/windows-amd64 [β] "temp" dir cleaned: /app/fyne-cross/tmp/windows-amd64 rm: cannot remove '/app/fyne-cross/bin/windows-amd64/fyne-cross/bin': Permission denied rm: cannot remove '/app/fyne-cross/bin/windows-amd64/fyne-cross/dist': Permission denied rm: cannot remove '/app/fyne-cross/bin/windows-amd64/fyne-cross/tmp': Permission denied [β] could not clean the "bin" dir /app/fyne-cross/bin/windows-amd64: exit status 1
solved !
from fyne-cross.
same error, confuse me a fucking long time, @Bluebugs any solutions?
[i] Target: windows/amd64 [i] Cleaning target directories... [β] "dist" dir cleaned: /app/fyne-cross/dist/windows-amd64 [β] "temp" dir cleaned: /app/fyne-cross/tmp/windows-amd64 rm: cannot remove '/app/fyne-cross/bin/windows-amd64/fyne-cross/bin': Permission denied rm: cannot remove '/app/fyne-cross/bin/windows-amd64/fyne-cross/dist': Permission denied rm: cannot remove '/app/fyne-cross/bin/windows-amd64/fyne-cross/tmp': Permission denied [β] could not clean the "bin" dir /app/fyne-cross/bin/windows-amd64: exit status 1
solved !
How did you get it solved?
from fyne-cross.
I use this code
go install github.com/fyne-io/fyne-cross@8489955341f5c1ac230697afa86034444432830d
show this error
[i] Target: windows/amd64
[i] Cleaning target directories...
[β] "temp" dir cleaned: /app/fyne-cross/tmp/windows-amd64
[β] "bin" dir cleaned: /app/fyne-cross/bin/windows-amd64
[β] "dist" dir cleaned: /app/fyne-cross/dist/windows-amd64
[i] Checking for go.mod: /Users/go/src/go_project_template/go.mod
[β] go.mod found
[i] Packaging app...
2023/10/14 16:13:24 Fyne error: Failed to inject metadata init file, omitting metadata
2023/10/14 16:13:24 Cause: exit status 1
2023/10/14 16:13:24 At: /go/pkg/mod/fyne.io/fyne/[email protected]/cmd/fyne/internal/commands/build.go:215
go: errors parsing go.mod:
/app/go.mod:3: invalid go version '1.21.3': must match format 1.23
my env
Darwin x86_64
go version go1.21.3 darwin/amd64
fyne cli version: v2.4.0
fyne-cross version v1.4.1-0.20230929231344-8489955341f5
Docker version 24.0.6, build ed223bc
Special Instructions
β I executed git init
β‘The remote warehouse address was added, but it was just an invalid warehouse address added randomly.
Should parameters be passed at compile time?
from fyne-cross.
@junmaqiang this looks like a different problem where fyne running inside the container doesn't have the right to create file in the current directory while the other are having an issue with accessing file inside the .git subdirectory for reading. If you do not mind creating a different issue for this.
from fyne-cross.
I am finally able to reproduce the problem after updating an Intel Mac to latest docker. Something broke in the last 3 months in our use of docker. I will look through the release log of docker to see if I can get any clue.
Thank you fix the bug but I find the fyne-cross-images
images are old. Can you help to build and push newer images base on the new base image.
I build the fyneio/fyne-cross-images:windows
in my local and run the fyne-cross windows
, I find the result is still error:
[i] Target: windows/arm64
[i] Cleaning target directories...
[β] "bin" dir cleaned: /app/fyne-cross/bin/windows-arm64
[β] "dist" dir cleaned: /app/fyne-cross/dist/windows-arm64
[β] "temp" dir cleaned: /app/fyne-cross/tmp/windows-arm64
[i] Checking for go.mod: /Users/wangjian/github/nnsay/aes-helper/go.mod
[β] go.mod found
[i] Packaging app...
error obtaining VCS status: exit status 128
Use -buildvcs=false to disable VCS stamping.
error building application: exit status 1
[β] could not package the Fyne app: exit status 1
make: *** [build-win] Error 1
from fyne-cross.
After some testing, I found a way to way to resolve the error obtaining VCS status
problem. The way is to remove or hide the .git
folder when you package by fyne-cross. My test result look like below:
The above way is my remove
way for the .git
folder. Our source code will be copy to new folder but not .git
.
My hide
way for the .git
is to refactor code base, for example put source files into some else folder but not root folder.
I find out that the .git
will be volumed to the container, if do not send the .git
folder to container, the fyne-cross package will work well.
from fyne-cross.
With Apple last update, docker on my laptop got broken and I can not test/ reproduce this anymore. If anyone has time, the latest published fyne cross image should fix the problem reported here. Let me know if this work for you.
from fyne-cross.
After a full reinstall of docker, I am not able to reproduce the problem with the latest image. I think this is finally solved.
from fyne-cross.
Related Issues (20)
- Permission Denied Error HOT 16
- Adding support for building native dependencies using zig HOT 4
- fyne-cross running fixuid on everything before every command tanks performance HOT 11
- Ability to use locally installed zig for supported targets HOT 4
- fyne cross build fails with latest version v1.4.0 HOT 11
- Build darwin target fail on Windows 10 host XCode 14.3 HOT 15
- fyne-cross option -ldflags does not work properly like it does in go build HOT 25
- Windows build cannot handle a space in the name
- fyne-cross windows -arch=386 build creates two orphan files in ./ folder HOT 1
- -tags not working, along with zig failures HOT 7
- missing appID parameter for package HOT 2
- Windows 11 compile darwin failed HOT 5
- Propagate tags when building with fyne cross HOT 10
- Go v1.21 support HOT 2
- cannot load embed: malformed module path "embed": missing dot in first path element HOT 2
- fyne-cross-1.3-linux-arm64 and fyne-cross-1.3-linux-arm images HOT 2
- Support full semver versions with -app-version flag HOT 2
- Compilation problems may be related to the warehouse address and permissions. HOT 2
- darwin-amd64 Command Line Tools for Xcode 15 fails to compile on linux-amd64 HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from fyne-cross.