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

successive linux builds fail to instantiate toolchain #303

Closed
jhheider opened this issue Feb 1, 2024 · 3 comments
Closed

successive linux builds fail to instantiate toolchain #303

jhheider opened this issue Feb 1, 2024 · 3 comments

Comments

@jhheider
Copy link
Contributor

jhheider commented Feb 1, 2024

at least in our docker image; possibly elsewhere:

pkgx $ bk b yarnpkg.com=3.8
env +git-scm.org +pkgx.sh/brewkit^0,^1
env -git-scm.org -pkgx.sh/brewkit^0,^1
  
  computing configuration
pkg: yarnpkg.com=3.8.0
src: /work/srcs/yarnpkg.com-3.8.0
build: /work/builds/yarnpkg.com-3.8.0
home: /work/homes/yarnpkg.com-3.8.0
install: ~/.pkgx/yarnpkg.com/v3.8.0
build-install: ~/.pkgx/yarnpkg.com/v3.8.0+brewing
  
  fetch & extract
  
  stage
rsync /work/projects/yarnpkg.com /work/builds/yarnpkg.com-3.8.0/props
error: Uncaught (in promise) AlreadyExists: File exists (os error 17): symlink '/root/.pkgx/llvm.org/v*/bin/clang' -> '/work/homes/yarnpkg.com-3.8.0/toolchain/cc'
    Deno.symlinkSync(target.string, this.string)
         ^
    at Object.symlinkSync (ext:deno_fs/30_fs.js:541:3)
    at Path.ln (https://deno.land/x/[email protected]/src/utils/Path.ts:377:10)
    at symlink (file:///root/.pkgx/pkgx.sh/brewkit/v1.12.0/bin/cmd/build:178:14)
    at make_toolchain (file:///root/.pkgx/pkgx.sh/brewkit/v1.12.0/bin/cmd/build:182:5)
    at file:///root/.pkgx/pkgx.sh/brewkit/v1.12.0/bin/cmd/build:84:24
    at eventLoopTick (ext:core/01_core.js:182:7)

currently, rm -rf homes/yarnpkg.com=3.8.0 && bk b yarnpkg.com=3.8 works as a workaround.

@mxcl
Copy link
Member

mxcl commented Feb 2, 2024

I think this is a “symlinking across to a docker volume” issue

@jhheider
Copy link
Contributor Author

jhheider commented Feb 2, 2024

could well be; any good reason not to sanitize the toolchain directory?

@jhheider
Copy link
Contributor Author

jhheider commented Feb 2, 2024

actually, it's probably just this:

$ touch a
$ deno
Deno 1.40.1
exit using ctrl+d, ctrl+c, or close()
REPL is running with all permissions allowed.
To specify permissions, run `deno repl` with allow flags.
> Deno.symlinkSync("a", "b")
undefined
>
$ 
ls -l
total 0
-rw-r--r--  1 jacob  staff  0 Feb  2 13:10 a
lrwxr-xr-x  1 jacob  staff  1 Feb  2 13:10 b -> a
$ deno
Deno 1.40.1
exit using ctrl+d, ctrl+c, or close()
REPL is running with all permissions allowed.
To specify permissions, run `deno repl` with allow flags.
> Deno.symlinkSync("a", "b")
Uncaught AlreadyExists: File exists (os error 17): symlink 'a' -> 'b'
    at Object.symlinkSync (ext:deno_fs/30_fs.js:545:3)
    at <anonymous>:1:27
>

mxcl added a commit that referenced this issue Feb 5, 2024
@mxcl mxcl closed this as completed in 09713c5 Feb 5, 2024
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

No branches or pull requests

2 participants