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

[Merged by Bors] - log system info on startup #5454

Closed
wants to merge 6 commits into from

Conversation

IceSentry
Copy link
Contributor

Objective

  • We already log the adapter info on startup when bevy_render is present. It would be nice to have more info about the system to be able to ask users to submit it in bug reports

Solution

  • Use the sysinfo crate to get all the information
    • I made sure it only gets the required informations to avoid unnecessary system request
  • Add a system that logs this on startup
    • This system is currently in bevy_diagnostics because I didn't really know where to put it.

Here's an example log from my system:

INFO bevy_diagnostic: SystemInformation { os: "Windows 10 Pro", kernel: "19044", cpu: "AMD Ryzen 7 5800X 8-Core Processor", core_count: "8", memory: "34282242 KB" }

Changelog

  • Added a new default log when starting a bevy app that logs the system information

@IceSentry IceSentry added A-Diagnostics Logging, crash handling, error reporting and performance analysis C-Usability A targeted quality-of-life change that makes Bevy easier to use labels Jul 25, 2022
Copy link
Member

@alice-i-cecile alice-i-cecile left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code looks good, and this is a nice feature.

I could be convinced that this should either a) only be enabled in debug mode or b) be part of a custom panic handler but I'm also fine with this design (and it's much simpler).

@IceSentry
Copy link
Contributor Author

The panic handler part should be in another PR in my opinion. I don't like debug only because a lot of people just run in release mode for performance reason even if it's not recommended. I should probably figure out a way to disable it with a feature or something.

Copy link
Contributor

@Sheepyhead Sheepyhead left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've tested and confirmed that this works as expected with the stats
SystemInfo { os: "Windows 10 Pro", kernel: "19044", cpu: "Intel(R) Core(TM) i7-8700K CPU @ 3.70GHz", core_count: "6", memory: "34294992 KB" }

crates/bevy_diagnostic/src/lib.rs Outdated Show resolved Hide resolved
@alice-i-cecile
Copy link
Member

Diagnostic information is working properly for me on Windows 10 too :)

@alice-i-cecile alice-i-cecile added the S-Ready-For-Final-Review This PR has been approved by the community. It's ready for a maintainer to consider merging it label Jul 25, 2022
@mockersf
Copy link
Member

ok on MacOS 👍

@Nilirad
Copy link
Contributor

Nilirad commented Jul 26, 2022

I am OK with leaving the logging code even on release mode. It is useful for user bug reporting after the software has been shipped.

Copy link
Contributor

@Nilirad Nilirad left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Strangely enough, this seems to break dynamically linked builds on my end (it doesn't happen on main).

My system info:

SystemInfo { os: "Linux rolling Arch Linux", kernel: "5.18.12-arch1-1", cpu: "Intel(R) Core(TM) i7-3770K CPU @ 3.50GHz", core_count: "4", memory: "15.6 GiB" }

I think it should be printed in a prettier manner.

crates/bevy_diagnostic/src/lib.rs Outdated Show resolved Hide resolved
@IceSentry
Copy link
Contributor Author

@Nilirad I tried to just copy what the AdapterInfo did. How would you want it printed instead? I like the idea that it was a single easy to copy line.

@mockersf
Copy link
Member

mockersf commented Jul 26, 2022

For now, having both reports (CPU/system & GPU) being debug info is good enough.

Some time in the future, we'll need a proper error reporting method, but that's not it yet

@Nilirad
Copy link
Contributor

Nilirad commented Jul 26, 2022

@Nilirad I tried to just copy what the AdapterInfo did. How would you want it printed instead? I like the idea that it was a single easy to copy line.

I was thinking about a pretty-printed struct, with each field in its own line. But I guess all the other occurrences of logged values are also one-liners just like you did. At this point I think it is OK as it is.

@Nilirad
Copy link
Contributor

Nilirad commented Jul 26, 2022

Does anybody else experience linking errors when building with the dynamic feature?

EDIT: I'm on nightly.

@IceSentry
Copy link
Contributor Author

I haven't tried it since dynamic loading doesn't work great on windows. At least it didn't work last time I tried.

@LegNeato
Copy link
Contributor

Would this be better as it's own plugin that queries and writes Resources? I could imagine other parts of bevy and the community wanting to get at this information in a structured way as well.

@alice-i-cecile alice-i-cecile removed the S-Ready-For-Final-Review This PR has been approved by the community. It's ready for a maintainer to consider merging it label Jul 26, 2022
@IceSentry
Copy link
Contributor Author

I tried to get this out as fast as possible, because it's main purpose right now is to have more info when users reports an issue, but yes it would be easy to make it as a plugin that also inserts the result in a Res. I would do that in a future PR though

@IceSentry
Copy link
Contributor Author

We could even do things like record the amount of used and free memory, cpu usage and things like that as diagnostics. It was just out of scope for this PR.

@Nilirad
Copy link
Contributor

Nilirad commented Jul 26, 2022

We could even do things like record the amount of used and free memory, cpu usage and things like that as diagnostics. It was just out of scope for this PR.

🎫?

@IceSentry
Copy link
Contributor Author

IceSentry commented Jul 26, 2022

🎫?

Done #5464

@alice-i-cecile why did you remove the ready for final review tag? Is it because of the potential issue with dynamic loading?

@alice-i-cecile
Copy link
Member

Yes; I want verification on that.

@Nilirad
Copy link
Contributor

Nilirad commented Jul 26, 2022

I'll try to give it a deeper look tomorrow or the day after, depending on how much free time I'll have.

@Nilirad
Copy link
Contributor

Nilirad commented Jul 28, 2022

I tried to build with different configurations, none of which was successful.

cargo 1.64.0-nightly (85b500cca 2022-07-24), Fast builds config ON (LLD linker + share generics)
[nilirad@arch bevy]$ cargo run --features dynamic --example breakout
   Compiling bevy v0.8.0-dev (/home/nilirad/dev/bevyengine/official/bevy)
error: linking with `clang` failed: exit status: 1
  |
  = note: "clang" "-m64" "/tmp/rustceHEegh/symbols.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-aa223ca6447dfcd2.10a9zvf0kqw18856.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-aa223ca6447dfcd2.12kafboede0j6hx8.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-aa223ca6447dfcd2.139n7nf5dyopxk46.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-aa223ca6447dfcd2.1et2enpskvj423j1.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-aa223ca6447dfcd2.1i9w22mzhd1iqhof.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-aa223ca6447dfcd2.1qgx0wrd0xm9yt7.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-aa223ca6447dfcd2.1qyozczqufo2fyb4.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-aa223ca6447dfcd2.1x5gfov3bgmzrlv8.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-aa223ca6447dfcd2.1xbizb7tf6trbp7d.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-aa223ca6447dfcd2.20a1b38l7jq9vyda.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-aa223ca6447dfcd2.227a4t5zhz9c0ntu.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-aa223ca6447dfcd2.25wbb6ycltggf3e2.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-aa223ca6447dfcd2.27ojnb2pxh7xfcpj.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-aa223ca6447dfcd2.29t285budod57bmw.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-aa223ca6447dfcd2.2cwpiug8xrqjd7pc.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-aa223ca6447dfcd2.2d23r6l4rqgnm8z8.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-aa223ca6447dfcd2.2d8m3kttjr5goscz.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-aa223ca6447dfcd2.2dvgxmajy49yiswh.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-aa223ca6447dfcd2.2etb58jhd2yl93o1.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-aa223ca6447dfcd2.2f2q2b4d7c0r2bj1.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-aa223ca6447dfcd2.2ftn0nxh6skfopp3.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-aa223ca6447dfcd2.2h8bq7vjxui8onp6.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-aa223ca6447dfcd2.2ixjqvijcxw5eh66.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-aa223ca6447dfcd2.2lq9pcthcpwwpz2p.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-aa223ca6447dfcd2.2qnt6msphiivmyp.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-aa223ca6447dfcd2.2rrgbhwzpc33nhpj.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-aa223ca6447dfcd2.2u3c6tai0m0np1ix.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-aa223ca6447dfcd2.2urpcw741i4g5zy5.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-aa223ca6447dfcd2.2v1bwh7uxjn3gka5.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-aa223ca6447dfcd2.2v1rbaftd6b0fv03.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-aa223ca6447dfcd2.2vtax0oy15gya8px.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-aa223ca6447dfcd2.2w1o3mnvewjwre3r.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-aa223ca6447dfcd2.30hi3s79cz4pmgi9.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-aa223ca6447dfcd2.32yy7p6iq1cd4rz1.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-aa223ca6447dfcd2.34i64m1vkh1r54ix.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-aa223ca6447dfcd2.35dsb7onoveg2qrs.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-aa223ca6447dfcd2.37xxzvl6wva1w28m.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-aa223ca6447dfcd2.384bku7ed3j8kc4m.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-aa223ca6447dfcd2.38m04xzuixdxb7ux.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-aa223ca6447dfcd2.39g32m67waswxuqx.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-aa223ca6447dfcd2.3afxk4uooobh34s.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-aa223ca6447dfcd2.3azunfqlo2rqblpl.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-aa223ca6447dfcd2.3g1a5u3me65px330.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-aa223ca6447dfcd2.3mcfiu8rk3x1c06.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-aa223ca6447dfcd2.3n5ktl08kzc7secu.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-aa223ca6447dfcd2.3ngix4u3zw7k02j7.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-aa223ca6447dfcd2.3pss16sroch0urbm.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-aa223ca6447dfcd2.3q11cjr8ckgbyvrg.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-aa223ca6447dfcd2.3qbv5kbwsy8bpuso.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-aa223ca6447dfcd2.3qlrkucos32dijui.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-aa223ca6447dfcd2.3sleooiap5otoqkt.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-aa223ca6447dfcd2.3wh1gs6jy94eo285.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-aa223ca6447dfcd2.3x5hrmqu7jrophmd.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-aa223ca6447dfcd2.3xpl2y68u93utgta.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-aa223ca6447dfcd2.3ym4uhqse5bpa4er.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-aa223ca6447dfcd2.3yui5brwa7dfe0fy.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-aa223ca6447dfcd2.3zvajo36cdy8umfs.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-aa223ca6447dfcd2.430l3yjxlwpzuh0g.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-aa223ca6447dfcd2.43wdbvphbzr2tco0.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-aa223ca6447dfcd2.4bdwi7t8etxa2l5k.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-aa223ca6447dfcd2.4ghg7s9tr1wns3n4.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-aa223ca6447dfcd2.4grwc02j2t7j86gl.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-aa223ca6447dfcd2.4h3urj4d9io969ck.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-aa223ca6447dfcd2.4hbwfzyfqxout3w0.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-aa223ca6447dfcd2.4ibybxrjgx74f63e.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-aa223ca6447dfcd2.4jenrjn5eeqwu0ei.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-aa223ca6447dfcd2.4jq7kfdzbms95fdi.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-aa223ca6447dfcd2.4kv44q8y9z9n7tzj.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-aa223ca6447dfcd2.4nxanffw2nuuxn8m.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-aa223ca6447dfcd2.4ok5cnenxau8a2c0.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-aa223ca6447dfcd2.4qzsmi93z5ik19mk.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-aa223ca6447dfcd2.4shvyliu4q10u88x.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-aa223ca6447dfcd2.4wjamuiv3hue5pa7.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-aa223ca6447dfcd2.4xr2sa93fijpi1al.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-aa223ca6447dfcd2.50moktxsaxwqzral.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-aa223ca6447dfcd2.51nmuowsr52z3zdd.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-aa223ca6447dfcd2.52d1ut0kn9pfi7d4.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-aa223ca6447dfcd2.53uatonvaad275bl.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-aa223ca6447dfcd2.53x58lhxn90f2ag9.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-aa223ca6447dfcd2.572sbyak5wkq01zl.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-aa223ca6447dfcd2.57yo7esdr05fj215.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-aa223ca6447dfcd2.5cby1u8xwnphskrs.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-aa223ca6447dfcd2.5g9s66unmubgkwnp.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-aa223ca6447dfcd2.eymaqc3ntu8zsjf.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-aa223ca6447dfcd2.f2mx5otfttin4b7.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-aa223ca6447dfcd2.f9wibili6f3vsxf.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-aa223ca6447dfcd2.jdgm04o8htbeguq.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-aa223ca6447dfcd2.jttanbtbk7s6ycg.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-aa223ca6447dfcd2.jyyrnof1akwar1r.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-aa223ca6447dfcd2.kswh1wqtfdfvcmr.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-aa223ca6447dfcd2.nq0ml2nt1nx3d5c.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-aa223ca6447dfcd2.ogcq4esxk2u86lb.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-aa223ca6447dfcd2.pk3ycl7730cvo6d.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-aa223ca6447dfcd2.pxym90y4vy22x4m.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-aa223ca6447dfcd2.q3s9h9bnhuigun.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-aa223ca6447dfcd2.qns6khuowwhucwl.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-aa223ca6447dfcd2.u7lcj60uz8uwr5b.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-aa223ca6447dfcd2.vwbxi12slfx0emd.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-aa223ca6447dfcd2.wp6p1tslansbt3m.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-aa223ca6447dfcd2.x3o425yyabakdtk.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-aa223ca6447dfcd2.z672ykn5bg7fyt4.rcgu.o" "-Wl,--as-needed" "-L" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/deps" "-L" "/usr/lib" "-L" "/usr/lib" "-L" "/home/nilirad/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-Bstatic" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy-f690c64541554ca9.rlib" "-L" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/deps" "-Wl,-Bdynamic" "-lbevy_dylib" "-L" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/deps" "-lsysinfo-44b6de31c5012371" "-Wl,--start-group" "-L" "/home/nilirad/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-lstd-c28e44e30a7ed831" "-Wl,--end-group" "-Wl,-Bstatic" "/home/nilirad/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-6f7f4877ee9c613e.rlib" "-Wl,-Bdynamic" "-ldl" "-ludev" "-lasound" "-ldl" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-Wl,--eh-frame-hdr" "-Wl,-znoexecstack" "-L" "/home/nilirad/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-aa223ca6447dfcd2" "-Wl,--gc-sections" "-pie" "-Wl,-zrelro,-znow" "-nodefaultlibs" "-fuse-ld=lld"
  = note: ld.lld: error: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to _$LT$core..option..Option$LT$T$GT$$u20$as$u20$core..ops..try_trait..Try$GT$::branch::haa36173071214b7f [--no-allow-shlib-undefined]
          ld.lld: error: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to core::fmt::ArgumentV1::new_debug::hc5a77f74f48341d7 [--no-allow-shlib-undefined]
          ld.lld: error: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to core::str::_$LT$impl$u20$str$GT$::splitn::h4e9630d2c5c39568 [--no-allow-shlib-undefined]
          ld.lld: error: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to _$LT$core..str..iter..SplitN$LT$P$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$::next::h7948a44bb72037e5 [--no-allow-shlib-undefined]
          ld.lld: error: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to core::str::_$LT$impl$u20$str$GT$::strip_prefix::h9a78cc954c637c2e [--no-allow-shlib-undefined]
          ld.lld: error: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to core::mem::replace::h38f269b859a13437 [--no-allow-shlib-undefined]
          ld.lld: error: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to _$LT$I$u20$as$u20$core..iter..traits..collect..IntoIterator$GT$::into_iter::hb26f7f8e6a06bb67 [--no-allow-shlib-undefined]
          ld.lld: error: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to core::ptr::drop_in_place$LT$std..collections..hash..set..HashSet$LT$alloc..string..String$GT$$GT$::h4a9a00aaafc6e3a8 [--no-allow-shlib-undefined]
          ld.lld: error: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to hashbrown::map::HashMap$LT$K$C$V$C$S$C$A$GT$::insert::h087bf197a49f8f10 [--no-allow-shlib-undefined]
          ld.lld: error: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to _$LT$$RF$T$u20$as$u20$core..convert..AsRef$LT$U$GT$$GT$::as_ref::haa24526f4bce5582 [--no-allow-shlib-undefined]
          ld.lld: error: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to alloc::vec::Vec$LT$T$C$A$GT$::push::h1956c68b5e2092f4 [--no-allow-shlib-undefined]
          ld.lld: error: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to std::fs::File::open::hb157b8ff52913202 [--no-allow-shlib-undefined]
          ld.lld: error: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to _$LT$core..result..Result$LT$T$C$E$GT$$u20$as$u20$core..ops..try_trait..Try$GT$::branch::hcdd15b6d0751fbb8 [--no-allow-shlib-undefined]
          ld.lld: error: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to core::ptr::drop_in_place$LT$std..fs..DirEntry$GT$::h22cd7b0deb45a5ec [--no-allow-shlib-undefined]
          ld.lld: error: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to core::ptr::drop_in_place$LT$std..fs..ReadDir$GT$::hf86a7f57742c518d [--no-allow-shlib-undefined]
          ld.lld: error: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to core::iter::traits::iterator::Iterator::size_hint::h585a223803d31943 [--no-allow-shlib-undefined]
          ld.lld: error: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to _$LT$$RF$T$u20$as$u20$core..fmt..Debug$GT$::fmt::ha691ee019623d784 [--no-allow-shlib-undefined]
          ld.lld: error: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to core::result::Result$LT$T$C$E$GT$::map::h490d1e68a02d0a61 [--no-allow-shlib-undefined]
          ld.lld: error: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to core::ptr::drop_in_place$LT$core..option..Option$LT$std..path..PathBuf$GT$$GT$::h895adbd3496b9a06 [--no-allow-shlib-undefined]
          ld.lld: error: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to sysinfo::common::CpuRefreshKind::everything::h68b6a154653e9231 [--no-allow-shlib-undefined]
          ld.lld: error: too many errors emitted, stopping now (use -error-limit=0 to see all errors)
          clang-14: error: linker command failed with exit code 1 (use -v to see invocation)
          
  = help: some `extern` functions couldn't be found; some native libraries may need to be installed or have their path specified
  = note: use the `-l` flag to specify native libraries to link
  = note: use the `cargo:rustc-link-lib` directive to specify the native libraries to link with Cargo (see https://doc.rust-lang.org/cargo/reference/build-scripts.html#cargorustc-link-libkindname)

error: could not compile `bevy` due to previous error
cargo 1.64.0-nightly (85b500cca 2022-07-24), Fast builds config OFF
[nilirad@arch bevy]$ cargo run --features dynamic --example hello_world
   Compiling bevy v0.8.0-dev (/home/nilirad/dev/bevyengine/official/bevy)
error: linking with `cc` failed: exit status: 1
  |
  = note: "cc" "-m64" "/tmp/rustclqLOFy/symbols.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/hello_world-b9c93e6e330e4a6a.11yccnuh7x3k0yzu.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/hello_world-b9c93e6e330e4a6a.197oe9mzmjmz6ymy.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/hello_world-b9c93e6e330e4a6a.2aqvr6xqa5c2cp5c.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/hello_world-b9c93e6e330e4a6a.2x6zrxwkhd7zkdsy.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/hello_world-b9c93e6e330e4a6a.2xastev3hx1fz8ep.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/hello_world-b9c93e6e330e4a6a.3049r7etm009q3vp.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/hello_world-b9c93e6e330e4a6a.39k4ggm15obc7uwz.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/hello_world-b9c93e6e330e4a6a.3d6dvd16k6y4mj.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/hello_world-b9c93e6e330e4a6a.4czam2bd9kwccpgj.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/hello_world-b9c93e6e330e4a6a.4g3pap0m5og9bf7p.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/hello_world-b9c93e6e330e4a6a.4gvui9sao9c0qm69.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/hello_world-b9c93e6e330e4a6a.4hrg9w1ubn8d9ieq.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/hello_world-b9c93e6e330e4a6a.4i0ke343u6fywuuh.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/hello_world-b9c93e6e330e4a6a.898spxm08e9bp7m.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/hello_world-b9c93e6e330e4a6a.8jaqsoodr641c3w.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/hello_world-b9c93e6e330e4a6a.fufetvrcj0dms0w.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/hello_world-b9c93e6e330e4a6a.hw5vzqc9gf7akn.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/hello_world-b9c93e6e330e4a6a.o4wowra0s14jmbv.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/hello_world-b9c93e6e330e4a6a.r8ghaga5zwmef1f.rcgu.o" "-Wl,--as-needed" "-L" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/deps" "-L" "/usr/lib" "-L" "/usr/lib" "-L" "/home/nilirad/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-Bstatic" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy-f690c64541554ca9.rlib" "-L" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/deps" "-Wl,-Bdynamic" "-lbevy_dylib" "-L" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/deps" "-lsysinfo-44b6de31c5012371" "-Wl,--start-group" "-L" "/home/nilirad/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-lstd-c28e44e30a7ed831" "-Wl,--end-group" "-Wl,-Bstatic" "/home/nilirad/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-6f7f4877ee9c613e.rlib" "-Wl,-Bdynamic" "-ldl" "-ludev" "-lasound" "-ldl" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-Wl,--eh-frame-hdr" "-Wl,-znoexecstack" "-L" "/home/nilirad/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/hello_world-b9c93e6e330e4a6a" "-Wl,--gc-sections" "-pie" "-Wl,-zrelro,-znow" "-nodefaultlibs"
  = note: /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `sysinfo::common::CpuRefreshKind::everything'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `core::ptr::drop_in_place<std::fs::DirEntry>'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `<I as core::iter::traits::collect::IntoIterator>::into_iter'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `core::ptr::drop_in_place<std::fs::ReadDir>'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `alloc::vec::Vec<T,A>::push'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `<sysinfo::linux::system::System as sysinfo::traits::SystemExt>::kernel_version'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `core::ptr::drop_in_place<core::option::Option<std::path::PathBuf>>'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `core::ptr::drop_in_place<sysinfo::linux::system::System>'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `<core::str::iter::SplitN<P> as core::iter::traits::iterator::Iterator>::next'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `core::result::Result<T,E>::map'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `core::str::<impl str>::splitn'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `<sysinfo::linux::system::System as sysinfo::traits::SystemExt>::total_memory'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `<sysinfo::linux::system::System as sysinfo::traits::SystemExt>::global_cpu_info'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `<sysinfo::linux::system::System as sysinfo::traits::SystemExt>::long_os_version'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `std::fs::File::open'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `core::fmt::ArgumentV1::new_debug'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `hashbrown::map::HashMap<K,V,S,A>::insert'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `core::mem::replace'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `<&T as core::convert::AsRef<U>>::as_ref'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `core::str::<impl str>::strip_prefix'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `<core::option::Option<T> as core::ops::try_trait::Try>::branch'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `sysinfo::traits::SystemExt::new'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `<sysinfo::linux::system::System as sysinfo::traits::SystemExt>::refresh_cpu_specifics'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `<sysinfo::linux::cpu::Cpu as sysinfo::traits::CpuExt>::brand'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `<&T as core::fmt::Debug>::fmt'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `<core::result::Result<T,E> as core::ops::try_trait::Try>::branch'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `core::ptr::drop_in_place<std::collections::hash::set::HashSet<alloc::string::String>>'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `<sysinfo::linux::system::System as sysinfo::traits::SystemExt>::refresh_memory'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `<sysinfo::linux::system::System as sysinfo::traits::SystemExt>::physical_core_count'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `core::iter::traits::iterator::Iterator::size_hint'
          collect2: error: ld returned 1 exit status
          
  = help: some `extern` functions couldn't be found; some native libraries may need to be installed or have their path specified
  = note: use the `-l` flag to specify native libraries to link
  = note: use the `cargo:rustc-link-lib` directive to specify the native libraries to link with Cargo (see https://doc.rust-lang.org/cargo/reference/build-scripts.html#cargorustc-link-libkindname)

error: could not compile `bevy` due to previous error
cargo 1.62.1 (a748cf5a3 2022-06-08)
[nilirad@arch bevy]$ cargo +stable run --features dynamic --example breakout
   Compiling bevy v0.8.0-dev (/home/nilirad/dev/bevyengine/official/bevy)
error: linking with `cc` failed: exit status: 1
  |
  = note: "cc" "-m64" "/tmp/rustcsuogbg/symbols.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.119tgiecgxsudidc.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.16r8ybl5kn5bzsn7.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.18b2f1fvhiv81psp.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.18lho5ybhop1tqd8.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.18waji8znuox7pwk.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.19dv23cm89h6ii4y.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.1cjbnyg5n6d28p8o.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.1cwi1ci8nmyf7t18.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.1edcilcuqznj1zg3.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.1gv0oyg1gb0sbcg2.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.1ihfs28o6h1g4azq.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.1iwdgza8h9ueh689.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.1l811z5m0vcqqkjj.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.1mq3mwjwggtwa4ob.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.1ptt40nfc5zzwtml.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.1rbe3mcqoufqju7s.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.1t7n3nsmb9whlm2g.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.1zhe5m72xx937wbm.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.25gf1pungmjxrz9g.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.25w6ziewfmvw3g56.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.29vtwx0qbibhk3er.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.2a0cggfrbbxkjrjc.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.2adl0xjn9mjnpc9s.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.2b7gvkvtuadxysmo.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.2ebedrifoollir1j.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.2ib29w6etltk5i78.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.2ihuxd07acysdqpe.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.2ka4cv6it92dq2od.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.2l1cud3kb8frbwm4.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.2m0o018z4a6kdwiz.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.2mxffaxkmpazowyw.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.2nhbuvj7r3w6ja97.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.2npkfgnfjld1zqxw.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.2to0byrsz7cevbly.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.2uz9sxqt1air1xnj.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.2xobe1g5gcnipnyg.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.2yitaij3u1l4j6hj.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.2zc8cfnwpwt6bk0s.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.2zlx85gnpvuj65zc.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.31tvk9154zw9a4g5.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.3217iyv69u4z4rjo.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.33srgbdi6er1p8wb.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.348mnmo442nzr8iv.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.3519hulrkg1ia91e.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.36a3ygsk5x4p627u.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.376folqxc3urbz9v.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.384vjiniig6jvotk.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.38fee16dvp1d45ii.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.38pxkn8nwh4x64h0.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.398deskhn2qgj8yx.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.39qp51fy1l3uo9op.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.3aml2uu5rt05zznl.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.3bi5seypqatvvx07.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.3cst71p6pn2x32pa.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.3frl4mt4iwkpovm2.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.3i8xl2chwcpo50bo.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.3lm3pisy369hoiwj.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.3n191bv0yf0s0utf.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.3oj41hla3t5w7ur4.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.3piom06m48bbg1f1.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.3q925vzqsbad5djl.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.3ra8awj7thq3uga1.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.3t07fplsh566yo3j.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.3wl4tizntxvcippx.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.3zx880saqutffll6.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.41y8gn570jfk3bka.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.43dmk8qp910u39ut.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.45wfpfqmd6nxh2l.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.46dpqpq1d8k14xv1.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.47cdq5xzskym6xcw.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.4cqenpb6ot5hntqk.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.4fp2ewyokj7c9ln.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.4hx8t00j7qif4r8y.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.4ivtl3z0g4y7di05.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.4j5v94lq0ppueoxz.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.4j6vwqfv375pnktp.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.4l1f0f20fan0levb.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.4l249tu7h2va7ev3.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.4s53bbnhjqxf5s54.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.4sui8ew92czznx3r.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.4tcjxzdp2n5wh0pd.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.4yj510z6xvwbxpa0.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.51zmagk1jt1329xq.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.53w7ausg6sktu6j1.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.544cpkvn40zzj7ld.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.54xgcmyc8jlv6ls7.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.56ebjp4qfuqr4uyn.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.575lmvxqe87zvj87.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.58otm389lx35xris.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.5guogmucjiz0rno1.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.6mq2vnafgkftk12.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.72ojm6u5hpxyx8o.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.7489t0k98r36dhi.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.7fsksin718n9w8y.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.7tk2cjk1o69gtga.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.8mlmbalqlmvcak3.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.8uetelyfelsjzle.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.9bmm0kskut9luo.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.eharaqyc0d4hztx.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.five93gsm7jvhp8.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.gdqsye5igp3pydd.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.i8otazh0yhdoybp.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.lwa7gyxmz68uha5.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.mh7rbckojxk3wq.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.rg4pydpvwngr79u.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.rkp0m3d18iusgh1.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.vves3yo9ortws74.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.xlclj3occev89fg.rcgu.o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.zdynm567q6ymvkv.rcgu.o" "-Wl,--as-needed" "-L" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/deps" "-L" "/usr/lib" "-L" "/usr/lib" "-L" "/home/nilirad/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-Bstatic" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy-518e470972462316.rlib" "-L" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/deps" "-Wl,-Bdynamic" "-lbevy_dylib" "-L" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/deps" "-lsysinfo-59b24074e731bcc4" "-Wl,--start-group" "-L" "/home/nilirad/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-lstd-69edc9ac8de4d39c" "-Wl,--end-group" "-Wl,-Bstatic" "/home/nilirad/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-d1bd89f2a607e488.rlib" "-Wl,-Bdynamic" "-ldl" "-ludev" "-lasound" "-ldl" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-Wl,--eh-frame-hdr" "-Wl,-znoexecstack" "-L" "/home/nilirad/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a" "-Wl,--gc-sections" "-pie" "-Wl,-zrelro,-znow" "-nodefaultlibs"
  = note: /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.2ib29w6etltk5i78.rcgu.o: in function `bevy_text::text::TextSection::new':
          /home/nilirad/dev/bevyengine/official/bevy/crates/bevy_text/src/text.rs:106: undefined reference to `<T as core::convert::Into<U>>::into'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.2nhbuvj7r3w6ja97.rcgu.o: in function `bevy_ecs::system::commands::command_queue::CommandQueue::push':
          /home/nilirad/dev/bevyengine/official/bevy/crates/bevy_ecs/src/system/commands/command_queue.rs:69: undefined reference to `core::intrinsics::copy_nonoverlapping'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.2nhbuvj7r3w6ja97.rcgu.o: in function `bevy_ecs::system::commands::command_queue::CommandQueue::push':
          /home/nilirad/dev/bevyengine/official/bevy/crates/bevy_ecs/src/system/commands/command_queue.rs:69: undefined reference to `core::intrinsics::copy_nonoverlapping'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.2nhbuvj7r3w6ja97.rcgu.o: in function `bevy_ecs::system::commands::command_queue::CommandQueue::push':
          /home/nilirad/dev/bevyengine/official/bevy/crates/bevy_ecs/src/system/commands/command_queue.rs:69: undefined reference to `core::intrinsics::copy_nonoverlapping'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.2nhbuvj7r3w6ja97.rcgu.o: in function `bevy_ecs::system::commands::command_queue::CommandQueue::push':
          /home/nilirad/dev/bevyengine/official/bevy/crates/bevy_ecs/src/system/commands/command_queue.rs:69: undefined reference to `core::intrinsics::copy_nonoverlapping'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.2nhbuvj7r3w6ja97.rcgu.o: in function `bevy_ecs::system::commands::command_queue::CommandQueue::push':
          /home/nilirad/dev/bevyengine/official/bevy/crates/bevy_ecs/src/system/commands/command_queue.rs:69: undefined reference to `core::intrinsics::copy_nonoverlapping'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.2nhbuvj7r3w6ja97.rcgu.o:/home/nilirad/dev/bevyengine/official/bevy/crates/bevy_ecs/src/system/commands/command_queue.rs:69: more undefined references to `core::intrinsics::copy_nonoverlapping' follow
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.3519hulrkg1ia91e.rcgu.o: in function `fixedbitset::FixedBitSet::contains':
          /home/nilirad/.cargo/registry/src/github.com-1ecc6299db9ec823/fixedbitset-0.4.2/src/lib.rs:189: undefined reference to `<alloc::vec::Vec<T,A> as core::ops::deref::Deref>::deref'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.3519hulrkg1ia91e.rcgu.o: in function `<fixedbitset::FixedBitSet as core::default::Default>::default':
          /home/nilirad/.cargo/registry/src/github.com-1ecc6299db9ec823/fixedbitset-0.4.2/src/lib.rs:56: undefined reference to `core::ptr::drop_in_place<alloc::vec::Vec<u32>>'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/examples/breakout-e6e5fe76cc6bf29a.4cqenpb6ot5hntqk.rcgu.o: in function `<bevy_ecs::event::EventId<E> as core::fmt::Debug>::fmt':
          /home/nilirad/dev/bevyengine/official/bevy/crates/bevy_ecs/src/event.rs:48: undefined reference to `core::str::<impl str>::split'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `core::ptr::swap_nonoverlapping_simple'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `core::ptr::slice_from_raw_parts_mut'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `core::option::Option<T>::take'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `<core::result::Result<T,F> as core::ops::try_trait::FromResidual<core::result::Result<core::convert::Infallible,E>>>::from_residual'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `<core::result::Result<T,F> as core::ops::try_trait::FromResidual<core::result::Result<core::convert::Infallible,E>>>::from_residual'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `core::mem::swap'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `alloc::vec::Vec<T>::new'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `core::ptr::write'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `core::option::Option<T>::ok_or'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `<core::option::Option<T> as core::ops::try_trait::FromResidual>::from_residual'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `alloc::vec::Vec<T,A>::len'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `std::io::error::repr_bitpacked::decode_repr'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `core::option::Option<T>::is_none'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `core::ptr::drop_in_place<alloc::raw_vec::RawVec<&str>>'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `<&T as core::convert::AsRef<U>>::as_ref'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `<core::option::Option<T> as core::ops::try_trait::Try>::branch'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `core::ptr::drop_in_place<std::io::error::Error>'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `core::ptr::drop_in_place<core::option::Option<std::path::PathBuf>>'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `alloc::vec::Vec<T,A>::pop'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `<T as core::borrow::Borrow<T>>::borrow'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `<alloc::vec::into_iter::IntoIter<T,A> as core::iter::traits::iterator::Iterator>::size_hint'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `<core::hash::sip::Hasher<S> as core::hash::Hasher>::finish'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `<core::result::Result<T,E> as core::ops::try_trait::Try>::branch'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `<&T as core::fmt::Debug>::fmt'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `<core::option::Option<T> as core::ops::try_trait::FromResidual>::from_residual'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `core::ptr::drop_in_place<core::option::Option<alloc::string::String>>'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `hashbrown::raw::RawTableInner<A>::new_in'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `alloc::vec::Vec<T,A>::push'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `core::str::<impl str>::split'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `core::result::Result<T,E>::unwrap_unchecked'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `core::ptr::drop_in_place<std::sys_common::mutex::MovableMutex>'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `core::ptr::const_ptr::<impl *const T>::cast'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `core::mem::manually_drop::ManuallyDrop<T>::take'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `<core::option::Option<T> as core::ops::try_trait::Try>::branch'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `core::ptr::drop_in_place<alloc::vec::into_iter::IntoIter<std::path::PathBuf>>'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `core::ptr::drop_in_place<std::fs::DirEntry>'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `core::result::Result<T,E>::map_err'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `core::slice::index::<impl core::ops::index::IndexMut<I> for [T]>::index_mut'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `<alloc::vec::Vec<T,A> as core::ops::index::Index<I>>::index'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `<core::option::Option<T> as core::ops::try_trait::FromResidual>::from_residual'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `<sysinfo::linux::system::System as sysinfo::traits::SystemExt>::refresh_cpu_specifics'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `core::option::Option<T>::is_none'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `core::slice::index::<impl core::ops::index::IndexMut<I> for [T]>::index_mut'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `core::slice::<impl [T]>::iter'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `<sysinfo::linux::cpu::Cpu as sysinfo::traits::CpuExt>::brand'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `core::slice::iter::Iter<T>::as_slice'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `alloc::vec::Vec<T,A>::resize'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `<sysinfo::linux::system::System as sysinfo::traits::SystemExt>::physical_core_count'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `hashbrown::raw::RawTableInner<A>::prepare_resize'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `core::hash::sip::Hasher<S>::new_with_keys'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `<&T as core::convert::AsRef<U>>::as_ref'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `hashbrown::raw::RawTableInner<A>::prepare_insert_slot'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `alloc::vec::Vec<T,A>::set_len'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `core::num::dec2flt::dec2flt'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `<core::slice::iter::Iter<T> as core::iter::traits::iterator::Iterator>::next'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `core::iter::traits::iterator::Iterator::size_hint'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `core::slice::<impl [T]>::ends_with'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `std::path::Path::join'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `core::core_arch::x86::m128iExt::as_i8x16'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `core::slice::<impl [T]>::len'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `alloc::raw_vec::finish_grow'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `core::ptr::unique::Unique<T>::new_unchecked'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `<core::result::Result<T,E> as core::ops::try_trait::Try>::branch'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `hashbrown::raw::RawTableInner<A>::buckets'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `core::ptr::drop_in_place<alloc::vec::Vec<std::path::PathBuf>>'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `core::fmt::ArgumentV1::new_debug'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `core::result::Result<T,E>::is_err'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `<core::result::Result<T,F> as core::ops::try_trait::FromResidual<core::result::Result<core::convert::Infallible,E>>>::from_residual'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `<core::option::Option<T> as core::ops::try_trait::Try>::branch'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `hashbrown::raw::RawTableInner<A>::free_buckets'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `<core::result::Result<T,F> as core::ops::try_trait::FromResidual<core::result::Result<core::convert::Infallible,E>>>::from_residual'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `<core::option::Option<T> as core::ops::try_trait::FromResidual>::from_residual'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `core::fmt::ArgumentV1::new_display'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `alloc::vec::Vec<T,A>::len'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `core::str::<impl str>::trim_matches'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `<alloc::vec::Vec<T,A> as core::ops::deref::Deref>::deref'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `core::slice::<impl [T]>::as_mut_ptr'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `core::cmp::impls::<impl core::cmp::PartialEq<&B> for &A>::eq'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `<I as core::iter::traits::collect::IntoIterator>::into_iter'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `core::cmp::Ord::max'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `core::slice::cmp::<impl core::cmp::Ord for [T]>::cmp'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `core::ptr::write'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `<alloc::vec::into_iter::IntoIter<T,A> as core::iter::traits::iterator::Iterator>::next'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `core::iter::traits::iterator::Iterator::map'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `<core::result::Result<T,E> as core::ops::try_trait::Try>::branch'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `<alloc::vec::Vec<T,A> as core::clone::Clone>::clone'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `core::sync::atomic::atomic_compare_exchange'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `<core::slice::iter::Iter<T> as core::iter::traits::iterator::Iterator>::next'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `core::iter::range::<impl core::iter::traits::iterator::Iterator for core::ops::range::Range<A>>::next'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `core::ptr::read'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `<core::option::Option<T> as core::ops::try_trait::FromResidual>::from_residual'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `core::ptr::drop_in_place<std::path::PathBuf>'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `std::fs::File::open'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `<T as core::convert::Into<U>>::into'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `core::mem::replace'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `alloc::slice::<impl [T]>::to_vec_in'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `<T as core::convert::Into<U>>::into'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `<core::result::Result<T,F> as core::ops::try_trait::FromResidual<core::result::Result<core::convert::Infallible,E>>>::from_residual'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `core::ptr::drop_in_place<alloc::string::String>'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `alloc::vec::Vec<T,A>::reserve'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `<sysinfo::linux::system::System as sysinfo::traits::SystemExt>::long_os_version'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `alloc::raw_vec::RawVec<T,A>::ptr'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `hashbrown::raw::RawTableInner<A>::record_item_insert_at'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `core::slice::<impl [T]>::len'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `core::str::<impl str>::splitn'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `core::str::traits::<impl core::ops::index::Index<I> for str>::index'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `<core::option::Option<T> as core::ops::try_trait::Try>::branch'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `alloc::vec::Vec<T,A>::len'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `alloc::slice::<impl [T]>::join'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `std::path::Path::new'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `core::option::Option<T>::unwrap_or'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `hashbrown::map::HashMap<K,V,S,A>::insert'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::next'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `core::option::Option<T>::is_some'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `<sysinfo::linux::system::System as sysinfo::traits::SystemExt>::kernel_version'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `<sysinfo::linux::system::System as sysinfo::traits::SystemExt>::global_cpu_info'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `<core::option::Option<T> as core::ops::try_trait::FromResidual>::from_residual'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `core::hash::impls::<impl core::hash::Hash for u32>::hash'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `core::panicking::assert_failed'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `core::str::<impl str>::split_terminator'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `alloc::slice::<impl alloc::borrow::ToOwned for [T]>::to_owned'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `std::path::Path::new'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `<core::str::iter::Split<P> as core::iter::traits::iterator::Iterator>::next'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `core::slice::<impl [T]>::iter'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `core::option::Option<T>::unwrap_or'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `core::ptr::mut_ptr::<impl *mut T>::sub'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `alloc::vec::Vec<T,A>::push'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `alloc::vec::Vec<T,A>::capacity'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `<T as core::convert::From<T>>::from'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `core::mem::take'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `core::ptr::swap_nonoverlapping'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `<core::str::iter::SplitN<P> as core::iter::traits::iterator::Iterator>::next'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `core::slice::index::<impl core::ops::index::Index<I> for [T]>::index'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `<T as core::convert::From<T>>::from'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `alloc::vec::Vec<T,A>::as_mut_ptr'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `core::ptr::drop_in_place<core::result::Result<&[u8],std::io::error::Error>>'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `hashbrown::raw::RawTableInner<A>::ctrl'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `hashbrown::raw::RawTableInner<A>::find_inner'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `hashbrown::raw::RawTableInner<A>::rehash_in_place'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `alloc::vec::from_elem'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `<core::result::Result<T,E> as core::ops::try_trait::Try>::branch'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `core::result::Result<T,E>::is_err'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `<T as core::convert::From<T>>::from'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `<&T as core::convert::AsRef<U>>::as_ref'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `core::slice::index::<impl core::ops::index::Index<I> for [T]>::index'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `core::ptr::non_null::NonNull<T>::as_ptr'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `<core::option::Option<T> as core::ops::try_trait::FromResidual>::from_residual'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `alloc::vec::Vec<T>::new'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `std::thread::local::LocalKey<T>::with'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `core::option::Option<T>::ok_or'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `<alloc::vec::Vec<T,A> as core::ops::deref::Deref>::deref'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `core::ptr::drop_in_place<hashbrown::scopeguard::ScopeGuard<hashbrown::raw::RawTableInner<alloc::alloc::Global>,hashbrown::raw::RawTableInner<alloc::alloc::Global>::prepare_resize::{{closure}}>>'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `<sysinfo::linux::system::System as sysinfo::traits::SystemExt>::total_memory'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `<core::option::Option<T> as core::ops::try_trait::Try>::from_output'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `alloc::vec::Vec<T>::with_capacity'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `core::cmp::max'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `alloc::vec::Vec<T,A>::as_mut_ptr'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `<&T as core::fmt::Debug>::fmt'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `std::sync::poison::PoisonError<T>::new'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `core::ptr::drop_in_place<sysinfo::linux::system::System>'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `core::ptr::drop_in_place<[alloc::string::String]>'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `<hashbrown::scopeguard::ScopeGuard<T,F> as core::ops::deref::Deref>::deref'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `alloc::vec::Vec<T,A>::reserve'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `<core::option::Option<T> as core::cmp::PartialEq>::eq'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `core::result::Result<T,E>::map'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `<core::result::Result<T,E> as core::ops::try_trait::Try>::branch'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `<alloc::vec::Vec<T,A> as core::ops::deref::DerefMut>::deref_mut'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `std::thread::local::fast::Key<T>::get'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `core::ptr::swap_nonoverlapping_simple'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `core::ptr::drop_in_place<std::collections::hash::set::HashSet<alloc::string::String>>'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `core::result::Result<T,E>::ok'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `<sysinfo::linux::system::System as sysinfo::traits::SystemExt>::refresh_memory'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `core::fmt::ArgumentV1::new_display'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `core::option::Option<T>::is_some'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `core::ptr::drop_in_place<alloc::vec::Vec<u8>>'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `core::ptr::slice_from_raw_parts_mut'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `core::ptr::drop_in_place<alloc::vec::Vec<alloc::string::String>>'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `hashbrown::raw::RawTableInner<A>::is_empty_singleton'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `core::str::<impl str>::strip_prefix'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `core::ptr::drop_in_place<alloc::vec::set_len_on_drop::SetLenOnDrop>'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `core::str::traits::<impl core::ops::index::Index<I> for str>::index'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `<hashbrown::scopeguard::ScopeGuard<T,F> as core::ops::deref::DerefMut>::deref_mut'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `<core::result::Result<T,E> as core::ops::try_trait::Try>::branch'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `sysinfo::common::CpuRefreshKind::everything'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `hashbrown::raw::RawTableInner<A>::find_insert_slot'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `<core::option::Option<T> as core::ops::try_trait::FromResidual>::from_residual'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `hashbrown::raw::RawTableInner<A>::bucket_ptr'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `core::option::Option<T>::expect'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `alloc::vec::Vec<T,A>::as_mut_ptr'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `core::ptr::drop_in_place<alloc::vec::Vec<&str>>'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `<alloc::vec::Vec<T,A> as core::iter::traits::collect::IntoIterator>::into_iter'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `<I as core::iter::traits::collect::IntoIterator>::into_iter'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `core::ptr::drop_in_place<std::fs::ReadDir>'
          /usr/bin/ld: /home/nilirad/dev/bevyengine/official/bevy/target/debug/deps/libbevy_dylib.so: undefined reference to `sysinfo::traits::SystemExt::new'
          /usr/bin/ld: /usr/bin/ld generated: undefined reference to `core::str::<impl str>::split'
          /usr/bin/ld: /usr/bin/ld generated: undefined reference to `core::intrinsics::copy_nonoverlapping'
          /usr/bin/ld: /usr/bin/ld generated: undefined reference to `core::ptr::drop_in_place<alloc::vec::Vec<u32>>'
          /usr/bin/ld: /usr/bin/ld generated: undefined reference to `<alloc::vec::Vec<T,A> as core::ops::deref::Deref>::deref'
          collect2: error: ld returned 1 exit status
          
  = help: some `extern` functions couldn't be found; some native libraries may need to be installed or have their path specified
  = note: use the `-l` flag to specify native libraries to link
  = note: use the `cargo:rustc-link-lib` directive to specify the native libraries to link with Cargo (see https://doc.rust-lang.org/cargo/reference/build-scripts.html#cargorustc-link-libkindname)

error: could not compile `bevy` due to previous error

@IceSentry
Copy link
Contributor Author

It looks like the crate is doing some native calls which aren't linked. I honestly do not know how to resolve that. I'm not really familiar with all the dylib stuff 😦

@Nilirad Nilirad added the S-Needs-Investigation This issue requires detective work to figure out what's going wrong label Jul 29, 2022
@Nilirad
Copy link
Contributor

Nilirad commented Jul 29, 2022

@bjorn3 I think you're the most suited person to figure out what's going on here.

@alice-i-cecile
Copy link
Member

Nope, only in the final attempt or via bors try.

bors try

bors bot added a commit that referenced this pull request Dec 25, 2022
@bors
Copy link
Contributor

bors bot commented Dec 25, 2022

try

Build failed:

@mockersf
Copy link
Member

mockersf commented Dec 25, 2022

I tried building locally for iOS, main works but this branch fails with (mostly) the same error as in CI (differences can be explained by the fact that CI is on an intel mac and I have an arm mac).

Building directly for an iOS target works, but building through Xcode doesn't.

When coming from Xcode, we update the library path:

if [[ -n "${DEVELOPER_SDK_DIR:-}" ]]; then
# Assume we're in Xcode, which means we're probably cross-compiling.
# In this case, we need to add an extra library search path for build scripts and proc-macros,
# which run on the host instead of the target.
# (macOS Big Sur does not have linkable libraries in /usr/lib/.)
export LIBRARY_PATH="${DEVELOPER_SDK_DIR}/MacOSX.sdk/usr/lib:${LIBRARY_PATH:-}"
fi

Without this, sysinfo compiles, but other crates like serde don't

@IceSentry
Copy link
Contributor Author

So in order to get this merged, I made it so that it doesn't compile anything on iOS or when using bevy_dynamic. It's not perfect, but at least we'll still get the log in a lot of cases. I'd love to have it on more platforms, but I have no way to test either of those platform so unless someone wants to adopt this I can't do much more.

@IceSentry
Copy link
Contributor Author

bors try

bors bot added a commit that referenced this pull request Dec 26, 2022
@bors
Copy link
Contributor

bors bot commented Dec 26, 2022

try

Build failed:

@IceSentry
Copy link
Contributor Author

bors try

bors bot added a commit that referenced this pull request Dec 26, 2022
@alice-i-cecile
Copy link
Member

Can you open a follow up issue to get this working on more platforms?
bors r+

bors bot pushed a commit that referenced this pull request Dec 26, 2022
# Objective

- We already log the adapter info on startup when bevy_render is present. It would be nice to have more info about the system to be able to ask users to submit it in bug reports

## Solution

- Use the `sysinfo` crate to get all the information
  - I made sure it _only_ gets the required informations to avoid unnecessary system request
- Add a system that logs this on startup
  - This system is currently in `bevy_diagnostics` because I didn't really know where to put it.

Here's an example log from my system:
```log
INFO bevy_diagnostic: SystemInformation { os: "Windows 10 Pro", kernel: "19044", cpu: "AMD Ryzen 7 5800X 8-Core Processor", core_count: "8", memory: "34282242 KB" }
```
---

## Changelog

- Added a new default log when starting a bevy app that logs the system information
@bors bors bot changed the title log system info on startup [Merged by Bors] - log system info on startup Dec 26, 2022
@bors bors bot closed this Dec 26, 2022
@GuillaumeGomez
Copy link
Contributor

To be noted that for iOS most of sysinfo features are disabled because of how apps are run, preventing them to access a lot of information.

@l1npengtul
Copy link
Contributor

I have experience writing OS bindings, if anyone needs help on that feel free to tag me.

alradish pushed a commit to alradish/bevy that referenced this pull request Jan 22, 2023
# Objective

- We already log the adapter info on startup when bevy_render is present. It would be nice to have more info about the system to be able to ask users to submit it in bug reports

## Solution

- Use the `sysinfo` crate to get all the information
  - I made sure it _only_ gets the required informations to avoid unnecessary system request
- Add a system that logs this on startup
  - This system is currently in `bevy_diagnostics` because I didn't really know where to put it.

Here's an example log from my system:
```log
INFO bevy_diagnostic: SystemInformation { os: "Windows 10 Pro", kernel: "19044", cpu: "AMD Ryzen 7 5800X 8-Core Processor", core_count: "8", memory: "34282242 KB" }
```
---

## Changelog

- Added a new default log when starting a bevy app that logs the system information
bors bot pushed a commit that referenced this pull request Jan 22, 2023
# Problemo

Some code in #5911 and #5454 does not compile with dynamic linking enabled.
The code is behind a feature gate to prevent dynamically linked builds from breaking, but it's not quite set up correctly.

## Solution

Forward the `dynamic` feature flag to the `bevy_diagnostic` crate and gate the code behind it.


Co-authored-by: devil-ira <justthecooldude@gmail.com>
ItsDoot pushed a commit to ItsDoot/bevy that referenced this pull request Feb 1, 2023
# Objective

- We already log the adapter info on startup when bevy_render is present. It would be nice to have more info about the system to be able to ask users to submit it in bug reports

## Solution

- Use the `sysinfo` crate to get all the information
  - I made sure it _only_ gets the required informations to avoid unnecessary system request
- Add a system that logs this on startup
  - This system is currently in `bevy_diagnostics` because I didn't really know where to put it.

Here's an example log from my system:
```log
INFO bevy_diagnostic: SystemInformation { os: "Windows 10 Pro", kernel: "19044", cpu: "AMD Ryzen 7 5800X 8-Core Processor", core_count: "8", memory: "34282242 KB" }
```
---

## Changelog

- Added a new default log when starting a bevy app that logs the system information
ItsDoot pushed a commit to ItsDoot/bevy that referenced this pull request Feb 1, 2023
# Problemo

Some code in bevyengine#5911 and bevyengine#5454 does not compile with dynamic linking enabled.
The code is behind a feature gate to prevent dynamically linked builds from breaking, but it's not quite set up correctly.

## Solution

Forward the `dynamic` feature flag to the `bevy_diagnostic` crate and gate the code behind it.


Co-authored-by: devil-ira <justthecooldude@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-Diagnostics Logging, crash handling, error reporting and performance analysis C-Usability A targeted quality-of-life change that makes Bevy easier to use
Projects
None yet
Development

Successfully merging this pull request may close these issues.

10 participants