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

Linker fails with cross, but builds otherwise inside the same docker image #643

Closed
skyflyer opened this issue Feb 20, 2022 · 8 comments · Fixed by #681
Closed

Linker fails with cross, but builds otherwise inside the same docker image #643

skyflyer opened this issue Feb 20, 2022 · 8 comments · Fixed by #681

Comments

@skyflyer
Copy link

I'm building a proggy which depends on JACK and I'm getting an error when building with cross (complete log at the end):

  = note: /usr/bin/ld: cannot find -ljack
          collect2: error: ld returned 1 exit status

I'm running this on Mac (x64) otherwise. In trying to fix the cannot find -ljack error, I also built a custom docker image, referenced it in Cross.toml and created ./cargo/config.toml.

Cross.toml:

[target.x86-64-unknown-linux-gnu]
image = "rustembedded/cross:withjack-0.2.1"

./cargo/config.toml:

[target.x86_64-unknown-linux-gnu.jack]
rustc-link-lib = ["jack"]
rustc-link-search = ["/usr/lib/x86_64-linux-gnu/", "/usr/lib/x86_64-linux-gnu/jack"]

If I test if gcc can find the library, the test is successful:

root@c7d292aa9e0d:/# gcc -ljack
/usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/crt1.o: In function `_start':
(.text+0x20): undefined reference to `main'
collect2: error: ld returned 1 exit status

This is also the case with ldconfig -p:

root@c7d292aa9e0d:/# ldconfig -p | grep jack
	libjackserver.so.0 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libjackserver.so.0
	libjackserver.so (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libjackserver.so
	libjacknet.so.0 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libjacknet.so.0
	libjacknet.so (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libjacknet.so
	libjack.so.0 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libjack.so.0
	libjack.so (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libjack.so

But I can't figure out what is going on. I then installed rust in this image, mounted the sources and cargo build them and it was done. So I'm guessing there's something wrong with my configuration, understanding or... perhaps with my usage of cross?

I'd appreciate any feedback, thanks!

Complete log
❯ cross build --target x86_64-unknown-linux-gnu
   Compiling jack-sys v0.2.3
   Compiling jack v0.8.4
   Compiling jack_recorder v0.1.0 (/project)
error: linking with `cc` failed: exit status: 1
  |
  = note: "cc" "-m64" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.11z1uuyvt565uv0v.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.14egs36rxl97v9ih.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.172sd5rbbgx918es.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.18rhpq9nr396b2ub.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.1c4yaej277the07m.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.1egtwna917p5ao1h.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.1lzw7jbq4g3jniv3.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.1m1deuudbxuww81y.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.1oe5ve0gr15gtpuw.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.1pwuewm3dzlx0o2v.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.1rktnfskfax0d3q4.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.1viibz08olszng35.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.1x9zg715m6o7gogy.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.1xkn7icggq4s108u.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.1z09a2isf43yxmpr.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.220t37j9etenxmjm.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.22t3qju2vgt26mvd.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.244ed1aysb91p1wy.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.257q74htlnvcx78f.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.26av2rqqmjb74unt.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.26elxucpyq663zxa.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.28gleb0ehcqstyhw.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.2c5h2il11sdslx0y.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.2clo3c9k8127gdd.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.2e4kgfgmp37k0ztg.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.2fvdswukwphynm2o.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.2fyltipcw47qrkrs.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.2gqhboe8o1rg1tbk.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.2gy9knbnyb1nca2y.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.2hmcs73n6lt8x1h3.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.2jho35cn947nc7dy.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.2kqlxlnxy3hghiki.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.2lx2611u0bmc8axb.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.2m53vdb390g3rjus.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.2mv2djx9rqgfdgpu.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.2nznzo73l126op10.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.2qh52mqis9tcvd97.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.2stqv53csvax5mbx.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.2vfz2zictur9a1v2.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.2y4s89x1o7tvup26.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.2yaopbfopff9kmga.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.2z6qn7q3285jdnnv.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.2zq55p6ojou0nbr.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.30cr0ip77i896lhy.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.30g1e8zenhbavxp5.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.3168r3lfur7icfk8.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.330vgwsdrk0ou54m.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.35b3zy2of9k4if1y.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.375xnistd9ji71y9.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.3817c59b252uc35e.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.3a6i2q7hn3ey60ng.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.3ag6atuyx6523bx3.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.3aj8d3oxjxogc4w8.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.3bu5uv44s82u3nmi.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.3cjwa0m7qgedgq00.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.3dteq5mgzffuezhm.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.3dyytehd116wfcs0.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.3evpdknr1cslydok.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.3f2dnlp9dik0138c.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.3fjnac4vrnmird6u.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.3gap3vu4wehfhr0q.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.3i5jgwoazwn14389.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.3jnvr1eyphmnmi7k.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.3ms7rn5l8l173tr3.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.3ntzorwdaxyqkhg0.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.3ozhmjtuzz50eue6.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.3ozwaiibxaez662.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.3phaquqt8ptl3cd9.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.3pr4159vb0fkb8xt.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.3psyfzjcakt2tsea.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.3qz1l1ofeprmzow0.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.3rblk5hd4ksv259m.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.3uiil8dx6sb6g0jv.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.3v36ti7s63gx110j.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.3vsoeqljhd1j42zb.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.3wgenikme5bpja58.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.3whk7y0ktl5eo17b.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.3yhx7ntkjwg25lyk.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.3yuc6xtfvve7ezae.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.3zcwx5f63868ei75.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.40cze2gtpo2rr8d5.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.4181chp9uittqpkq.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.41g99ln5nvfj1c4v.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.41iplspq28a4ql2e.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.425xim864lg22x31.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.427qizay0pwg2a0y.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.42ak7r76s6kzl8cf.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.439roo5pbhig3m5k.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.43szrrx26mj033wc.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.45zanhe4pp8hr0wi.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.46wtugrqaczjbuc7.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.48tzshzn2nklpons.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.4auhgtisqpelp0c2.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.4bn5j0d6yowx6e2s.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.4c3xrvqxoky5jp56.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.4h16s8lt5s7dsh09.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.4i664m6sj3ao17nc.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.4k6myp486nkfks8h.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.4kv0y8i7d0bre80q.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.4mwyv5c2gboniign.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.4pkpxb2d2d0o863h.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.4pvmcix4n0gmnmry.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.4pxubgskdqnga27b.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.4q2xqz5n9lm64s6x.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.4s2d75lase1nxclw.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.4s7uzh8yzyht225x.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.4swe9zwojy40gmn1.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.4u0jimwtg1vdjrvb.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.4unsbsxdz8i91bjz.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.4vtbqhqc3hp8kiv8.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.4wtt072seezywm4.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.4xt4d4ak1mndh42.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.4xw19uzwabuxbx4c.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.4yyh2s64b94gqpny.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.4z9w91y6yqo5xonz.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.50rng14hmq8ds9bo.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.51j4zq6puhewrfhv.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.52scxdioyjd1inwv.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.54238p6tn0i2fm1k.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.54rjttferw9be520.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.5560cj27escqxfkw.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.564za47nmi0murzd.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.56dfn7bs7gbd4bk6.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.5728dad0w79h2mbd.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.57xazxfm5lzcqbc0.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.58ixnxlwawlzgpk.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.5ehpjlnp4vodr60w.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.5emv6zmjft24gsdt.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.5f6etycbyn008o73.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.5g33cjnivzcce6h.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.5glkniupiy7pgqkf.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.5rdq137rowri5p6.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.5u997jg3lf9g1cu.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.5yhafd837u7ldty.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.6r8rq03wz0bvz9z.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.7qur97dsoso42qq.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.8wpvznsnfim3hf2.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.amkzd0vlxil1v4u.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.arfjz2m1i1zl4mi.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.b8yeepth0pbkskk.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.bydjnt3m65u9buv.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.cq9p8bpf0ki680k.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.d8xonan7qav8yeu.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.f0u5nho9a93swdu.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.hc3yece9qccup4k.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.iebd5f8y01jy309.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.ktvbr2ktakgohhr.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.l1zdyf1910oiz7x.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.m3b5shlspgnya58.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.p8n9gqu0k0iolrw.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.qv1xmxxv9nqoo4a.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.rofslieujjx71k5.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.rv2009vpb3irawn.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.s3quq8gv2s69pao.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.swzsq43wngkiq0g.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.vhdw8nrvv3p9z86.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.visx5w9eak6o9gu.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.w28vj5zglzu9u4d.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.yh28xgb1apel00t.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.zoh0ocrgwbmo2lm.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.48pu1wb0fhpv2mws.rcgu.o" "-Wl,--as-needed" "-L" "/target/x86_64-unknown-linux-gnu/debug/deps" "-L" "/target/debug/deps" "-L" "/usr/lib/x86_64-linux-gnu/" "-L" "/usr/lib/x86_64-linux-gnu/jack" "-L" "/rust/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-Bstatic" "/target/x86_64-unknown-linux-gnu/debug/deps/libhound-4a33c40c5c8618bd.rlib" "/target/x86_64-unknown-linux-gnu/debug/deps/libctrlc-f6d8fd599df36367.rlib" "/target/x86_64-unknown-linux-gnu/debug/deps/libnix-b2066db7b8a53580.rlib" "/target/x86_64-unknown-linux-gnu/debug/deps/libmemoffset-dfd163e1f90b8b53.rlib" "/target/x86_64-unknown-linux-gnu/debug/deps/libjack-b52e01786ecd4b53.rlib" "/target/x86_64-unknown-linux-gnu/debug/deps/liblog-0196ddd6f0bd4607.rlib" "/target/x86_64-unknown-linux-gnu/debug/deps/libjack_sys-e771b24de578b3fe.rlib" "/target/x86_64-unknown-linux-gnu/debug/deps/liblibloading-281573b7e789b238.rlib" "/target/x86_64-unknown-linux-gnu/debug/deps/libcrossbeam_channel-bea6a06add60c87a.rlib" "/target/x86_64-unknown-linux-gnu/debug/deps/libcrossbeam_utils-be6ee7e59bf9592e.rlib" "/target/x86_64-unknown-linux-gnu/debug/deps/libcfg_if-3fd0ad6984ca4ea2.rlib" "/target/x86_64-unknown-linux-gnu/debug/deps/libchrono-a933b6cf01e51ac4.rlib" "/target/x86_64-unknown-linux-gnu/debug/deps/libnum_integer-2a9698600d5fd202.rlib" "/target/x86_64-unknown-linux-gnu/debug/deps/libnum_traits-cc6c9f19a0dc1919.rlib" "/target/x86_64-unknown-linux-gnu/debug/deps/libtime-d127f04bc6b258e8.rlib" "/target/x86_64-unknown-linux-gnu/debug/deps/libclap-e810cb6280027973.rlib" "/target/x86_64-unknown-linux-gnu/debug/deps/libstrsim-112a5b2a04a9b1d0.rlib" "/target/x86_64-unknown-linux-gnu/debug/deps/libatty-e938f235d99ddca1.rlib" "/target/x86_64-unknown-linux-gnu/debug/deps/liblibc-7e4a1896fa4e53ce.rlib" "/target/x86_64-unknown-linux-gnu/debug/deps/libtermcolor-c5884804691aa2c8.rlib" "/target/x86_64-unknown-linux-gnu/debug/deps/libtextwrap-b250459733a4527a.rlib" "/target/x86_64-unknown-linux-gnu/debug/deps/libindexmap-40a656e85e3061b8.rlib" "/target/x86_64-unknown-linux-gnu/debug/deps/libhashbrown-6de296d0d7d76809.rlib" "/target/x86_64-unknown-linux-gnu/debug/deps/libos_str_bytes-57e5eea979d6b343.rlib" "/target/x86_64-unknown-linux-gnu/debug/deps/libmemchr-b220f63bbbf4aeaf.rlib" "/target/x86_64-unknown-linux-gnu/debug/deps/libbitflags-9f86f0a60d05f5a9.rlib" "/target/x86_64-unknown-linux-gnu/debug/deps/liblazy_static-02d7a5f283e665fb.rlib" "-Wl,--start-group" "/rust/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-4c74cbab78ec4891.rlib" "/rust/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-0ef58120f7b95253.rlib" "/rust/lib/rustlib/x86_64-unknown-linux-gnu/lib/libminiz_oxide-e35e56ad39c7e20e.rlib" "/rust/lib/rustlib/x86_64-unknown-linux-gnu/lib/libadler-671a9f10c55c6c87.rlib" "/rust/lib/rustlib/x86_64-unknown-linux-gnu/lib/libobject-ee577127549b7793.rlib" "/rust/lib/rustlib/x86_64-unknown-linux-gnu/lib/libmemchr-bed369233e55d851.rlib" "/rust/lib/rustlib/x86_64-unknown-linux-gnu/lib/libaddr2line-e8504b1ed73d6c6f.rlib" "/rust/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgimli-411eeeec028606dc.rlib" "/rust/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd_detect-0ddec007a0883060.rlib" "/rust/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-7c5cb27d99d10614.rlib" "/rust/lib/rustlib/x86_64-unknown-linux-gnu/lib/libhashbrown-6c448d94453f4d95.rlib" "/rust/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_alloc-22835d1ac5e3244b.rlib" "/rust/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunwind-84878e033904a7a4.rlib" "/rust/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcfg_if-c0badcb9f7c5eab7.rlib" "/rust/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-b4424726f33da388.rlib" "/rust/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-aa0bad4c4d134922.rlib" "/rust/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_core-483ad457673e0f5c.rlib" "/rust/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-6cfcec236d576603.rlib" "-Wl,--end-group" "/rust/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-5667a4a7e2c48d47.rlib" "-Wl,-Bdynamic" "-ljack" "-ldl" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-Wl,--eh-frame-hdr" "-Wl,-znoexecstack" "-L" "/rust/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402" "-Wl,--gc-sections" "-pie" "-Wl,-zrelro,-znow" "-nodefaultlibs"
  = note: /usr/bin/ld: cannot find -ljack
          collect2: error: ld returned 1 exit status


error: could not compile `jack_recorder` due to previous error
@skyflyer
Copy link
Author

skyflyer commented Apr 3, 2022

I'd appreciate any feedback on how to approach this issue and what else to try.

A simple check to see whether ld can find libjack:

  1. Create a simple c file: test.c
  2. Compile it with cc -c -no-pie test.c
  3. Link it with ld test.o -ljack

ld creates a binary in this case.

Thanks!

@Emilgardis
Copy link
Member

Emilgardis commented Apr 3, 2022

the issue is similar to #676 and others, the solution is https://github.com/cross-rs/cross#custom-docker-images

The reason the linker cant find jack is because jack is not included in the docker image. You'll have to extend it.
scratch that, I see that you are using a custom docker image. My bad.

Can you try basing your image on the newest image here: https://github.com/cross-rs/cross/pkgs/container/x86_64-unknown-linux-gnu

@skyflyer
Copy link
Author

skyflyer commented Apr 3, 2022

Thanks @Emilgardis!

I pulled the new image, added EPEL repo, and installed (an older version of Jack) with yum (the image's been apparently changed from ubuntu to centos?).

Same result, unfortunately: = note: /usr/bin/ld: cannot find -ljack

I repeated the test with ld test.o -ljack and it works...

@Emilgardis
Copy link
Member

alright, I feel like there is something wrong in how cargo invokes ld, can you run with -vv for more verbose logs

also, you bring up a good point, we should possibly have the centos image be named something else, the reason for using centos is due to glibc compatibility, but I don't think many are going to be interested in that. We should provide a ubuntu based image for x86_64-unknown-linux-gnu

@skyflyer
Copy link
Author

skyflyer commented Apr 3, 2022

I ran it with -vv and it looks allright to me (see below). I even removed the rustc-link-search as I don't think it is necessary, since ld can find the lib.

Anyway, if you spot anything of significance, let me know what to try next (sorry, but I am no expert in C flags, even less so for rust :().

Interestingly enough, the test program (below) compiles without problems with cc -ljack test.c.

#include <jack/jack.h>

int main(int argc,char**argv)
{
  jack_client_t* jc;
  jack_status_t stat;
  jc = jack_client_open("test",0,&stat);
  if( jc )
    jack_client_close( jc );
  return 0;
}
logs
  = note: "cc" "-m64" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.11z1uuyvt565uv0v.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.14egs36rxl97v9ih.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.172sd5rbbgx918es.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.18rhpq9nr396b2ub.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.1c4yaej277the07m.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.1egtwna917p5ao1h.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.1lzw7jbq4g3jniv3.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.1m1deuudbxuww81y.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.1oe5ve0gr15gtpuw.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.1pwuewm3dzlx0o2v.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.1rktnfskfax0d3q4.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.1viibz08olszng35.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.1x9zg715m6o7gogy.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.1xkn7icggq4s108u.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.1z09a2isf43yxmpr.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.220t37j9etenxmjm.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.22t3qju2vgt26mvd.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.244ed1aysb91p1wy.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.257q74htlnvcx78f.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.26av2rqqmjb74unt.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.26elxucpyq663zxa.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.28gleb0ehcqstyhw.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.2c5h2il11sdslx0y.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.2clo3c9k8127gdd.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.2e4kgfgmp37k0ztg.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.2fvdswukwphynm2o.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.2fyltipcw47qrkrs.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.2gqhboe8o1rg1tbk.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.2gy9knbnyb1nca2y.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.2hmcs73n6lt8x1h3.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.2jho35cn947nc7dy.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.2kqlxlnxy3hghiki.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.2lx2611u0bmc8axb.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.2m53vdb390g3rjus.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.2mv2djx9rqgfdgpu.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.2nznzo73l126op10.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.2qh52mqis9tcvd97.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.2stqv53csvax5mbx.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.2vfz2zictur9a1v2.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.2y4s89x1o7tvup26.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.2yaopbfopff9kmga.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.2z6qn7q3285jdnnv.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.2zq55p6ojou0nbr.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.30cr0ip77i896lhy.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.30g1e8zenhbavxp5.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.3168r3lfur7icfk8.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.330vgwsdrk0ou54m.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.35b3zy2of9k4if1y.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.375xnistd9ji71y9.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.3817c59b252uc35e.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.3a6i2q7hn3ey60ng.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.3ag6atuyx6523bx3.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.3aj8d3oxjxogc4w8.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.3bu5uv44s82u3nmi.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.3cjwa0m7qgedgq00.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.3dteq5mgzffuezhm.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.3dyytehd116wfcs0.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.3evpdknr1cslydok.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.3f2dnlp9dik0138c.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.3fjnac4vrnmird6u.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.3gap3vu4wehfhr0q.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.3i5jgwoazwn14389.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.3jnvr1eyphmnmi7k.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.3ms7rn5l8l173tr3.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.3ntzorwdaxyqkhg0.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.3ozhmjtuzz50eue6.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.3ozwaiibxaez662.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.3phaquqt8ptl3cd9.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.3pr4159vb0fkb8xt.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.3psyfzjcakt2tsea.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.3qz1l1ofeprmzow0.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.3rblk5hd4ksv259m.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.3uiil8dx6sb6g0jv.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.3v36ti7s63gx110j.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.3vsoeqljhd1j42zb.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.3wgenikme5bpja58.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.3whk7y0ktl5eo17b.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.3yhx7ntkjwg25lyk.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.3yuc6xtfvve7ezae.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.3zcwx5f63868ei75.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.40cze2gtpo2rr8d5.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.4181chp9uittqpkq.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.41g99ln5nvfj1c4v.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.41iplspq28a4ql2e.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.425xim864lg22x31.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.427qizay0pwg2a0y.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.42ak7r76s6kzl8cf.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.439roo5pbhig3m5k.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.43szrrx26mj033wc.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.45zanhe4pp8hr0wi.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.46wtugrqaczjbuc7.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.48tzshzn2nklpons.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.4auhgtisqpelp0c2.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.4bn5j0d6yowx6e2s.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.4c3xrvqxoky5jp56.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.4h16s8lt5s7dsh09.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.4i664m6sj3ao17nc.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.4k6myp486nkfks8h.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.4kv0y8i7d0bre80q.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.4mwyv5c2gboniign.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.4pkpxb2d2d0o863h.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.4pvmcix4n0gmnmry.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.4pxubgskdqnga27b.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.4q2xqz5n9lm64s6x.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.4s2d75lase1nxclw.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.4s7uzh8yzyht225x.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.4swe9zwojy40gmn1.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.4u0jimwtg1vdjrvb.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.4unsbsxdz8i91bjz.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.4vtbqhqc3hp8kiv8.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.4wtt072seezywm4.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.4xt4d4ak1mndh42.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.4xw19uzwabuxbx4c.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.4yyh2s64b94gqpny.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.4z9w91y6yqo5xonz.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.50rng14hmq8ds9bo.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.51j4zq6puhewrfhv.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.52scxdioyjd1inwv.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.54238p6tn0i2fm1k.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.54rjttferw9be520.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.5560cj27escqxfkw.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.564za47nmi0murzd.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.56dfn7bs7gbd4bk6.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.5728dad0w79h2mbd.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.57xazxfm5lzcqbc0.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.58ixnxlwawlzgpk.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.5ehpjlnp4vodr60w.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.5emv6zmjft24gsdt.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.5f6etycbyn008o73.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.5g33cjnivzcce6h.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.5glkniupiy7pgqkf.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.5rdq137rowri5p6.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.5u997jg3lf9g1cu.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.5yhafd837u7ldty.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.6r8rq03wz0bvz9z.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.7qur97dsoso42qq.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.8wpvznsnfim3hf2.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.amkzd0vlxil1v4u.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.arfjz2m1i1zl4mi.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.b8yeepth0pbkskk.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.bydjnt3m65u9buv.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.cq9p8bpf0ki680k.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.d8xonan7qav8yeu.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.f0u5nho9a93swdu.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.hc3yece9qccup4k.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.iebd5f8y01jy309.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.ktvbr2ktakgohhr.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.l1zdyf1910oiz7x.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.m3b5shlspgnya58.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.p8n9gqu0k0iolrw.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.qv1xmxxv9nqoo4a.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.rofslieujjx71k5.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.rv2009vpb3irawn.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.s3quq8gv2s69pao.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.swzsq43wngkiq0g.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.vhdw8nrvv3p9z86.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.visx5w9eak6o9gu.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.w28vj5zglzu9u4d.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.yh28xgb1apel00t.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.zoh0ocrgwbmo2lm.rcgu.o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402.48pu1wb0fhpv2mws.rcgu.o" "-Wl,--as-needed" "-L" "/target/x86_64-unknown-linux-gnu/debug/deps" "-L" "/target/debug/deps" "-L" "/rust/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-Bstatic" "/target/x86_64-unknown-linux-gnu/debug/deps/libhound-4a33c40c5c8618bd.rlib" "/target/x86_64-unknown-linux-gnu/debug/deps/libctrlc-f6d8fd599df36367.rlib" "/target/x86_64-unknown-linux-gnu/debug/deps/libnix-b2066db7b8a53580.rlib" "/target/x86_64-unknown-linux-gnu/debug/deps/libmemoffset-dfd163e1f90b8b53.rlib" "/target/x86_64-unknown-linux-gnu/debug/deps/libjack-b52e01786ecd4b53.rlib" "/target/x86_64-unknown-linux-gnu/debug/deps/liblog-0196ddd6f0bd4607.rlib" "/target/x86_64-unknown-linux-gnu/debug/deps/libjack_sys-e771b24de578b3fe.rlib" "/target/x86_64-unknown-linux-gnu/debug/deps/liblibloading-281573b7e789b238.rlib" "/target/x86_64-unknown-linux-gnu/debug/deps/libcrossbeam_channel-bea6a06add60c87a.rlib" "/target/x86_64-unknown-linux-gnu/debug/deps/libcrossbeam_utils-be6ee7e59bf9592e.rlib" "/target/x86_64-unknown-linux-gnu/debug/deps/libcfg_if-3fd0ad6984ca4ea2.rlib" "/target/x86_64-unknown-linux-gnu/debug/deps/libchrono-a933b6cf01e51ac4.rlib" "/target/x86_64-unknown-linux-gnu/debug/deps/libnum_integer-2a9698600d5fd202.rlib" "/target/x86_64-unknown-linux-gnu/debug/deps/libnum_traits-cc6c9f19a0dc1919.rlib" "/target/x86_64-unknown-linux-gnu/debug/deps/libtime-d127f04bc6b258e8.rlib" "/target/x86_64-unknown-linux-gnu/debug/deps/libclap-e810cb6280027973.rlib" "/target/x86_64-unknown-linux-gnu/debug/deps/libstrsim-112a5b2a04a9b1d0.rlib" "/target/x86_64-unknown-linux-gnu/debug/deps/libatty-e938f235d99ddca1.rlib" "/target/x86_64-unknown-linux-gnu/debug/deps/liblibc-7e4a1896fa4e53ce.rlib" "/target/x86_64-unknown-linux-gnu/debug/deps/libtermcolor-c5884804691aa2c8.rlib" "/target/x86_64-unknown-linux-gnu/debug/deps/libtextwrap-b250459733a4527a.rlib" "/target/x86_64-unknown-linux-gnu/debug/deps/libindexmap-40a656e85e3061b8.rlib" "/target/x86_64-unknown-linux-gnu/debug/deps/libhashbrown-6de296d0d7d76809.rlib" "/target/x86_64-unknown-linux-gnu/debug/deps/libos_str_bytes-57e5eea979d6b343.rlib" "/target/x86_64-unknown-linux-gnu/debug/deps/libmemchr-b220f63bbbf4aeaf.rlib" "/target/x86_64-unknown-linux-gnu/debug/deps/libbitflags-9f86f0a60d05f5a9.rlib" "/target/x86_64-unknown-linux-gnu/debug/deps/liblazy_static-02d7a5f283e665fb.rlib" "-Wl,--start-group" "/rust/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-4c74cbab78ec4891.rlib" "/rust/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-0ef58120f7b95253.rlib" "/rust/lib/rustlib/x86_64-unknown-linux-gnu/lib/libminiz_oxide-e35e56ad39c7e20e.rlib" "/rust/lib/rustlib/x86_64-unknown-linux-gnu/lib/libadler-671a9f10c55c6c87.rlib" "/rust/lib/rustlib/x86_64-unknown-linux-gnu/lib/libobject-ee577127549b7793.rlib" "/rust/lib/rustlib/x86_64-unknown-linux-gnu/lib/libmemchr-bed369233e55d851.rlib" "/rust/lib/rustlib/x86_64-unknown-linux-gnu/lib/libaddr2line-e8504b1ed73d6c6f.rlib" "/rust/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgimli-411eeeec028606dc.rlib" "/rust/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd_detect-0ddec007a0883060.rlib" "/rust/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-7c5cb27d99d10614.rlib" "/rust/lib/rustlib/x86_64-unknown-linux-gnu/lib/libhashbrown-6c448d94453f4d95.rlib" "/rust/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_alloc-22835d1ac5e3244b.rlib" "/rust/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunwind-84878e033904a7a4.rlib" "/rust/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcfg_if-c0badcb9f7c5eab7.rlib" "/rust/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-b4424726f33da388.rlib" "/rust/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-aa0bad4c4d134922.rlib" "/rust/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_core-483ad457673e0f5c.rlib" "/rust/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-6cfcec236d576603.rlib" "-Wl,--end-group" "/rust/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-5667a4a7e2c48d47.rlib" "-Wl,-Bdynamic" "-ljack" "-ldl" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-Wl,--eh-frame-hdr" "-Wl,-znoexecstack" "-L" "/rust/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/target/x86_64-unknown-linux-gnu/debug/deps/jack_recorder-81be9ed969671402" "-Wl,--gc-sections" "-pie" "-Wl,-zrelro,-znow" "-nodefaultlibs"
  = note: /usr/bin/ld: cannot find -ljack
          collect2: error: ld returned 1 exit status

@Emilgardis
Copy link
Member

Emilgardis commented Apr 3, 2022

do you have a way for us to reproduce this?

also the logs don't tell much, I'd need the full output, including what cross and cargo does

@skyflyer
Copy link
Author

skyflyer commented Apr 4, 2022

@Emilgardis, while preparing a repro, I figured it out. I was using docker ps to inspect that a correct custom image was used and noticed it used a default docker image for build. That lead me to a typo in the file Cross.toml which contained:

[target.x86-64-unknown-linux-gnu]
image = "rustembedded/cross:withjack-0.2.1"

Notice the hyphen (-) instead of underscore between x86 and 64. I must've made that mistake when I was setting up - what's strange though is that there was no error that the image does not exist.

Anyway, thanks a lot for your help! I appreciate it!

Perhaps an error should be thrown when (custom) image is not found?

/close

@Emilgardis
Copy link
Member

great! I think this type of error is very sneaky, reason being it may well be a valid target.

I think the most logical way to warn/detect this case is to normalize - and _ and check if there's any entry in the Cross.toml that would have hit if it was normalized.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants