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

[Emscripten] fail rustc by #4 0x000055cd94ae00ce lld::wasm::(anonymous namespace)::Writer::run() Writer.cpp:0:0 #117352

Open
yayoimizuha opened this issue Oct 29, 2023 · 7 comments
Labels
A-linkage Area: linking into static, shared libraries and binaries C-bug Category: This is a bug. O-wasm Target: WASM (WebAssembly), http://webassembly.org/

Comments

@yayoimizuha
Copy link

yayoimizuha commented Oct 29, 2023

I tried this code:

use image::{DynamicImage, Rgb};
use ndarray::{Array, ArrayBase, Axis, IxDyn, OwnedRepr, s};
use ort::execution_providers::CPUExecutionProviderOptions;
use ort::{ExecutionProvider, NdArrayExtensions};
use ort::{Environment, GraphOptimizationLevel, SessionBuilder, Value};
// use std::{fmt, fs};
use std::fmt;
use std::fmt::Formatter;
use image::imageops::FilterType;
use imageproc::geometric_transformations::{Interpolation, rotate};
use serde::{Deserialize, Serialize};
use wasm_bindgen::prelude::wasm_bindgen;

#[derive(Debug, Serialize, Deserialize, Copy, Clone)]
struct Predict<'lifetime> {
    order: i32,
    label: &'lifetime str,
    confidence: f32,
}

#[derive(Debug, Serialize, Deserialize, Clone)]
struct Face<'lifetime> {
    landmark: [[f32; 2]; 5],
    bbox: [f32; 4],
    confidence: f32,
    #[serde(borrow)]
    predict: [Predict<'lifetime>; 5],
}

fn name_list(x: usize) -> &'static str {
    return ["一岡伶奈", "上國料萌衣", "下井谷幸穂", "中山夏月姫", "中島早貴", "中西香菜", "井上春華", "井上玲音", "伊勢鈴蘭",
        "佐々木莉佳子", "佐藤優樹", "入江里咲", "八木栞", "前田こころ", "加賀楓", "勝田里奈", "北原もも", "北川莉央", "和田彩花",
        "和田桜子", "嗣永桃子", "夏焼雅", "太田遥香", "室田瑞希", "宮崎由加", "宮本佳林", "小川麗奈", "小林萌花", "小片リサ",
        "小田さくら", "小野瑞歩", "小野田紗栞", "小関舞", "尾形春水", "山岸理子", "山木梨沙", "山﨑夢羽", "山﨑愛生",
        "岡井千聖", "岡村ほまれ", "岡村美波", "岸本ゆめの", "島倉りか", "川名凜", "川嶋美楓", "川村文乃", "工藤由愛",
        "工藤遥", "平井美葉", "平山遊季", "広本瑠璃", "広瀬彩海", "弓桁朱琴", "後藤花", "徳永千奈美", "斉藤円香", "新沼希空",
        "有澤一華", "松本わかな", "松永里愛", "梁川奈々美", "森戸知沙希", "植村あかり", "横山玲奈", "橋迫鈴", "櫻井梨央", "段原瑠々",
        "江口紗耶", "江端妃咲", "河西結心", "浅倉樹々", "浜浦彩乃", "清水佐紀", "清野桃々姫", "為永幸音", "熊井友理奈", "牧野真莉愛",
        "生田衣梨奈", "田中れいな", "田代すみれ", "田口夏実", "田村芽実", "相川茉穂", "矢島舞美", "石山咲良", "石栗奏美", "石田亜佑美",
        "福田真琳", "秋山眞緒", "稲場愛香", "窪田七海", "竹内朱莉", "笠原桃奈", "筒井澪心", "米村姫良々", "羽賀朱音", "船木結",
        "菅谷梨沙子", "萩原舞", "藤井梨央", "西田汐里", "西﨑美空", "譜久村聖", "谷本安美", "豫風瑠乃", "道重さゆみ", "遠藤彩加里",
        "里吉うたの", "野中美希", "野村みな美", "金澤朋子", "鈴木愛理", "鈴木香音", "鞘師里保", "須藤茉麻", "飯窪春菜", "高木紗友希", "高瀬くるみ"][x];
}

impl fmt::Display for Face<'_> {
    fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result {
        write!(f, "{:?}\n", self.landmark).unwrap();
        write!(f, "{:?}\n", self.bbox).unwrap();
        write!(f, "{}", self.confidence)
    }
}
// 参考: https://github.com/AndreyGermanov/yolov8_onnx_rust/blob/5b28d2550d715f7dbed8ce31b5fdb8e000fa77f6/src/main.rs

fn prepare_image(input: DynamicImage, max_size: u32) -> (ArrayBase<OwnedRepr<f32>, IxDyn>, f32) {
    let resized = input.resize(max_size, max_size, FilterType::Nearest);
    let scale = input.height() as f32 / resized.height() as f32;
    let mut onnx_input =
        Array::<f32, _>::zeros((1usize, 3usize, max_size as usize, max_size as usize)).into_dyn();
    for (x, y, pixel) in resized.into_rgb32f().enumerate_pixels() {
        let [mut r, mut g, mut b] = pixel.0;
        b -= 0.485;
        g -= 0.456;
        r -= 0.406;
        b /= 0.229;
        g /= 0.224;
        r /= 0.225;
        onnx_input[[0usize, 0, y as usize, x as usize]] = b;
        onnx_input[[0usize, 1, y as usize, x as usize]] = g;
        onnx_input[[0usize, 2, y as usize, x as usize]] = r;
    }
    (onnx_input, scale)
}

fn truncate(landmark: [[f32; 2]; 5]) -> (f32, f32, f32) {
    let [left_eye, right_eye, _nose, left_mouth, right_mouth] = landmark;
    // {
    //     let mut arr = [[0.0f32; 2]; 5];
    //     // let land_vec = landmark.into_raw_vec().clone();
    //     for i in 0..5 {
    //         arr[i] = [landmark[i * 2], landmark[i * 2 + 1]];
    //     }
    //     arr
    // };

    let center_x = [left_eye[0], right_eye[0], left_mouth[0], right_mouth[0]].iter().sum::<f32>() / 4.0;
    let center_y = [left_eye[1], right_eye[1], left_mouth[1], right_mouth[1]].iter().sum::<f32>() / 4.0;
    let eye_center = ((right_eye[0] + left_eye[0]) / 2.0,
                      (right_eye[1] + left_eye[1]) / 2.0);
    let mouth_center = ((right_mouth[0] + left_mouth[0]) / 2.0,
                        (right_mouth[1] + left_mouth[1]) / 2.0);
    return (center_x, center_y, (eye_center.0 - mouth_center.0).atan2(mouth_center.1 - eye_center.1));
}

#[wasm_bindgen]
pub fn infer(file_bytes: &[u8]) -> String {
    // tracing_subscriber::fmt::init();
    let environment = Environment::builder()
        .with_name("RetinaFace")
        .with_execution_providers([
            // ExecutionProvider::TensorRT(TensorRTExecutionProviderOptions::default()),
            // ExecutionProvider::CUDA(CUDAExecutionProviderOptions::default()),
            ExecutionProvider::CPU(CPUExecutionProviderOptions::default()),
        ]).build().unwrap().into_arc();

    let session = SessionBuilder::new(&environment).unwrap()
        .with_optimization_level(GraphOptimizationLevel::Level1).unwrap()
        .with_intra_threads(1).unwrap()
        .with_model_from_memory(include_bytes!("retinaface_sim.onnx"))
        // .with_model_from_file(onnx_path)
        .unwrap();

    // let image = image::open(image_path).unwrap();
    let image = image::load_from_memory(file_bytes.as_ref()).unwrap();

    let (image_arr, scale) = prepare_image(image.clone(), 640).clone();

    let image_layout = image_arr.as_standard_layout();

    let onnx_input = vec![Value::from_array(session.allocator(), &image_layout).unwrap()];

    let model_res = session.run(onnx_input).unwrap();

    let [loc, conf, land] = match &model_res[..] {
        [loc, conf, land, ..] => [loc, conf, land].map(|x| {
            x.try_extract::<f32>().unwrap().view().to_owned()
        }),
        &_ => unreachable!(),
    };

    let mut face_list = Vec::<Face>::new();
    for i in 0..loc.clone().shape()[0] {
        face_list.push(Face {
            landmark: {
                let reshape: [Vec<f32>; 5] = land.slice(s![i,..]).iter().map(|&x| { x * scale }).collect::<Vec<f32>>().chunks(2).map(|x| x.to_vec()).collect::<Vec<_>>().try_into().unwrap();
                <[[f32; 2]; 5]>::try_from(reshape.map(|x| { <[f32; 2]>::try_from(x).unwrap() })).unwrap()
            },
            confidence: conf[i],
            bbox: <[f32; 4]>::try_from(loc.slice(s![i,..]).iter().map(|&x| { x * scale }).collect::<Vec<f32>>()).unwrap(),
            predict: [Predict { order: -1, label: "", confidence: 0.0 }; 5],
        });
    }
    // println!("{:?}", face_list);
    let draw_canvas = image.to_rgb8().clone();
    let mut faces: Vec<_> = vec![];
    for face in &face_list {
        let face_pos = truncate(face.landmark.clone());
        // println!("{:?}", face_pos);
        if f32::max(face_pos.0, face_pos.1) > 80f32 {
            faces.push(DynamicImage::from(rotate(&draw_canvas, (f32::max(face_pos.0, face_pos.1), f32::max(face_pos.0, face_pos.1)), -face_pos.2, Interpolation::Bilinear,
                                                 Rgb([0, 0, 0]))).crop(face.bbox[0] as u32, face.bbox[1] as u32, face.bbox[2] as u32 - face.bbox[0] as u32, face.bbox[3] as u32 - face.bbox[1] as u32));
        }

        // draw_canvas = rotate(&draw_canvas, (face_pos.0, face_pos.1), -face_pos.2, Interpolation::Bilinear, Rgb([0, 0, 0]));
        // draw_hollow_rect_mut(&mut draw_canvas, Rect::at(face.bbox[0] as i32, face.bbox[1] as i32).
        //     of_size(face.bbox[2] as u32 - face.bbox[0] as u32,
        //             face.bbox[3] as u32 - face.bbox[1] as u32),
        //                      Rgb([0, 255, 244]));
        // draw_canvas = rotate(&draw_canvas, (face_pos.0, face_pos.1), face_pos.2, Interpolation::Bilinear, Rgb([0, 0, 0]));
    }
    // draw_canvas.save("test_rect.jpg").unwrap();
    let mut face_arr = Array::<f32, _>::zeros((faces.len(), 3usize, 224usize, 224usize)).into_dyn();
    for i in 0..faces.len() {
        // if faces[i].width() > 80 {
        for (x, y, pixel) in faces[i].resize(224, 224, FilterType::Gaussian).into_rgb32f().enumerate_pixels() {
            face_arr[[i, 0, y as usize, x as usize]] = pixel.0[0];
            face_arr[[i, 1, y as usize, x as usize]] = pixel.0[1];
            face_arr[[i, 2, y as usize, x as usize]] = pixel.0[2];
        }
        // }
    }
    let recognition_environment = Environment::builder()
        .with_name("RecognitionResNet")
        .with_execution_providers([
            // ExecutionProvider::TensorRT(TensorRTExecutionProviderOptions::default()),
            // ExecutionProvider::CUDA(CUDAExecutionProviderOptions::default()),
            ExecutionProvider::CPU(CPUExecutionProviderOptions::default()),
        ]).build().unwrap().into_arc();

    let recognition_session = SessionBuilder::new(&recognition_environment).unwrap()
        .with_optimization_level(GraphOptimizationLevel::Level1).unwrap()
        .with_intra_threads(4).unwrap()
        .with_model_from_memory(include_bytes!(r"face_recognition_sim.onnx"))
        // .with_model_from_file(onnx_path)
        .unwrap();

    let recognition_layout = face_arr.as_standard_layout();
    let recognition_input = vec![(Value::from_array(recognition_session.allocator(), &recognition_layout)).unwrap()];
    let recognition_res = recognition_session.run(recognition_input).unwrap();
    for (face_order, i) in recognition_res[0].try_extract::<f32>().unwrap().view().to_owned().axis_iter(Axis(0)).enumerate() {
        let mut row = i.softmax(Axis(0)).into_iter().enumerate().collect::<Vec<_>>();
        row.sort_by(|a, b| { (-a.1).partial_cmp(&-b.1).unwrap() });
        // println!("\n");
        for (order, (number, confidence)) in row[..5].iter().enumerate() {
            // println!("{}: {}%", name_list(*number), confidence * 100f32);
            // predict = (*order as i32, *confidence);
            face_list[face_order].predict[order] = Predict { order: *number as i32, label: name_list(*number), confidence: *confidence };
        }
    }

    // println!("{:?}", faces);
    return serde_json::to_string(&face_list).unwrap();
}

const EXPECTED_OUTPUT: &str = r#"[{"landmark":[[529.2799,277.27554],[630.5422,260.62997],[586.43896,336.45178],[553.58057,373.79544],[647.839,357.7243]],"bbox":[485.68494,153.68034,700.8971,440.16882],"confidence":0.9997515,"predict":[{"order":59,"label":"松永里愛","confidence":0.9997882},{"order":73,"label":"清野桃々姫","confidence":0.000029856186},{"order":46,"label":"工藤由愛","confidence":0.00002389585},{"order":96,"label":"船木結","confidence":0.000017732858},{"order":95,"label":"羽賀朱音","confidence":0.000013339463}]},{"landmark":[[228.79236,290.33966],[318.6383,241.98944],[323.47275,313.07666],[281.18417,377.3339],[353.0194,342.51495]],"bbox":[135.66771,146.13664,375.808,427.5442],"confidence":0.99928975,"predict":[{"order":46,"label":"工藤由愛","confidence":0.9982741},{"order":43,"label":"川名凜","confidence":0.00060978235},{"order":12,"label":"八木栞","confidence":0.0003208315},{"order":90,"label":"窪田七海","confidence":0.00013084973},{"order":59,"label":"松永里愛","confidence":0.00009104874}]},{"landmark":[[810.8837,276.23584],[928.8819,247.92834],[862.1328,316.99704],[849.5207,397.6822],[931.4483,373.9645]],"bbox":[766.921,130.83531,1029.7097,456.43497],"confidence":0.99690324,"predict":[{"order":89,"label":"稲場愛香","confidence":0.88158953},{"order":85,"label":"石栗奏美","confidence":0.03432016},{"order":34,"label":"山岸理子","confidence":0.014617985},{"order":116,"label":"高木紗友希","confidence":0.007192432},{"order":45,"label":"川村文乃","confidence":0.006706039}]}]"#;

#[cfg(test)]
mod tests {
    use super::*;

    #[test]
    fn it_works() {
        // let image_path = "manaka_test.jpg";
        // let image_bytes = fs::read(image_path).unwrap();
        let image_bytes = include_bytes!("manaka_test.jpg");
        let result = infer(image_bytes.as_slice());
        assert_eq!(result.as_str(), EXPECTED_OUTPUT);
    }
}
#Cargo.toml
[package]
name = "wasm_infer"
version = "0.1.0"
edition = "2021"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[lib]
crate-type = ["cdylib"]


[dependencies]
image = "*"
ort = { git = "https://github.com/pykeio/ort.git", branch = "1.15", default-features = false }
serde = { version = "*", features = ["derive"] }
wasm-bindgen = "*"
imageproc = "*"
ndarray = "*"
serde_json = "*"
I expected to see this happen: success to compile.

Instead, this happened: compilation failed

Meta

rustc --version --verbose:

I'm using nightly because avoid #116655

  = note: wasm-ld: error: /home/tomokazu/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/wasm32-unknown-emscripten/lib/libstd-330edb0856239641.rlib(std-330edb0856239641.std.fa9f9c7c191d43dc-cgu.0.rcgu.o): undefined symbol: open64
          wasm-ld: error: /home/tomokazu/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/wasm32-unknown-emscripten/lib/libstd-330edb0856239641.rlib(std-330edb0856239641.std.fa9f9c7c191d43dc-cgu.0.rcgu.o): undefined symbol: fstat64
          wasm-ld: error: /home/tomokazu/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/wasm32-unknown-emscripten/lib/libstd-330edb0856239641.rlib(std-330edb0856239641.std.fa9f9c7c191d43dc-cgu.0.rcgu.o): undefined symbol: lseek64
          wasm-ld: error: /home/tomokazu/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/wasm32-unknown-emscripten/lib/libstd-330edb0856239641.rlib(std-330edb0856239641.std.fa9f9c7c191d43dc-cgu.0.rcgu.o): undefined symbol: stat64
          wasm-ld: error: /home/tomokazu/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/wasm32-unknown-emscripten/lib/libstd-330edb0856239641.rlib(std-330edb0856239641.std.fa9f9c7c191d43dc-cgu.0.rcgu.o): undefined symbol: stat64

rustc 1.75.0-nightly (e5cfc5547 2023-10-28)
binary: rustc
commit-hash: e5cfc55477eceed1317a02189fdf77a4a98f2124
commit-date: 2023-10-28
host: x86_64-unknown-linux-gnu
release: 1.75.0-nightly
LLVM version: 17.0.3
Backtrace

RUST_BACKTRACE=1 cargo test --target wasm32-unknown-emscripten -v

       Fresh autocfg v1.1.0
       Fresh unicode-ident v1.0.12
       Fresh scopeguard v1.2.0
       Fresh simd-adler32 v0.3.7
       Fresh bytemuck v1.14.0
       Fresh proc-macro2 v1.0.69
       Fresh cfg-if v1.0.0
       Fresh quote v1.0.33
       Fresh num-traits v0.2.17
       Fresh crossbeam-utils v0.8.16
       Fresh memoffset v0.9.0
       Fresh libc v0.2.149
       Fresh either v1.9.0
       Fresh lock_api v0.4.11
       Fresh adler v1.0.2
       Fresh rawpointer v0.2.1
       Fresh syn v2.0.38
       Fresh num-integer v0.1.45
       Fresh crossbeam-epoch v0.9.15
       Fresh num-complex v0.4.4
       Fresh getrandom v0.1.16
       Fresh getrandom v0.2.10
       Fresh matrixmultiply v0.3.8
       Fresh xattr v1.0.1
       Fresh filetime v0.2.22
       Fresh miniz_oxide v0.7.1
       Fresh crc32fast v1.3.2
       Fresh crossbeam-deque v0.8.3
       Fresh pin-project-internal v1.1.3
       Fresh num-bigint v0.4.4
       Fresh nanorand v0.7.0
       Fresh rand_core v0.5.1
       Fresh wasm-bindgen-shared v0.2.87
       Fresh futures-core v0.3.29
       Fresh spin v0.9.8
       Fresh safe_arch v0.7.1
       Fresh bumpalo v3.14.0
       Fresh futures-sink v0.3.29
       Fresh log v0.4.20
       Fresh rayon-core v1.12.0
       Fresh num-rational v0.4.1
       Fresh pin-project v1.1.3
       Fresh weezl v0.1.7
       Fresh rand_hc v0.2.0
       Fresh paste v1.0.14
       Fresh wide v0.7.13
       Fresh wasm-bindgen-backend v0.2.87
       Fresh tar v0.4.40
       Fresh flate2 v1.0.28
       Fresh approx v0.5.1
       Fresh fdeflate v0.3.0
       Fresh zune-inflate v0.2.54
       Fresh half v2.3.1
       Fresh rayon v1.8.0
       Fresh flume v0.10.14
       Fresh once_cell v1.18.0
       Fresh ttf-parser v0.15.2
       Fresh lebe v0.5.2
       Fresh smallvec v1.11.1
       Fresh bit_field v0.10.2
       Fresh bitflags v1.3.2
       Fresh color_quant v1.1.0
       Fresh rand v0.7.3
       Fresh wasm-bindgen-macro-support v0.2.87
       Fresh simba v0.7.3
       Fresh num-iter v0.1.43
       Fresh jpeg-decoder v0.3.0
       Fresh tracing-core v0.1.32
       Fresh png v0.17.10
       Fresh owned_ttf_parser v0.15.2
       Fresh exr v1.6.4
       Fresh gif v0.12.0
       Fresh typenum v1.17.0
       Fresh serde_derive v1.0.190
       Fresh thiserror-impl v1.0.50
       Fresh tracing-attributes v0.1.27
       Fresh qoi v0.4.1
       Fresh pin-project-lite v0.2.13
       Fresh custom_derive v0.1.7
       Fresh tiff v0.9.0
       Fresh ab_glyph_rasterizer v0.1.8
       Fresh byteorder v1.5.0
       Fresh tracing v0.1.40
       Fresh nalgebra v0.30.1
       Fresh serde v1.0.190
       Fresh conv v0.3.3
       Fresh thiserror v1.0.50
       Fresh wasm-bindgen-macro v0.2.87
       Fresh rand_distr v0.2.2
       Fresh num v0.4.1
       Fresh ndarray v0.15.6
       Fresh itertools v0.10.5
       Fresh rusttype v0.9.3
       Fresh image v0.24.7
       Fresh itoa v1.0.9
       Fresh ryu v1.0.15
       Fresh lazy_static v1.4.0
       Fresh wasm-bindgen v0.2.87
       Fresh ort v1.15.5 (https://github.com/pykeio/ort.git?branch=1.15#bca00dc9)
       Fresh imageproc v0.23.0
       Fresh serde_json v1.0.107
   Compiling wasm_infer v0.1.0 (/home/tomokazu/CLionProjects/wasm_infer)
     Running `/home/tomokazu/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/rustc --crate-name wasm_infer --edition=2021 src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --diagnostic-width=273 --emit=dep-info,link -C embed-bitcode=no -C debuginfo=2 --test -C metadata=3137130884096adf -C extra-filename=-3137130884096adf --out-dir /home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps --target wasm32-unknown-emscripten -C incremental=/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/incremental -L dependency=/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps -L dependency=/home/tomokazu/CLionProjects/wasm_infer/target/debug/deps --extern image=/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/libimage-0f808315bbf276db.rlib --extern imageproc=/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/libimageproc-bd4b4d2da559c050.rlib --extern ndarray=/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/libndarray-64a7356694bf0e41.rlib --extern ort=/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/libort-735793071049dda8.rlib --extern serde=/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/libserde-44a41b9d052522b3.rlib --extern serde_json=/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/libserde_json-de93cc871e0efb95.rlib --extern wasm_bindgen=/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/libwasm_bindgen-c7ffaf210e6e0ff9.rlib '-Clink-args= -sTOTAL_MEMORY=283115520 -sALLOW_MEMORY_GROWTH=1' -L native=/home/tomokazu/build/onnxruntime/build/Linux/Release/ -L native=/home/tomokazu/build/onnxruntime/build/Linux/Release/ -L native=/home/tomokazu/build/onnxruntime/build/Linux/Release/_deps/protobuf-build/ -L native=/home/tomokazu/build/onnxruntime/build/Linux/Release/_deps/onnx-build/ -L native=/home/tomokazu/build/onnxruntime/build/Linux/Release/_deps/google_nsync-build/ -L native=/home/tomokazu/build/onnxruntime/build/Linux/Release/_deps/re2-build/ -L native=/home/tomokazu/build/onnxruntime/build/Linux/Release/_deps/abseil_cpp-build/absl/base/ -L native=/home/tomokazu/build/onnxruntime/build/Linux/Release/_deps/abseil_cpp-build/absl/hash/ -L native=/home/tomokazu/build/onnxruntime/build/Linux/Release/_deps/abseil_cpp-build/absl/container/`
error: linking with `emcc` failed: exit status: 1
  |
  = note: LC_ALL="C" PATH="/home/tomokazu/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin:/home/tomokazu/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin/self-contained:/home/tomokazu/build/emsdk:/home/tomokazu/build/emsdk/upstream/emscripten:/home/tomokazu/build/emsdk/node/16.20.0_64bit/bin:/home/tomokazu/miniconda3/condabin:/home/tomokazu/.cargo/bin:/home/tomokazu/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/home/tomokazu/.local/share/JetBrains/Toolbox/scripts:/usr/lib/jellyfin-ffmpeg:/home/tomokazu/.local/share/flutter/bin:/usr/local/cuda/bin" VSLANG="1033" "emcc" "-s" "EXPORTED_FUNCTIONS=[\"_main\",\"___externref_drop_slice\",\"___externref_heap_live_count\",\"___externref_table_alloc\",\"___externref_table_dealloc\",\"___wbindgen_exn_store\",\"___wbindgen_free\",\"___wbindgen_malloc\",\"___wbindgen_realloc\"]" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.10e484v1r34vr70z.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.10mtbmpmcoqa7qzu.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.11i5i0c2v42tu8a.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.13ds0wb710baj1t.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.15il0mkhecv7877q.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.16jjeq9lwwjhwuc4.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.173y1guv9o9sexv4.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.19942lgow0c31vp9.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.1cvk90amko9di6ch.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.1f786or0wf9zinbm.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.1fdit4fqfsf9cory.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.1fzs77fmao61p09.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.1gdci6mn8k24dv4w.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.1h6p7fshcrgd1t5z.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.1h85mu8r14vd9vm0.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.1j30wavzkyjfjf8s.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.1jmju3yfpminejln.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.1n9fjfht56f5ffed.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.1o03p7hxyx7evkw6.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.1o04lil4jsm3bkpt.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.1qvey2o6xagjvkfr.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.1r8n0g73piq76ib9.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.1ryfh6u09xoiah3g.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.1ssqzogf8ldnr9t1.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.1x4h3i5qhfj2jm4b.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.207pv94kh3968ino.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.207vihxgv173w4u2.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.230jvdgbd9buncwn.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.236hcw094w3bkppp.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.24mqhhyimkwd8l6c.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.24r1wr24qhmmzr52.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.2524oso4bz3h2wf3.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.25hrg3k9381fhglw.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.26o15s57vvj9v49z.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.2aaqp7x1fh0h4alc.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.2ahdt3v5vvionc9k.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.2aslw9y9v1udu6z3.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.2d1pvxh115246ytx.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.2fg7xmd7st0f32pn.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.2hsotz1ba1n788bi.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.2j326lg4rl2m18og.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.2l3x9ik9yit5rjzz.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.2mkngoxytpf2mx46.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.2mlg5nef9eky162c.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.2nal0eniq45ems09.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.2q49vb6b308kd1e3.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.2qlxl7whhj0zhjs.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.2qq3x8ovy6niz73t.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.2spem86i1rxbhflf.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.2sufzh39osbk6pl6.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.2tlpsltax5zc7ag6.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.2vf3i9dreqvq1nh6.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.2wo8e45nrhv2vgnf.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.2wrd69an0b57b3b9.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.2xljeat7bfwi1wpq.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.2ze8l0d0kshmgvco.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.30if5ih4nvd8p581.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.30lzfvq93bqyf5s5.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.31i28p7j2xo3k77j.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.31mkzybbg4hi2yqr.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.3271gwbn08kpdpbo.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.32wwaej4frx3dus3.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.331zc7agp8k0ece.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.340jgji0p6ktabn1.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.34wywzslbs8117x2.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.376boeu4fntnr8el.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.37nqe3d13m7c5flr.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.39k7jy4yzjt5d74u.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.3aqf2dl6y3syq0ld.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.3bhlaxgavtr5dq39.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.3c9km9m1s4fb6oyr.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.3e6npbg41xq9y9na.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.3h58hq4bpa4ejzah.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.3ijg0d5ctmkkduzp.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.3ithgbwcs44rbnsb.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.3jk7cmfn5u89zde.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.3jrezoq372zoumhl.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.3kn61ye9z4neqcg4.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.3lcr168j5v9e81co.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.3q5u43x8yc9k2dsb.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.3qrd3y8s1rughxke.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.3t4k7h6yv9vlrrcs.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.3zak2i7bm695bqha.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.3zjg8kk8zkttsis5.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.3zld0wkaexmv5mcx.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.40n42jzvm6dj64tj.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.40qhmgt13nc88b7m.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.41s2oeogr8svknbk.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.4296j7qo7v51pala.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.46j4y27xib0l171m.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.46k947dnfn4tqo22.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.478gc9fxuqdjcvmo.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.47lyhg7f5o4cyut1.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.48d80py24k94eshi.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.49bwel12hjga9jg2.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.49f5kc00tlkvk4n6.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.4b285s2seviccexk.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.4e9w8781vn4utigq.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.4fnygxe70ra26vij.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.4ggg6uvpvs9j7ljo.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.4glkei64k7ct8306.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.4hroxuk8nq7f5nap.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.4k70fnffpri19g77.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.4kg00k4lth6ylkow.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.4ln13u135p8r8f3o.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.4m75p8tokwns4fb6.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.4ns1hnwpvty2bo3.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.4p05gb638icas01o.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.4qfnasce9oibxpz6.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.4tvid77gfkkxoayg.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.4vnfxqu7who12u0g.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.4y7xt4mbkhlidr4n.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.5283am4jqktv1az3.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.529tidm63abjop20.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.565pfuet11j0tjie.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.58rybqk4rssc0tl.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.596f77m6rujl1ity.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.59gh3sgtsww4norv.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.5a00bci2vacpowul.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.5aei5g6tn83p4f9j.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.5alw6jz4653ojiey.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.5askufd76dv4xrkk.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.5bveshv2b1vn0uvo.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.5e5z0uxl4e9kvbkg.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.5g3nnas1pzymvrua.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.5g4uy71j96mg0y2i.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.6ck99jgkn415t9n.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.9oh5fu8xzvsqke7.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.9sgwy2bid55mkxl.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.bbwnw53kcvnh5j3.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.c9sskpp5r022o9m.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.e6uup07uo1sw6zo.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.g6hqx35nswl8doe.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.gmgtqxuyie9yg7c.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.l2hdbtqykx6y2sg.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.lkb8dml7v4o0a2s.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.p3up7w6h2dp5o9j.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.qp7bnlqgy97y47o.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.rx94akaf7uo0i8m.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.sbj2ujacb6v6j2i.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.tto5t0enpmkxu9n.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.ugseis0hi6cxvpm.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.wzwv9s4xkk1gu0j.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.y56v3iw9yy8ibor.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.yi9sfrfax24842t.rcgu.o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.52nhdowbyb8xr4of.rcgu.o" "-L" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps" "-L" "/home/tomokazu/CLionProjects/wasm_infer/target/debug/deps" "-L" "/home/tomokazu/build/onnxruntime/build/Linux/Release/" "-L" "/home/tomokazu/build/onnxruntime/build/Linux/Release/" "-L" "/home/tomokazu/build/onnxruntime/build/Linux/Release/_deps/protobuf-build/" "-L" "/home/tomokazu/build/onnxruntime/build/Linux/Release/_deps/onnx-build/" "-L" "/home/tomokazu/build/onnxruntime/build/Linux/Release/_deps/google_nsync-build/" "-L" "/home/tomokazu/build/onnxruntime/build/Linux/Release/_deps/re2-build/" "-L" "/home/tomokazu/build/onnxruntime/build/Linux/Release/_deps/abseil_cpp-build/absl/base/" "-L" "/home/tomokazu/build/onnxruntime/build/Linux/Release/_deps/abseil_cpp-build/absl/hash/" "-L" "/home/tomokazu/build/onnxruntime/build/Linux/Release/_deps/abseil_cpp-build/absl/container/" "-L" "/home/tomokazu/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/wasm32-unknown-emscripten/lib" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/libserde_json-de93cc871e0efb95.rlib" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/libryu-930e4ee3ce661c07.rlib" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/libitoa-9c6f6b9514292d09.rlib" "/home/tomokazu/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/wasm32-unknown-emscripten/lib/libtest-6bb3347da51cb133.rlib" "/home/tomokazu/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/wasm32-unknown-emscripten/lib/libgetopts-ddeb6aa3a48afa02.rlib" "/home/tomokazu/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/wasm32-unknown-emscripten/lib/libunicode_width-146662d36d022fb9.rlib" "/home/tomokazu/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/wasm32-unknown-emscripten/lib/librustc_std_workspace_std-5b1f2384483bd332.rlib" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/libwasm_bindgen-c7ffaf210e6e0ff9.rlib" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/libserde-44a41b9d052522b3.rlib" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/libimageproc-bd4b4d2da559c050.rlib" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/librand_distr-83b904180e6ce118.rlib" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/librand-d9c8b38251fdc3bd.rlib" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/librand_hc-00a7f6b363df57a9.rlib" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/librand_core-da0e19aa2b1b2341.rlib" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/libgetrandom-6fe5845132128bd0.rlib" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/libnalgebra-0462251764242e22.rlib" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/libtypenum-84d11e823231641e.rlib" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/libsimba-8579da47d77a75a5.rlib" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/libwide-240cfafd263f2fe4.rlib" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/libsafe_arch-f18b0d4d3386cf43.rlib" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/libapprox-c5efab5a589977e2.rlib" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/librusttype-f7d3bd1041cd964d.rlib" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/libab_glyph_rasterizer-bb5aed653ea19207.rlib" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/libowned_ttf_parser-8c0f83d8e11cdde9.rlib" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/libttf_parser-f2dbd57881f26eb5.rlib" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/libconv-a17f6447124347f7.rlib" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/libcustom_derive-1edcbad5d12e6994.rlib" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/libnum-ba953dcd317d6c84.rlib" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/libnum_iter-b99cb321bcc4c9da.rlib" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/libitertools-1dee359d9633c129.rlib" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/libort-735793071049dda8.rlib" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/libthiserror-3b394519ad05bb62.rlib" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/libtracing-222b8455c9751fb8.rlib" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/libpin_project_lite-01d419dcbf618e5c.rlib" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/libtracing_core-6ca1216b80f106fd.rlib" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/libonce_cell-7e48d6218360a66d.rlib" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/liblazy_static-da5f43d1229591e3.rlib" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/libndarray-64a7356694bf0e41.rlib" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/libmatrixmultiply-e9aa73df0b74b45c.rlib" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/libnum_complex-5a5fac6e025e80af.rlib" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/librawpointer-bce9dd735c41bbf7.rlib" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/libimage-0f808315bbf276db.rlib" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/libqoi-08d41553d5fef8f7.rlib" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/libbytemuck-532b5d9fa4b817cc.rlib" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/libpng-d0e9965e3a82170b.rlib" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/libfdeflate-4891e23da5da5d54.rlib" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/libbitflags-8a388acc0c8fe0e3.rlib" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/libexr-0c0a1701ac2a62c7.rlib" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/libflume-9898038fbc173f56.rlib" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/libspin-808f8f35273ddeac.rlib" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/liblock_api-b5215c993d70b128.rlib" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/libpin_project-f06af0baca4d6a8f.rlib" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/libfutures_sink-3639ec43ef044c72.rlib" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/libfutures_core-08f8e7017578058f.rlib" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/libnanorand-a0fbc59418b5bbe4.rlib" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/libgetrandom-fe06060d2496c804.rlib" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/liblibc-224b5eb6e722ed7a.rlib" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/libzune_inflate-8b35525015d3cb22.rlib" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/libbit_field-4b71976be5bcc3c9.rlib" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/liblebe-552aeddb197c8be3.rlib" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/libhalf-0e53f9eb00eb2203.rlib" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/libsmallvec-afe52a0678be0371.rlib" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/libnum_rational-2c285fb9e68cc9a0.rlib" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/libnum_bigint-a88d77af0667a439.rlib" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/libnum_integer-064744160fc40981.rlib" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/libgif-85704440887e72de.rlib" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/libcolor_quant-146d7b2a5cde9729.rlib" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/libbyteorder-9059ac5ceaa52cf0.rlib" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/libnum_traits-92658ac3c4d7e5fd.rlib" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/libtiff-f9bf3a39eb28a349.rlib" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/libflate2-20068bdfd185cbf6.rlib" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/libminiz_oxide-af65c4311d041fd1.rlib" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/libsimd_adler32-a3f97d1e8c568b0d.rlib" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/libcrc32fast-174137bd5c583dbc.rlib" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/libweezl-4e05c4340ee3e051.rlib" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/libjpeg_decoder-0b6404ea828ed6cb.rlib" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/librayon-5b37273ab385a670.rlib" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/librayon_core-0daad7e26cdc05a4.rlib" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/libcrossbeam_deque-27e19c5c3262079f.rlib" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/libcrossbeam_epoch-520a25cab6702b58.rlib" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/libmemoffset-5e4ed56bec8b169d.rlib" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/libscopeguard-23ca690d09141433.rlib" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/libcrossbeam_utils-bf3bde1219954eee.rlib" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/libcfg_if-e6f3496b5c559290.rlib" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/libeither-ef32c33195ed4a6c.rlib" "/home/tomokazu/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/wasm32-unknown-emscripten/lib/libstd-8ce54684ca4ed6e2.rlib" "/home/tomokazu/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/wasm32-unknown-emscripten/lib/libpanic_unwind-3cebf67a442cd04e.rlib" "/home/tomokazu/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/wasm32-unknown-emscripten/lib/librustc_demangle-ac58b8d7bffb924a.rlib" "/home/tomokazu/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/wasm32-unknown-emscripten/lib/libstd_detect-1640a55d6293e639.rlib" "/home/tomokazu/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/wasm32-unknown-emscripten/lib/libhashbrown-5623081511903b28.rlib" "/home/tomokazu/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/wasm32-unknown-emscripten/lib/librustc_std_workspace_alloc-346ef2eb9e85937c.rlib" "/home/tomokazu/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/wasm32-unknown-emscripten/lib/libminiz_oxide-df2408c576b3422a.rlib" "/home/tomokazu/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/wasm32-unknown-emscripten/lib/libadler-4415f5b0dc7269e1.rlib" "/home/tomokazu/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/wasm32-unknown-emscripten/lib/libunwind-6d65aaf3e33f567f.rlib" "/home/tomokazu/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/wasm32-unknown-emscripten/lib/libcfg_if-e82e78ea206163b9.rlib" "/home/tomokazu/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/wasm32-unknown-emscripten/lib/liblibc-150f3ff6731e33c5.rlib" "/home/tomokazu/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/wasm32-unknown-emscripten/lib/liballoc-bdc5e600a72ed29e.rlib" "/home/tomokazu/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/wasm32-unknown-emscripten/lib/librustc_std_workspace_core-dccfe230458f39f9.rlib" "/home/tomokazu/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/wasm32-unknown-emscripten/lib/libcore-ff850c1994b8a1ec.rlib" "/home/tomokazu/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/wasm32-unknown-emscripten/lib/libcompiler_builtins-28b3b3ed827ae015.rlib" "-l" "stdc++" "-l" "c" "-B/home/tomokazu/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin/gcc-ld" "-fuse-ld=lld" "--target=wasm32-unknown-emscripten" "-s" "DISABLE_EXCEPTION_CATCHING=0" "-L" "/home/tomokazu/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/wasm32-unknown-emscripten/lib" "-L" "/home/tomokazu/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/wasm32-unknown-emscripten/lib/self-contained" "-o" "/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/wasm_infer-3137130884096adf.js" "-O0" "-g" "-sTOTAL_MEMORY=283115520" "-sALLOW_MEMORY_GROWTH=1" "-sABORTING_MALLOC=0" "-Wl,--fatal-warnings"
  = note: PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
          Stack dump:
          0.    Program arguments: /home/tomokazu/build/emsdk/upstream/bin/wasm-ld @/tmp/emscripten_x0_79kgm.rsp.utf-8
           #0 0x000055da4bd8e148 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/home/tomokazu/build/emsdk/upstream/bin/wasm-ld+0xf33148)
           #1 0x000055da4bd8b79e llvm::sys::RunSignalHandlers() (/home/tomokazu/build/emsdk/upstream/bin/wasm-ld+0xf3079e)
           #2 0x000055da4bd8ed85 SignalHandler(int) Signals.cpp:0:0
           #3 0x00007f1796a42520 (/usr/lib/x86_64-linux-gnu/libc.so.6+0x42520)
           #4 0x000055da4c19c0ce lld::wasm::(anonymous namespace)::Writer::run() Writer.cpp:0:0
           #5 0x000055da4c1901d8 lld::wasm::writeResult() (/home/tomokazu/build/emsdk/upstream/bin/wasm-ld+0x13351d8)
           #6 0x000055da4c168863 lld::wasm::(anonymous namespace)::LinkerDriver::linkerMain(llvm::ArrayRef<char const*>) Driver.cpp:0:0
           #7 0x000055da4c1644bf lld::wasm::link(llvm::ArrayRef<char const*>, llvm::raw_ostream&, llvm::raw_ostream&, bool, bool) (/home/tomokazu/build/emsdk/upstream/bin/wasm-ld+0x13094bf)
           #8 0x000055da4bd90f4f lld::unsafeLldMain(llvm::ArrayRef<char const*>, llvm::raw_ostream&, llvm::raw_ostream&, llvm::ArrayRef<lld::DriverDef>, bool) (/home/tomokazu/build/emsdk/upstream/bin/wasm-ld+0xf35f4f)
           #9 0x000055da4bcd8dd2 lld_main(int, char**, llvm::ToolContext const&) (/home/tomokazu/build/emsdk/upstream/bin/wasm-ld+0xe7ddd2)
          #10 0x000055da4bcd94bc main (/home/tomokazu/build/emsdk/upstream/bin/wasm-ld+0xe7e4bc)
          #11 0x00007f1796a29d90 __libc_start_call_main ./csu/../sysdeps/nptl/libc_start_call_main.h:58:16
          #12 0x00007f1796a29e40 call_init ./csu/../csu/libc-start.c:128:20
          #13 0x00007f1796a29e40 __libc_start_main ./csu/../csu/libc-start.c:379:5
          #14 0x000055da4bc5176a _start (/home/tomokazu/build/emsdk/upstream/bin/wasm-ld+0xdf676a)
          emcc: error: '/home/tomokazu/build/emsdk/upstream/bin/wasm-ld @/tmp/emscripten_x0_79kgm.rsp.utf-8' failed (received SIGSEGV (-11))
          

error: could not compile `wasm_infer` (lib test) due to previous error

Caused by:
  process didn't exit successfully: `/home/tomokazu/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/rustc --crate-name wasm_infer --edition=2021 src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --diagnostic-width=273 --emit=dep-info,link -C embed-bitcode=no -C debuginfo=2 --test -C metadata=3137130884096adf -C extra-filename=-3137130884096adf --out-dir /home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps --target wasm32-unknown-emscripten -C incremental=/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/incremental -L dependency=/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps -L dependency=/home/tomokazu/CLionProjects/wasm_infer/target/debug/deps --extern image=/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/libimage-0f808315bbf276db.rlib --extern imageproc=/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/libimageproc-bd4b4d2da559c050.rlib --extern ndarray=/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/libndarray-64a7356694bf0e41.rlib --extern ort=/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/libort-735793071049dda8.rlib --extern serde=/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/libserde-44a41b9d052522b3.rlib --extern serde_json=/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/libserde_json-de93cc871e0efb95.rlib --extern wasm_bindgen=/home/tomokazu/CLionProjects/wasm_infer/target/wasm32-unknown-emscripten/debug/deps/libwasm_bindgen-c7ffaf210e6e0ff9.rlib '-Clink-args= -sTOTAL_MEMORY=283115520 -sALLOW_MEMORY_GROWTH=1' -L native=/home/tomokazu/build/onnxruntime/build/Linux/Release/ -L native=/home/tomokazu/build/onnxruntime/build/Linux/Release/ -L native=/home/tomokazu/build/onnxruntime/build/Linux/Release/_deps/protobuf-build/ -L native=/home/tomokazu/build/onnxruntime/build/Linux/Release/_deps/onnx-build/ -L native=/home/tomokazu/build/onnxruntime/build/Linux/Release/_deps/google_nsync-build/ -L native=/home/tomokazu/build/onnxruntime/build/Linux/Release/_deps/re2-build/ -L native=/home/tomokazu/build/onnxruntime/build/Linux/Release/_deps/abseil_cpp-build/absl/base/ -L native=/home/tomokazu/build/onnxruntime/build/Linux/Release/_deps/abseil_cpp-build/absl/hash/ -L native=/home/tomokazu/build/onnxruntime/build/Linux/Release/_deps/abseil_cpp-build/absl/container/` (exit status: 1)

@yayoimizuha yayoimizuha added the C-bug Category: This is a bug. label Oct 29, 2023
@rustbot rustbot added the needs-triage This issue may need triage. Remove it if it has been sufficiently triaged. label Oct 29, 2023
@Jules-Bertholet
Copy link
Contributor

Jules-Bertholet commented Oct 29, 2023

@rustbot label A-linkage O-wasm

@rustbot rustbot added O-wasm Target: WASM (WebAssembly), http://webassembly.org/ A-linkage Area: linking into static, shared libraries and binaries labels Oct 29, 2023
@saethlin
Copy link
Member

This looks like an exact duplicate of #116655, which you say you're using nightly to avoid? I do not understand.

@saethlin saethlin removed the needs-triage This issue may need triage. Remove it if it has been sufficiently triaged. label Oct 30, 2023
@yayoimizuha
Copy link
Author

open64,fstat64,... errors appeared at using stable. Nightly's error is in backtrace as Writer::run().

@kleisauke
Copy link
Contributor

Did you use LTO during the building process? If so, I think you might be impacted by llvm/llvm-project#62243.

@bjorn3
Copy link
Member

bjorn3 commented Nov 6, 2023

This is a debug build with LTO disabled according to the rustc arguments shown in the log.

@kleisauke
Copy link
Contributor

Reduced to:

Details
$ curl https://sh.rustup.rs -sSf | sh -s -- -y --profile minimal --target wasm32-unknown-emscripten --default-toolchain nightly-2023-11-08 --component rust-src
$ source "$HOME/.cargo/env"
$ cargo new foo
$ cd foo/
$ cat <<EOT > src/main.rs
use ort::OrtResult;

fn main() -> OrtResult<()> {
  Ok(())
}
EOT
$ cat <<EOT >> Cargo.toml
ort = { git = "https://github.com/pykeio/ort.git", branch = "1.15", default-features = false }
EOT
$ git clone --recursive https://github.com/Microsoft/onnxruntime
$ cd onnxruntime/
$ ./build.sh --config Release --build_wasm_static_lib --skip_tests --disable_wasm_exception_catching --disable_rtti
$ cd ../
$ export ORT_LIB_LOCATION="$PWD/onnxruntime/build/Linux/Release"
$ cargo build --release -Zbuild-std=panic_abort,std --target wasm32-unknown-emscripten
...
   Compiling ort v1.15.5 (https://github.com/pykeio/ort.git?branch=1.15#bca00dc9)
   Compiling foo v0.1.0 (/home/kleisauke/foo)
error: linking with `emcc` failed: exit status: 1
...
           #0 0x00005584dd0621f8 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/home/kleisauke/emsdk/upstream/bin/wasm-ld+0xf4e1f8)
           #1 0x00005584dd05f82e llvm::sys::RunSignalHandlers() (/home/kleisauke/emsdk/upstream/bin/wasm-ld+0xf4b82e)
           #2 0x00005584dd062e35 SignalHandler(int) Signals.cpp:0:0
           #3 0x00007f33d603b9a0 __restore_rt (/lib64/libc.so.6+0x3e9a0)
           #4 0x00005584dd46782e lld::wasm::(anonymous namespace)::Writer::run() Writer.cpp:0:0
           #5 0x00005584dd45c5c8 lld::wasm::writeResult() (/home/kleisauke/emsdk/upstream/bin/wasm-ld+0x13485c8)
           #6 0x00005584dd435eb3 lld::wasm::(anonymous namespace)::LinkerDriver::linkerMain(llvm::ArrayRef<char const*>) Driver.cpp:0:0
           #7 0x00005584dd431b0c lld::wasm::link(llvm::ArrayRef<char const*>, llvm::raw_ostream&, llvm::raw_ostream&, bool, bool) (/home/kleisauke/emsdk/upstream/bin/wasm-ld+0x131db0c)
           #8 0x00005584dd064ffe lld::unsafeLldMain(llvm::ArrayRef<char const*>, llvm::raw_ostream&, llvm::raw_ostream&, llvm::ArrayRef<lld::DriverDef>, bool) (/home/kleisauke/emsdk/upstream/bin/wasm-ld+0xf50ffe)
           #9 0x00005584dcfad1c2 lld_main(int, char**, llvm::ToolContext const&) (/home/kleisauke/emsdk/upstream/bin/wasm-ld+0xe991c2)
          #10 0x00005584dcfad8bc main (/home/kleisauke/emsdk/upstream/bin/wasm-ld+0xe998bc)
          #11 0x00007f33d602514a __libc_start_call_main (/lib64/libc.so.6+0x2814a)
          #12 0x00007f33d602520b __libc_start_main@GLIBC_2.2.5 (/lib64/libc.so.6+0x2820b)
          #13 0x00005584dcf230ea _start (/home/kleisauke/emsdk/upstream/bin/wasm-ld+0xe0f0ea)
...
error: could not compile `foo` (bin "foo") due to previous error
$ echo $?
101

So, it looks like you're indeed impacted by llvm/llvm-project#62243 as libonnxruntime_webassembly.a was compiled with LTO:
https://github.com/microsoft/onnxruntime/blob/2151c79bf190cdd71794d224f8efea4f8b9cd207/cmake/adjust_global_compile_flags.cmake#L23-L32

If you disable that, everything works properly again, for example:

--- a/cmake/adjust_global_compile_flags.cmake
+++ b/cmake/adjust_global_compile_flags.cmake
@@ -21,7 +21,7 @@ if (CMAKE_SYSTEM_NAME STREQUAL "Emscripten")
   set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -s ALLOW_UNIMPLEMENTED_SYSCALLS=1")
 
   # Enable LTO for release single-thread build
-  if (NOT CMAKE_BUILD_TYPE STREQUAL "Debug")
+  if (FALSE)
     # NOTES:
     # (1) LTO does not work for WebAssembly multi-thread. (segment fault in worker)
     # (2) "-flto=thin" does not work correctly for wasm-ld.
$ cd onnxruntime/
$ rm -rf build/
$ sed -i '0,/NOT CMAKE_BUILD_TYPE STREQUAL "Debug"/s//FALSE/' cmake/adjust_global_compile_flags.cmake
$ ./build.sh --config Release --build_wasm_static_lib --skip_tests --disable_wasm_exception_catching --disable_rtti
$ cd ../
$ cargo clean
$ cargo build --release -Zbuild-std=panic_abort,std --target wasm32-unknown-emscripten
...
   Compiling ort v1.15.5 (https://github.com/pykeio/ort.git?branch=1.15#bca00dc9)
   Compiling foo v0.1.0 (/home/kleisauke/foo)
    Finished release [optimized] target(s) in 10.65s
$ echo $?
0
$ node target/wasm32-unknown-emscripten/release/foo.js
$ echo $?
0

@kleisauke
Copy link
Contributor

This should be fixed in Emscripten 3.1.50, see: llvm/llvm-project#73095.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-linkage Area: linking into static, shared libraries and binaries C-bug Category: This is a bug. O-wasm Target: WASM (WebAssembly), http://webassembly.org/
Projects
None yet
Development

No branches or pull requests

6 participants