emulsion
emulsion copied to clipboard
Gelatin compilation fails with: linking with cc failed: exit status: 1
I have ninja
, nasm
and meson
installed on my system (versions 1.10.2-1
, 2.15.05-1
and 0.59.0-2
)
This is the compilation error I'm getting:
Compiling winit v0.24.0
Compiling arboard v1.2.0
Compiling libavif-image v0.6.0
Compiling glutin v0.26.0
Compiling gelatin v0.7.0 (/home/aurbuilder/.cache/rua/build/emulsion/src/emulsion-9.0/subcrates/gelatin)
error: linking with `cc` failed: exit status: 1
|
= note: "cc" "-m64" "/home/aurbuilder/.cache/rua/build/emulsion/src/emulsion-9.0/target/release/deps/emulsion-43a0d29a7521ad8c.emulsion.df2ylgq9-cgu.7.rcgu.o" "-Wl,--as-needed" "-L" "/home/aurbuilder/.cache/rua/build/emulsion/src/emulsion-9.0/target/release/deps" "-L" "/home/aurbuilder/.cache/rua/build/emulsion/src/emulsion-9.0/target/release/build/libavif-sys-d113af69a74c26ee/out/lib" "-L" "/home/aurbuilder/.cache/rua/build/emulsion/src/emulsion-9.0/target/release/build/libdav1d-sys-4225f86aee9481d1/out/install/lib" "-L" "/home/aurbuilder/.cache/rua/build/emulsion/src/emulsion-9.0/target/release/build/sys-info-8afee6ca6767f2e0/out" "-L" "/home/aurbuilder/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-Bstatic" "/tmp/rustcb2YVA4/libsys_info-8ff7249fd5486ef0.rlib" "/tmp/rustcb2YVA4/liblibavif_sys-0d29e8d247ed0264.rlib" "/tmp/rustcb2YVA4/liblibdav1d_sys-cafdd0d105f2d160.rlib" "-Wl,--start-group" "-Wl,--end-group" "/home/aurbuilder/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-d6c7a399d95d173f.rlib" "-Wl,-Bdynamic" "-ldl" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-Wl,--eh-frame-hdr" "-Wl,-znoexecstack" "-L" "/home/aurbuilder/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/home/aurbuilder/.cache/rua/build/emulsion/src/emulsion-9.0/target/release/deps/emulsion-43a0d29a7521ad8c" "-Wl,--gc-sections" "-pie" "-Wl,-zrelro" "-Wl,-znow" "-Wl,-O1" "-nodefaultlibs"
= note: /usr/bin/ld: /tmp/rustcb2YVA4/liblibavif_sys-0d29e8d247ed0264.rlib(reformat_libyuv.c.o): in function `avifImageYUVToRGBLibYUV':
reformat_libyuv.c:(.text.avifImageYUVToRGBLibYUV+0x7b): undefined reference to `kYvuI601Constants'
/usr/bin/ld: reformat_libyuv.c:(.text.avifImageYUVToRGBLibYUV+0x82): undefined reference to `kYuvI601Constants'
/usr/bin/ld: reformat_libyuv.c:(.text.avifImageYUVToRGBLibYUV+0xdf): undefined reference to `kYvu2020Constants'
/usr/bin/ld: reformat_libyuv.c:(.text.avifImageYUVToRGBLibYUV+0xe6): undefined reference to `kYuv2020Constants'
/usr/bin/ld: reformat_libyuv.c:(.text.avifImageYUVToRGBLibYUV+0x10d): undefined reference to `kYvuJPEGConstants'
/usr/bin/ld: reformat_libyuv.c:(.text.avifImageYUVToRGBLibYUV+0x114): undefined reference to `kYuvJPEGConstants'
/usr/bin/ld: reformat_libyuv.c:(.text.avifImageYUVToRGBLibYUV+0x16a): undefined reference to `I400ToARGBMatrix'
/usr/bin/ld: reformat_libyuv.c:(.text.avifImageYUVToRGBLibYUV+0x1d4): undefined reference to `I420ToRGBAMatrix'
/usr/bin/ld: reformat_libyuv.c:(.text.avifImageYUVToRGBLibYUV+0x21e): undefined reference to `kYvuH709Constants'
/usr/bin/ld: reformat_libyuv.c:(.text.avifImageYUVToRGBLibYUV+0x225): undefined reference to `kYuvH709Constants'
/usr/bin/ld: reformat_libyuv.c:(.text.avifImageYUVToRGBLibYUV+0x265): undefined reference to `I422ToARGBMatrix'
/usr/bin/ld: reformat_libyuv.c:(.text.avifImageYUVToRGBLibYUV+0x2d1): undefined reference to `I400ToARGBMatrix'
/usr/bin/ld: reformat_libyuv.c:(.text.avifImageYUVToRGBLibYUV+0x341): undefined reference to `I420ToRGBAMatrix'
/usr/bin/ld: reformat_libyuv.c:(.text.avifImageYUVToRGBLibYUV+0x395): undefined reference to `I444ToARGBMatrix'
/usr/bin/ld: reformat_libyuv.c:(.text.avifImageYUVToRGBLibYUV+0x3e0): undefined reference to `I444ToARGBMatrix'
/usr/bin/ld: reformat_libyuv.c:(.text.avifImageYUVToRGBLibYUV+0x42a): undefined reference to `I420ToARGBMatrix'
/usr/bin/ld: reformat_libyuv.c:(.text.avifImageYUVToRGBLibYUV+0x475): undefined reference to `I422ToARGBMatrix'
/usr/bin/ld: reformat_libyuv.c:(.text.avifImageYUVToRGBLibYUV+0x4c0): undefined reference to `I420ToARGBMatrix'
/usr/bin/ld: reformat_libyuv.c:(.text.avifImageYUVToRGBLibYUV+0x50a): undefined reference to `I422ToRGBAMatrix'
/usr/bin/ld: reformat_libyuv.c:(.text.avifImageYUVToRGBLibYUV+0x555): undefined reference to `I422ToRGBAMatrix'
/usr/bin/ld: /tmp/rustcb2YVA4/liblibavif_sys-0d29e8d247ed0264.rlib(reformat_libyuv.c.o): in function `avifRGBImagePremultiplyAlphaLibYUV':
reformat_libyuv.c:(.text.avifRGBImagePremultiplyAlphaLibYUV+0x3c): undefined reference to `ARGBAttenuate'
/usr/bin/ld: /tmp/rustcb2YVA4/liblibavif_sys-0d29e8d247ed0264.rlib(reformat_libyuv.c.o): in function `avifRGBImageUnpremultiplyAlphaLibYUV':
reformat_libyuv.c:(.text.avifRGBImageUnpremultiplyAlphaLibYUV+0x3c): undefined reference to `ARGBUnattenuate'
collect2: error: ld returned 1 exit status
Thoughts?
Based on the message it seems that there's something wrong with the libavif
dependency (reformat_libyuv.c
is a file in that lib according to a quick online search). It's hard to tell what's wrong though. Maybe you have the wrong version of libavif
installed.
I believe last time I tried building it on Linux it was on an Ubuntu 20.04 and it worked then. I might have to try building it on Linux again but I spend little time on Emulsion these days.