I'm trying to build application with deno compile to single executable with Nix and run it in nix container:
packages.api = pkgs.stdenv.mkDerivation rec {
name = "api";
src = ./api;
__noChroot = true;
nativeBuildInputs = with pkgs; [
deno
unzip
autoPatchelfHook
];
buildInputs = with pkgs; [
stdenv.cc.cc
];
buildPhase = ''
runHook preBuild
export DENO_DIR=./.deno
mkdir $DENO_DIR
deno cache --reload --lock ./deno.lock --lock-write main.ts
mkdir -p $out/bin
deno compile -A --check --lock=deno.lock ./main.ts --cached-only --output $out/bin/${name} --target=x86_64-unknown-linux-gnu
runHook postBuild
'';
};
Patched libraries:
foxpro:~/craft/sferadel/next$ /nix/store/1x4ijm9r1a88qk7zcmbbfza324gx1aac-glibc-2.37-8/lib/ld-linux-x86-64.so.2 --list /nix/store/agib1vzv0i6br7cy7kdl1ymcm01w5wjx-api/bin/api 19:22 27.07
linux-vdso.so.1 (0x00007fffa8f36000)
libdl.so.2 => /nix/store/1x4ijm9r1a88qk7zcmbbfza324gx1aac-glibc-2.37-8/lib/libdl.so.2 (0x00007ff7134a0000)
libgcc_s.so.1 => /nix/store/m6kphh9rh424vbw5wq84jcg0r4is4sc5-gcc-12.3.0-libgcc/lib/libgcc_s.so.1 (0x00007ff71347f000)
libpthread.so.0 => /nix/store/1x4ijm9r1a88qk7zcmbbfza324gx1aac-glibc-2.37-8/lib/libpthread.so.0 (0x00007ff71347a000)
libm.so.6 => /nix/store/1x4ijm9r1a88qk7zcmbbfza324gx1aac-glibc-2.37-8/lib/libm.so.6 (0x00007ff71339a000)
libc.so.6 => /nix/store/1x4ijm9r1a88qk7zcmbbfza324gx1aac-glibc-2.37-8/lib/libc.so.6 (0x00007ff70d21a000)
/nix/store/1x4ijm9r1a88qk7zcmbbfza324gx1aac-glibc-2.37-8/lib/ld-linux-x86-64.so.2 (0x00007ff7134a7000)
Starting produced binary:
foxpro:~/craft/sferadel/next$ with-env {LD_DEBUG: files} { /nix/store/agib1vzv0i6br7cy7kdl1ymcm01w5wjx-api/bin/api } 19:23 27.07
505344:
505344: file=libdl.so.2 [0]; needed by /nix/store/agib1vzv0i6br7cy7kdl1ymcm01w5wjx-api/bin/api [0]
505344: file=libdl.so.2 [0]; generating link map
505344: dynamic: 0x00007f26e71e3da8 base: 0x00007f26e71e0000 size: 0x0000000000004010
505344: entry: 0x00007f26e71e0000 phdr: 0x00007f26e71e0040 phnum: 11
505344:
505344:
505344: file=libgcc_s.so.1 [0]; needed by /nix/store/agib1vzv0i6br7cy7kdl1ymcm01w5wjx-api/bin/api [0]
505344: file=libgcc_s.so.1 [0]; generating link map
505344: dynamic: 0x00007f26e71dec00 base: 0x00007f26e71bf000 size: 0x0000000000020148
505344: entry: 0x00007f26e71bf000 phdr: 0x00007f26e71bf040 phnum: 10
505344:
505344:
505344: file=libpthread.so.0 [0]; needed by /nix/store/agib1vzv0i6br7cy7kdl1ymcm01w5wjx-api/bin/api [0]
505344: file=libpthread.so.0 [0]; generating link map
505344: dynamic: 0x00007f26e71bdda8 base: 0x00007f26e71ba000 size: 0x0000000000004010
505344: entry: 0x00007f26e71ba000 phdr: 0x00007f26e71ba040 phnum: 11
505344:
505344:
505344: file=libm.so.6 [0]; needed by /nix/store/agib1vzv0i6br7cy7kdl1ymcm01w5wjx-api/bin/api [0]
505344: file=libm.so.6 [0]; generating link map
505344: dynamic: 0x00007f26e71b8c58 base: 0x00007f26e70da000 size: 0x00000000000df018
505344: entry: 0x00007f26e70da000 phdr: 0x00007f26e70da040 phnum: 11
505344:
505344:
505344: file=libc.so.6 [0]; needed by /nix/store/agib1vzv0i6br7cy7kdl1ymcm01w5wjx-api/bin/api [0]
505344: file=libc.so.6 [0]; generating link map
505344: dynamic: 0x00007f26e70ca980 base: 0x00007f26e6ef4000 size: 0x00000000001e5d70
505344: entry: 0x00007f26e6f17c90 phdr: 0x00007f26e6ef4040 phnum: 14
505344:
505344:
505344: calling init: /nix/store/1x4ijm9r1a88qk7zcmbbfza324gx1aac-glibc-2.37-8/lib/ld-linux-x86-64.so.2
505344:
505344:
505344: calling init: /nix/store/1x4ijm9r1a88qk7zcmbbfza324gx1aac-glibc-2.37-8/lib/libc.so.6
505344:
505344:
505344: calling init: /nix/store/1x4ijm9r1a88qk7zcmbbfza324gx1aac-glibc-2.37-8/lib/libm.so.6
505344:
505344:
505344: calling init: /nix/store/1x4ijm9r1a88qk7zcmbbfza324gx1aac-glibc-2.37-8/lib/libpthread.so.0
505344:
505344:
505344: calling init: /nix/store/m6kphh9rh424vbw5wq84jcg0r4is4sc5-gcc-12.3.0-libgcc/lib/libgcc_s.so.1
505344:
505344:
505344: calling init: /nix/store/1x4ijm9r1a88qk7zcmbbfza324gx1aac-glibc-2.37-8/lib/libdl.so.2
505344:
505344:
505344: initialize program: /nix/store/agib1vzv0i6br7cy7kdl1ymcm01w5wjx-api/bin/api
505344:
505344:
505344: transferring control: /nix/store/agib1vzv0i6br7cy7kdl1ymcm01w5wjx-api/bin/api
505344:
Deno 1.35.2
exit using ctrl+d, ctrl+c, or close()
REPL is running with all permissions allowed.
To specify permissions, run `deno repl` with allow flags.
>
Related: #12780
I'm trying to build application with
deno compileto single executable with Nix and run it in nix container:Patched libraries:
Starting produced binary:
Related: #12780