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

Cannot build on Pi4 #35

Closed
andrewdavidmackenzie opened this issue Jun 8, 2023 · 28 comments
Closed

Cannot build on Pi4 #35

andrewdavidmackenzie opened this issue Jun 8, 2023 · 28 comments
Labels
bug Something isn't working

Comments

@andrewdavidmackenzie
Copy link

I am trying to build cec-rs on my Raspberry Pi 400.
I have installed:

  • pkg-config
  • libcec-dev
  • libcec6
  • rust and cargo and everything else

When I try cargo build I get "No such file or directory" for #include <cecc.h> in the build/smoke_abi*.c files

@andrewdavidmackenzie andrewdavidmackenzie added the bug Something isn't working label Jun 8, 2023
@andrewdavidmackenzie
Copy link
Author

Debugging the first of many errors in the output

pkg-config --libs --cflags libcec libcec >= 6
Package p8-platform was not found in the pkg-config search path.
Perhaps you should add the directory containing `p8-platform.pc'
to the PKG_CONFIG_PATH environment variable
Package 'p8-platform', required by 'libcec', not found

@andrewdavidmackenzie
Copy link
Author

So https://github.com/Pulse-Eight/platform is another dependency, not mentioned by libcec-sys either.

@andrewdavidmackenzie
Copy link
Author

andrewdavidmackenzie commented Jun 8, 2023

then sudo apt install libudev-dev

then success!! :-)

So, those could be added to the readme along with libcec6 and libcec-sys etc.

@andrewdavidmackenzie
Copy link
Author

Now I just need to get the example building:

andrew@raspberrypi:~/workspace/cec-rs/examples/cec-example-cli $ cargo build
   Compiling cec-example-cli v0.1.0 (/home/andrew/workspace/cec-rs/examples/cec-example-cli)
error: linking with `cc` failed: exit status: 1
  |
  = note: LC_ALL="C" PATH="/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/bin:/home/andrew/bin:/home/andrew/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games" VSLANG="1033" "cc" "/tmp/rustcq0z3ij/symbols.o" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/cec_example_cli-85c9267e8ac6408a.1qogf2myatezixw4.rcgu.o" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/cec_example_cli-85c9267e8ac6408a.2qre4tkveh3ms1gi.rcgu.o" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/cec_example_cli-85c9267e8ac6408a.2xa0i1e8n9zp4okh.rcgu.o" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/cec_example_cli-85c9267e8ac6408a.2yl62se21cp8jim8.rcgu.o" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/cec_example_cli-85c9267e8ac6408a.3aibqlx7ls5kr99s.rcgu.o" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/cec_example_cli-85c9267e8ac6408a.3aouutympfzuc89a.rcgu.o" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/cec_example_cli-85c9267e8ac6408a.3jyqmwwo2x09yo82.rcgu.o" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/cec_example_cli-85c9267e8ac6408a.3ladraxujptv8als.rcgu.o" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/cec_example_cli-85c9267e8ac6408a.3myivwaetx02vbka.rcgu.o" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/cec_example_cli-85c9267e8ac6408a.3n0bn4lqtyygqz4v.rcgu.o" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/cec_example_cli-85c9267e8ac6408a.3t4nhnw45akm1xle.rcgu.o" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/cec_example_cli-85c9267e8ac6408a.5806s2um3s6a30pp.rcgu.o" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/cec_example_cli-85c9267e8ac6408a.j8nln0a5x7woq7c.rcgu.o" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/cec_example_cli-85c9267e8ac6408a.phw7qjozyxab6ai.rcgu.o" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/cec_example_cli-85c9267e8ac6408a.2trjjon6bzsua3tp.rcgu.o" "-Wl,--as-needed" "-L" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps" "-L" "/usr/local/lib" "-L" "/usr/lib/aarch64-linux-gnu" "-L" "/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib" "-Wl,-Bstatic" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/libenv_logger-7f328a6a49e540bc.rlib" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/libatty-5c0d644e9eb3ed8d.rlib" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/liblibc-e48c8100d211905b.rlib" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/libtermcolor-52a9f1e3f4e07950.rlib" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/libhumantime-551f50a7ad5901cb.rlib" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/libregex-b6cfb5a35fb9e53b.rlib" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/libaho_corasick-6fbea633026a33d5.rlib" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/libmemchr-e8c1cc4b1135f895.rlib" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/libregex_syntax-28c56a792749c09a.rlib" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/libcec_rs-10a5832217c27c1d.rlib" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/libnum_traits-83f32006c99ede39.rlib" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/liblibcec_sys-33fc6d959d85c732.rlib" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/libarrayvec-4d2d29437ec5882f.rlib" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/liblog-ccd92234bd7eaf1f.rlib" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/libcfg_if-91585cb6680b7958.rlib" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/libderive_builder-fb0ee4a7f32e181e.rlib" "/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/libstd-946b15357ac77df4.rlib" "/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/libpanic_unwind-2d0b248e89b2808c.rlib" "/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/libobject-1b03f67c3ac003f0.rlib" "/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/libmemchr-9250a0fcea167a0f.rlib" "/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/libaddr2line-941e813f0fef4923.rlib" "/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/libgimli-69c4c2902b12dda6.rlib" "/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/librustc_demangle-42af6b10762c23fe.rlib" "/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/libstd_detect-3182fd6346993be6.rlib" "/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/libhashbrown-033d14b6de2d922a.rlib" "/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/libminiz_oxide-950fc14a03e7785e.rlib" "/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/libadler-4e0f6ac8a38cddcc.rlib" "/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/librustc_std_workspace_alloc-96ea7f81b1a3f1ed.rlib" "/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/libunwind-623747b6610fbd76.rlib" "/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/libcfg_if-2c008996deb192c7.rlib" "/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/liblibc-9f36896ad5b5a88b.rlib" "/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/liballoc-80b6041f4dd5f344.rlib" "/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/librustc_std_workspace_core-4ce69c89c704ae22.rlib" "/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/libcore-f60c54dd8ad76b1f.rlib" "/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/libcompiler_builtins-01c087f75d740d97.rlib" "-Wl,-Bdynamic" "-lc" "-lm" "-lrt" "-lpthread" "-lcec" "-lp8-platform" "-ludev" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-Wl,--eh-frame-hdr" "-Wl,-z,noexecstack" "-L" "/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib" "-o" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/cec_example_cli-85c9267e8ac6408a" "-Wl,--gc-sections" "-pie" "-Wl,-z,relro,-z,now" "-nodefaultlibs"
  = note: /usr/bin/ld: /usr/local/lib/libp8-platform.a(StringUtils.cpp.o): undefined reference to symbol '_ZNSt6localeD1Ev@@GLIBCXX_3.4'
          /usr/bin/ld: /lib/aarch64-linux-gnu/libstdc++.so.6: error adding symbols: DSO missing from command line
          collect2: error: ld returned 1 exit status
          
  = note: 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 `cec-example-cli` due to previous error

@andrewdavidmackenzie
Copy link
Author

andrewdavidmackenzie commented Jun 8, 2023

Tried adding:

    println!("cargo:rustc-link-lib=libp8-platform");
    println!("cargo:rustc-link-arg=-Wl,--copy-dt-needed-entries");
    println!("cargo:rustc-link-lib=libstdc++");

in the lib's build.rs, but no change

@ssalonen
Copy link
Owner

ssalonen commented Jun 8, 2023

Did you install p8 from system package repositories? It is probably called libp8-platform-dev

@andrewdavidmackenzie
Copy link
Author

andrewdavidmackenzie commented Jun 9, 2023

initially I built and installed from source.
Just now I installed thus

sudo apt install libp8-platform-dev
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
libp8-platform-dev is already the newest version (2.1.0.1+dfsg1-3).
0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.

Then I noticed:

/usr/bin/ld: cannot find -llibp8-platform
          /usr/bin/ld: note to link with /usr/local/lib/libp8-platform.a use -l:libp8-platform.a or rename it to liblibp8-platform.a
          /usr/bin/ld: cannot find -llibstdc++
          /usr/bin/ld: note to link with /usr/lib/gcc/aarch64-linux-gnu/10/libstdc++.a use -l:libstdc++.a or rename it to liblibstdc++.a
          collect2: error: ld returned 1 exit status

So I did:

sudo cp /usr/local/lib/libp8-platform.a /usr/local/lib/liblibp8-platform.a
sudo cp /usr/lib/gcc/aarch64-linux-gnu/10/libstdc++.a /usr/lib/gcc/aarch64-linux-gnu/10/liblibstdc++.a

as a bit of an experiment, and now I am back to original error:

note: /usr/bin/ld: /usr/local/lib/libp8-platform.a(StringUtils.cpp.o): undefined reference to symbol '_ZNSt6localeD1Ev@@GLIBCXX_3.4'
          /usr/bin/ld: /lib/aarch64-linux-gnu/libstdc++.so.6: error adding symbols: DSO missing from command line
          collect2: error: ld returned 1 exit status
          
  = note: 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 `cec-example-cli` due to previous error

@ssalonen
Copy link
Owner

ssalonen commented Jun 9, 2023

At least previously no such hacking was needed, checkout github actions

Did you also install non-dev version of p8 platform.

@andrewdavidmackenzie
Copy link
Author

Looks like all the CI uses cross-compiling on Ubuntu. I am compiling natively on RPi, and RPiOS.

@ssalonen
Copy link
Owner

ssalonen commented Jun 11, 2023

That is true indeed.

Let's walk this through step by step:

  1. remove manually built p8-platform and libcec if there
  2. Install libudev-dev libp8-platform2 libp8-platform-dev libcec-dev
  3. Comment here what is the libcec package version. Is it v6 or v4?
  4. Comment here output of: pkg-config libcec
  5. Comment here version of OS: cat /etc/os-release
  6. Comment here more details: uname -mrs
  7. Comment whether you have 32 or 64bit kernel: getconf LONG_BIT

With example app:

  1. cargo clean to remove any leftovers (possibly built against old libraries)
  2. cargo build -vv
  3. Attach full build log to gist and comment it here

@andrewdavidmackenzie
Copy link
Author

I get this apk_pkg error that I am not familiar with:

sudo apt install libudev-dev libp8-platform2 libp8-platform-dev libcec-dev
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
libp8-platform2 is already the newest version (2.1.0.1+dfsg1-3).
libp8-platform2 set to manually installed.
libudev-dev is already the newest version (247.3-7+deb11u2).
The following additional packages will be installed:
  libcec6
The following NEW packages will be installed:
  libcec-dev libcec6 libp8-platform-dev
0 upgraded, 3 newly installed, 0 to remove and 1 not upgraded.
Need to get 47.5 kB/279 kB of archives.
After this operation, 1,212 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://deb.debian.org/debian bullseye/main arm64 libp8-platform-dev arm64 2.1.0.1+dfsg1-3 [47.5 kB]
Fetched 47.5 kB in 0s (215 kB/s)             
Traceback (most recent call last):
  File "/usr/bin/apt-listchanges", line 29, in <module>
    import apt_pkg
ModuleNotFoundError: No module named 'apt_pkg'
Selecting previously unselected package libcec6:arm64.
(Reading database ... 98673 files and directories currently installed.)
Preparing to unpack .../libcec6_6.0.2-2+rpt2_arm64.deb ...
Unpacking libcec6:arm64 (6.0.2-2+rpt2) ...
Selecting previously unselected package libcec-dev:arm64.
Preparing to unpack .../libcec-dev_6.0.2-2+rpt2_arm64.deb ...
Unpacking libcec-dev:arm64 (6.0.2-2+rpt2) ...
Selecting previously unselected package libp8-platform-dev:arm64.
Preparing to unpack .../libp8-platform-dev_2.1.0.1+dfsg1-3_arm64.deb ...
Unpacking libp8-platform-dev:arm64 (2.1.0.1+dfsg1-3) ...
Setting up libcec6:arm64 (6.0.2-2+rpt2) ...
Setting up libp8-platform-dev:arm64 (2.1.0.1+dfsg1-3) ...
Setting up libcec-dev:arm64 (6.0.2-2+rpt2) ...
Processing triggers for libc-bin (2.31-13+rpt2+rpi1+deb11u5) ...

I did the copy/link trick described here:
https://stackoverflow.com/questions/13708180/python-dev-installation-error-importerror-no-module-named-apt-pkg
and that seems to have fixed that.

You can see all the version numbers there I think:

sudo apt install libudev-dev libp8-platform2 libp8-platform-dev libcec-dev
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
libp8-platform-dev is already the newest version (2.1.0.1+dfsg1-3).
libp8-platform2 is already the newest version (2.1.0.1+dfsg1-3).
libudev-dev is already the newest version (247.3-7+deb11u2).
libcec-dev is already the newest version (6.0.2-2+rpt2).
0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.

Output of pkg-config libcec is empty, which I suspect is the cause of the problem???

pkg-config libcec
andrew@raspberrypi:~/workspace/cec-rs $ sudo apt install libcec-dev
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
libcec-dev is already the newest version (6.0.2-2+rpt2).
0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.
andrew@raspberrypi:~/workspace/cec-rs $ sudo apt install libcec
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
E: Unable to locate package libcec
andrew@raspberrypi:~/workspace/cec-rs $ sudo apt install libcec6
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
libcec6 is already the newest version (6.0.2-2+rpt2).
libcec6 set to manually installed.
0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.
andrew@raspberrypi:~/workspace/cec-rs $ pkg-config libcec6
andrew@raspberrypi:~/workspace/cec-rs $ 

OS Version:

cat /etc/os-release 
PRETTY_NAME="Debian GNU/Linux 11 (bullseye)"
NAME="Debian GNU/Linux"
VERSION_ID="11"
VERSION="11 (bullseye)"
VERSION_CODENAME=bullseye
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
uname -mrs
Linux 6.1.21-v8+ aarch64
getconf LONG_BIT
64

Then I did in lib:

  • cargo clean
  • cargo build
  • (all OK)

Then in the sample app I did:

  • cargo clean
  • cargo build

Output:

Compiling derive_builder_core v0.10.2
   Compiling derive_builder_macro v0.10.2
   Compiling derive_builder v0.10.2
   Compiling cec-example-cli v0.1.0 (/home/andrew/workspace/cec-rs/examples/cec-example-cli)
error: linking with `cc` failed: exit status: 1
  |
  = note: LC_ALL="C" PATH="/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/bin:/home/andrew/bin:/home/andrew/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games" VSLANG="1033" "cc" "/tmp/rustcrmZQue/symbols.o" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/cec_example_cli-85c9267e8ac6408a.1qogf2myatezixw4.rcgu.o" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/cec_example_cli-85c9267e8ac6408a.2qre4tkveh3ms1gi.rcgu.o" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/cec_example_cli-85c9267e8ac6408a.2xa0i1e8n9zp4okh.rcgu.o" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/cec_example_cli-85c9267e8ac6408a.2yl62se21cp8jim8.rcgu.o" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/cec_example_cli-85c9267e8ac6408a.3aibqlx7ls5kr99s.rcgu.o" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/cec_example_cli-85c9267e8ac6408a.3aouutympfzuc89a.rcgu.o" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/cec_example_cli-85c9267e8ac6408a.3jyqmwwo2x09yo82.rcgu.o" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/cec_example_cli-85c9267e8ac6408a.3ladraxujptv8als.rcgu.o" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/cec_example_cli-85c9267e8ac6408a.3myivwaetx02vbka.rcgu.o" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/cec_example_cli-85c9267e8ac6408a.3n0bn4lqtyygqz4v.rcgu.o" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/cec_example_cli-85c9267e8ac6408a.3t4nhnw45akm1xle.rcgu.o" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/cec_example_cli-85c9267e8ac6408a.5806s2um3s6a30pp.rcgu.o" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/cec_example_cli-85c9267e8ac6408a.j8nln0a5x7woq7c.rcgu.o" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/cec_example_cli-85c9267e8ac6408a.phw7qjozyxab6ai.rcgu.o" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/cec_example_cli-85c9267e8ac6408a.2trjjon6bzsua3tp.rcgu.o" "-Wl,--as-needed" "-L" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps" "-L" "/usr/local/lib" "-L" "/usr/lib/aarch64-linux-gnu" "-L" "/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib" "-Wl,-Bstatic" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/libenv_logger-7f328a6a49e540bc.rlib" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/libatty-5c0d644e9eb3ed8d.rlib" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/liblibc-e48c8100d211905b.rlib" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/libtermcolor-52a9f1e3f4e07950.rlib" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/libhumantime-551f50a7ad5901cb.rlib" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/libregex-b6cfb5a35fb9e53b.rlib" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/libaho_corasick-6fbea633026a33d5.rlib" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/libmemchr-e8c1cc4b1135f895.rlib" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/libregex_syntax-28c56a792749c09a.rlib" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/libcec_rs-10a5832217c27c1d.rlib" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/libnum_traits-83f32006c99ede39.rlib" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/liblibcec_sys-33fc6d959d85c732.rlib" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/libarrayvec-4d2d29437ec5882f.rlib" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/liblog-ccd92234bd7eaf1f.rlib" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/libcfg_if-91585cb6680b7958.rlib" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/libderive_builder-fb0ee4a7f32e181e.rlib" "/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/libstd-946b15357ac77df4.rlib" "/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/libpanic_unwind-2d0b248e89b2808c.rlib" "/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/libobject-1b03f67c3ac003f0.rlib" "/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/libmemchr-9250a0fcea167a0f.rlib" "/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/libaddr2line-941e813f0fef4923.rlib" "/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/libgimli-69c4c2902b12dda6.rlib" "/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/librustc_demangle-42af6b10762c23fe.rlib" "/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/libstd_detect-3182fd6346993be6.rlib" "/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/libhashbrown-033d14b6de2d922a.rlib" "/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/libminiz_oxide-950fc14a03e7785e.rlib" "/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/libadler-4e0f6ac8a38cddcc.rlib" "/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/librustc_std_workspace_alloc-96ea7f81b1a3f1ed.rlib" "/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/libunwind-623747b6610fbd76.rlib" "/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/libcfg_if-2c008996deb192c7.rlib" "/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/liblibc-9f36896ad5b5a88b.rlib" "/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/liballoc-80b6041f4dd5f344.rlib" "/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/librustc_std_workspace_core-4ce69c89c704ae22.rlib" "/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/libcore-f60c54dd8ad76b1f.rlib" "/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/libcompiler_builtins-01c087f75d740d97.rlib" "-Wl,-Bdynamic" "-lc" "-lm" "-lrt" "-lpthread" "-llibp8-platform" "-llibstdc++" "-lcec" "-lp8-platform" "-ludev" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-Wl,--eh-frame-hdr" "-Wl,-z,noexecstack" "-L" "/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib" "-o" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/cec_example_cli-85c9267e8ac6408a" "-Wl,--gc-sections" "-pie" "-Wl,-z,relro,-z,now" "-nodefaultlibs"
  = note: /usr/bin/ld: /usr/local/lib/libp8-platform.a(StringUtils.cpp.o): undefined reference to symbol '_ZNSt6localeD1Ev@@GLIBCXX_3.4'
          /usr/bin/ld: /lib/aarch64-linux-gnu/libstdc++.so.6: error adding symbols: DSO missing from command line
          collect2: error: ld returned 1 exit status
          
  = note: 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 `cec-example-cli` due to previous error

No change.

@ssalonen
Copy link
Owner

Thank you

Are you sure you copy pasted full build output with double verbose (-vv) setting? I think this is only few lines now

Full output would show compilation and other steps

@andrewdavidmackenzie
Copy link
Author

I include long-line AND wrapped versions

cargo build -vv
       Fresh unicode-ident v1.0.3
       Fresh proc-macro2 v1.0.43
       Fresh winapi-build v0.1.1
       Fresh quote v1.0.21
       Fresh version_check v0.9.4
       Fresh winapi v0.2.8
       Fresh syn v1.0.99
       Fresh ident_case v1.0.1
       Fresh strsim v0.10.0
       Fresh kernel32-sys v0.2.2
       Fresh fnv v1.0.7
       Fresh cc v1.0.73
       Fresh walkdir v0.1.8
       Fresh darling_core v0.12.4
       Fresh cmake v0.1.48
       Fresh pkg-config v0.3.25
       Fresh darling_macro v0.12.4
       Fresh copy_dir v0.1.2
       Fresh darling v0.12.4
       Fresh autocfg v1.1.0
       Fresh derive_builder_core v0.10.2
       Fresh memchr v2.5.0
       Fresh proc-macro-error-attr v1.0.4
       Fresh cfg-if v1.0.0
       Fresh aho-corasick v0.7.18
       Fresh proc-macro-error v1.0.4
       Fresh log v0.4.17
       Fresh derive_builder_macro v0.10.2
       Fresh libc v0.2.127
       Fresh regex-syntax v0.6.27
       Fresh derive_builder v0.10.2
       Fresh atty v0.2.14
       Fresh regex v1.6.0
       Fresh enum-repr-derive v0.2.0
       Fresh num-traits v0.2.15
       Fresh libcec-sys v4.0.0
       Fresh humantime v2.1.0
       Fresh termcolor v1.1.3
       Fresh arrayvec v0.7.2
       Fresh env_logger v0.9.0
       Fresh cec-rs v7.0.1-alpha (/home/andrew/workspace/cec-rs)
   Compiling cec-example-cli v0.1.0 (/home/andrew/workspace/cec-rs/examples/cec-example-cli)
     Running `CARGO=/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/bin/cargo CARGO_BIN_NAME=cec-example-cli CARGO_CRATE_NAME=cec_example_cli CARGO_MANIFEST_DIR=/home/andrew/workspace/cec-rs/examples/cec-example-cli CARGO_PKG_AUTHORS='' CARGO_PKG_DESCRIPTION='' CARGO_PKG_HOMEPAGE='' CARGO_PKG_LICENSE=GPL-2.0 CARGO_PKG_LICENSE_FILE='' CARGO_PKG_NAME=cec-example-cli CARGO_PKG_REPOSITORY='' CARGO_PKG_RUST_VERSION='' CARGO_PKG_VERSION=0.1.0 CARGO_PKG_VERSION_MAJOR=0 CARGO_PKG_VERSION_MINOR=1 CARGO_PKG_VERSION_PATCH=0 CARGO_PKG_VERSION_PRE='' CARGO_PRIMARY_PACKAGE=1 LD_LIBRARY_PATH='/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps:/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib:/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib' rustc --crate-name cec_example_cli --edition=2021 bin.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --diagnostic-width=123 --crate-type bin --emit=dep-info,link -C embed-bitcode=no -C debuginfo=2 -C metadata=85c9267e8ac6408a -C extra-filename=-85c9267e8ac6408a --out-dir /home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps -C incremental=/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/incremental -L dependency=/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps --extern cec_rs=/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/libcec_rs-10a5832217c27c1d.rlib --extern env_logger=/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/libenv_logger-7f328a6a49e540bc.rlib --extern log=/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/liblog-ccd92234bd7eaf1f.rlib -L native=/usr/local/lib -L native=/usr/lib/aarch64-linux-gnu`
error: linking with `cc` failed: exit status: 1
  |
  = note: LC_ALL="C" PATH="/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/bin:/home/andrew/bin:/home/andrew/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games" VSLANG="1033" "cc" "/tmp/rustc0jWgd7/symbols.o" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/cec_example_cli-85c9267e8ac6408a.1qogf2myatezixw4.rcgu.o" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/cec_example_cli-85c9267e8ac6408a.2qre4tkveh3ms1gi.rcgu.o" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/cec_example_cli-85c9267e8ac6408a.2xa0i1e8n9zp4okh.rcgu.o" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/cec_example_cli-85c9267e8ac6408a.2yl62se21cp8jim8.rcgu.o" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/cec_example_cli-85c9267e8ac6408a.3aibqlx7ls5kr99s.rcgu.o" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/cec_example_cli-85c9267e8ac6408a.3aouutympfzuc89a.rcgu.o" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/cec_example_cli-85c9267e8ac6408a.3jyqmwwo2x09yo82.rcgu.o" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/cec_example_cli-85c9267e8ac6408a.3ladraxujptv8als.rcgu.o" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/cec_example_cli-85c9267e8ac6408a.3myivwaetx02vbka.rcgu.o" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/cec_example_cli-85c9267e8ac6408a.3n0bn4lqtyygqz4v.rcgu.o" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/cec_example_cli-85c9267e8ac6408a.3t4nhnw45akm1xle.rcgu.o" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/cec_example_cli-85c9267e8ac6408a.5806s2um3s6a30pp.rcgu.o" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/cec_example_cli-85c9267e8ac6408a.j8nln0a5x7woq7c.rcgu.o" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/cec_example_cli-85c9267e8ac6408a.phw7qjozyxab6ai.rcgu.o" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/cec_example_cli-85c9267e8ac6408a.2trjjon6bzsua3tp.rcgu.o" "-Wl,--as-needed" "-L" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps" "-L" "/usr/local/lib" "-L" "/usr/lib/aarch64-linux-gnu" "-L" "/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib" "-Wl,-Bstatic" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/libenv_logger-7f328a6a49e540bc.rlib" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/libatty-5c0d644e9eb3ed8d.rlib" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/liblibc-e48c8100d211905b.rlib" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/libtermcolor-52a9f1e3f4e07950.rlib" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/libhumantime-551f50a7ad5901cb.rlib" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/libregex-b6cfb5a35fb9e53b.rlib" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/libaho_corasick-6fbea633026a33d5.rlib" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/libmemchr-e8c1cc4b1135f895.rlib" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/libregex_syntax-28c56a792749c09a.rlib" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/libcec_rs-10a5832217c27c1d.rlib" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/libnum_traits-83f32006c99ede39.rlib" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/liblibcec_sys-33fc6d959d85c732.rlib" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/libarrayvec-4d2d29437ec5882f.rlib" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/liblog-ccd92234bd7eaf1f.rlib" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/libcfg_if-91585cb6680b7958.rlib" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/libderive_builder-fb0ee4a7f32e181e.rlib" "/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/libstd-946b15357ac77df4.rlib" "/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/libpanic_unwind-2d0b248e89b2808c.rlib" "/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/libobject-1b03f67c3ac003f0.rlib" "/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/libmemchr-9250a0fcea167a0f.rlib" "/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/libaddr2line-941e813f0fef4923.rlib" "/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/libgimli-69c4c2902b12dda6.rlib" "/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/librustc_demangle-42af6b10762c23fe.rlib" "/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/libstd_detect-3182fd6346993be6.rlib" "/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/libhashbrown-033d14b6de2d922a.rlib" "/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/libminiz_oxide-950fc14a03e7785e.rlib" "/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/libadler-4e0f6ac8a38cddcc.rlib" "/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/librustc_std_workspace_alloc-96ea7f81b1a3f1ed.rlib" "/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/libunwind-623747b6610fbd76.rlib" "/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/libcfg_if-2c008996deb192c7.rlib" "/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/liblibc-9f36896ad5b5a88b.rlib" "/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/liballoc-80b6041f4dd5f344.rlib" "/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/librustc_std_workspace_core-4ce69c89c704ae22.rlib" "/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/libcore-f60c54dd8ad76b1f.rlib" "/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/libcompiler_builtins-01c087f75d740d97.rlib" "-Wl,-Bdynamic" "-lc" "-lm" "-lrt" "-lpthread" "-llibp8-platform" "-llibstdc++" "-lcec" "-lp8-platform" "-ludev" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-Wl,--eh-frame-hdr" "-Wl,-z,noexecstack" "-L" "/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib" "-o" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/cec_example_cli-85c9267e8ac6408a" "-Wl,--gc-sections" "-pie" "-Wl,-z,relro,-z,now" "-nodefaultlibs"
  = note: /usr/bin/ld: /usr/local/lib/libp8-platform.a(StringUtils.cpp.o): undefined reference to symbol '_ZNSt6localeD1Ev@@GLIBCXX_3.4'
          /usr/bin/ld: /lib/aarch64-linux-gnu/libstdc++.so.6: error adding symbols: DSO missing from command line
          collect2: error: ld returned 1 exit status
          
  = note: 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 `cec-example-cli` due to previous error

Caused by:
  process didn't exit successfully: `CARGO=/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/bin/cargo CARGO_BIN_NAME=cec-example-cli CARGO_CRATE_NAME=cec_example_cli CARGO_MANIFEST_DIR=/home/andrew/workspace/cec-rs/examples/cec-example-cli CARGO_PKG_AUTHORS='' CARGO_PKG_DESCRIPTION='' CARGO_PKG_HOMEPAGE='' CARGO_PKG_LICENSE=GPL-2.0 CARGO_PKG_LICENSE_FILE='' CARGO_PKG_NAME=cec-example-cli CARGO_PKG_REPOSITORY='' CARGO_PKG_RUST_VERSION='' CARGO_PKG_VERSION=0.1.0 CARGO_PKG_VERSION_MAJOR=0 CARGO_PKG_VERSION_MINOR=1 CARGO_PKG_VERSION_PATCH=0 CARGO_PKG_VERSION_PRE='' CARGO_PRIMARY_PACKAGE=1 LD_LIBRARY_PATH='/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps:/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib:/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib' rustc --crate-name cec_example_cli --edition=2021 bin.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --diagnostic-width=123 --crate-type bin --emit=dep-info,link -C embed-bitcode=no -C debuginfo=2 -C metadata=85c9267e8ac6408a -C extra-filename=-85c9267e8ac6408a --out-dir /home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps -C incremental=/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/incremental -L dependency=/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps --extern cec_rs=/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/libcec_rs-10a5832217c27c1d.rlib --extern env_logger=/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/libenv_logger-7f328a6a49e540bc.rlib --extern log=/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/liblog-ccd92234bd7eaf1f.rlib -L native=/usr/local/lib -L native=/usr/lib/aarch64-linux-gnu` (exit status: 1)

WRAPPED

cargo build -vv Fresh unicode-ident v1.0.3 Fresh proc-macro2 v1.0.43 Fresh winapi-build v0.1.1 Fresh quote v1.0.21 Fresh version_check v0.9.4 Fresh winapi v0.2.8 Fresh syn v1.0.99 Fresh ident_case v1.0.1 Fresh strsim v0.10.0 Fresh kernel32-sys v0.2.2 Fresh fnv v1.0.7 Fresh cc v1.0.73 Fresh walkdir v0.1.8 Fresh darling_core v0.12.4 Fresh cmake v0.1.48 Fresh pkg-config v0.3.25 Fresh darling_macro v0.12.4 Fresh copy_dir v0.1.2 Fresh darling v0.12.4 Fresh autocfg v1.1.0 Fresh derive_builder_core v0.10.2 Fresh memchr v2.5.0 Fresh proc-macro-error-attr v1.0.4 Fresh cfg-if v1.0.0 Fresh aho-corasick v0.7.18 Fresh proc-macro-error v1.0.4 Fresh log v0.4.17 Fresh derive_builder_macro v0.10.2 Fresh libc v0.2.127 Fresh regex-syntax v0.6.27 Fresh derive_builder v0.10.2 Fresh atty v0.2.14 Fresh regex v1.6.0 Fresh enum-repr-derive v0.2.0 Fresh num-traits v0.2.15 Fresh libcec-sys v4.0.0 Fresh humantime v2.1.0 Fresh termcolor v1.1.3 Fresh arrayvec v0.7.2 Fresh env_logger v0.9.0 Fresh cec-rs v7.0.1-alpha (/home/andrew/workspace/cec-rs) Compiling cec-example-cli v0.1.0 (/home/andrew/workspace/cec-rs/examples/cec-example-cli) Running CARGO=/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/bin/cargo CARGO_BIN_NAME=cec-example-cli CARGO_CRATE_NAME=cec_example_cli CARGO_MANIFEST_DIR=/home/andrew/workspace/cec-rs/examples/cec-example-cli CARGO_PKG_AUTHORS='' CARGO_PKG_DESCRIPTION='' CARGO_PKG_HOMEPAGE='' CARGO_PKG_LICENSE=GPL-2.0 CARGO_PKG_LICENSE_FILE='' CARGO_PKG_NAME=cec-example-cli CARGO_PKG_REPOSITORY='' CARGO_PKG_RUST_VERSION='' CARGO_PKG_VERSION=0.1.0 CARGO_PKG_VERSION_MAJOR=0 CARGO_PKG_VERSION_MINOR=1 CARGO_PKG_VERSION_PATCH=0 CARGO_PKG_VERSION_PRE='' CARGO_PRIMARY_PACKAGE=1 LD_LIBRARY_PATH='/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps:/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib:/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib' rustc --crate-name cec_example_cli --edition=2021 bin.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --diagnostic-width=123 --crate-type bin --emit=dep-info,link -C embed-bitcode=no -C debuginfo=2 -C metadata=85c9267e8ac6408a -C extra-filename=-85c9267e8ac6408a --out-dir /home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps -C incremental=/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/incremental -L dependency=/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps --extern cec_rs=/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/libcec_rs-10a5832217c27c1d.rlib --extern env_logger=/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/libenv_logger-7f328a6a49e540bc.rlib --extern log=/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/liblog-ccd92234bd7eaf1f.rlib -L native=/usr/local/lib -L native=/usr/lib/aarch64-linux-gnuerror: linking withcc` failed: exit status: 1
|
= note: LC_ALL="C" PATH="/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/bin:/home/andrew/bin:/home/andrew/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games" VSLANG="1033" "cc" "/tmp/rustc0jWgd7/symbols.o" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/cec_example_cli-85c9267e8ac6408a.1qogf2myatezixw4.rcgu.o" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/cec_example_cli-85c9267e8ac6408a.2qre4tkveh3ms1gi.rcgu.o" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/cec_example_cli-85c9267e8ac6408a.2xa0i1e8n9zp4okh.rcgu.o" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/cec_example_cli-85c9267e8ac6408a.2yl62se21cp8jim8.rcgu.o" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/cec_example_cli-85c9267e8ac6408a.3aibqlx7ls5kr99s.rcgu.o" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/cec_example_cli-85c9267e8ac6408a.3aouutympfzuc89a.rcgu.o" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/cec_example_cli-85c9267e8ac6408a.3jyqmwwo2x09yo82.rcgu.o" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/cec_example_cli-85c9267e8ac6408a.3ladraxujptv8als.rcgu.o" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/cec_example_cli-85c9267e8ac6408a.3myivwaetx02vbka.rcgu.o" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/cec_example_cli-85c9267e8ac6408a.3n0bn4lqtyygqz4v.rcgu.o" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/cec_example_cli-85c9267e8ac6408a.3t4nhnw45akm1xle.rcgu.o" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/cec_example_cli-85c9267e8ac6408a.5806s2um3s6a30pp.rcgu.o" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/cec_example_cli-85c9267e8ac6408a.j8nln0a5x7woq7c.rcgu.o" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/cec_example_cli-85c9267e8ac6408a.phw7qjozyxab6ai.rcgu.o" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/cec_example_cli-85c9267e8ac6408a.2trjjon6bzsua3tp.rcgu.o" "-Wl,--as-needed" "-L" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps" "-L" "/usr/local/lib" "-L" "/usr/lib/aarch64-linux-gnu" "-L" "/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib" "-Wl,-Bstatic" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/libenv_logger-7f328a6a49e540bc.rlib" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/libatty-5c0d644e9eb3ed8d.rlib" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/liblibc-e48c8100d211905b.rlib" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/libtermcolor-52a9f1e3f4e07950.rlib" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/libhumantime-551f50a7ad5901cb.rlib" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/libregex-b6cfb5a35fb9e53b.rlib" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/libaho_corasick-6fbea633026a33d5.rlib" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/libmemchr-e8c1cc4b1135f895.rlib" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/libregex_syntax-28c56a792749c09a.rlib" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/libcec_rs-10a5832217c27c1d.rlib" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/libnum_traits-83f32006c99ede39.rlib" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/liblibcec_sys-33fc6d959d85c732.rlib" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/libarrayvec-4d2d29437ec5882f.rlib" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/liblog-ccd92234bd7eaf1f.rlib" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/libcfg_if-91585cb6680b7958.rlib" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/libderive_builder-fb0ee4a7f32e181e.rlib" "/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/libstd-946b15357ac77df4.rlib" "/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/libpanic_unwind-2d0b248e89b2808c.rlib" "/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/libobject-1b03f67c3ac003f0.rlib" "/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/libmemchr-9250a0fcea167a0f.rlib" "/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/libaddr2line-941e813f0fef4923.rlib" "/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/libgimli-69c4c2902b12dda6.rlib" "/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/librustc_demangle-42af6b10762c23fe.rlib" "/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/libstd_detect-3182fd6346993be6.rlib" "/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/libhashbrown-033d14b6de2d922a.rlib" "/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/libminiz_oxide-950fc14a03e7785e.rlib" "/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/libadler-4e0f6ac8a38cddcc.rlib" "/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/librustc_std_workspace_alloc-96ea7f81b1a3f1ed.rlib" "/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/libunwind-623747b6610fbd76.rlib" "/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/libcfg_if-2c008996deb192c7.rlib" "/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/liblibc-9f36896ad5b5a88b.rlib" "/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/liballoc-80b6041f4dd5f344.rlib" "/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/librustc_std_workspace_core-4ce69c89c704ae22.rlib" "/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/libcore-f60c54dd8ad76b1f.rlib" "/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/libcompiler_builtins-01c087f75d740d97.rlib" "-Wl,-Bdynamic" "-lc" "-lm" "-lrt" "-lpthread" "-llibp8-platform" "-llibstdc++" "-lcec" "-lp8-platform" "-ludev" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-Wl,--eh-frame-hdr" "-Wl,-z,noexecstack" "-L" "/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib" "-o" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/cec_example_cli-85c9267e8ac6408a" "-Wl,--gc-sections" "-pie" "-Wl,-z,relro,-z,now" "-nodefaultlibs"
= note: /usr/bin/ld: /usr/local/lib/libp8-platform.a(StringUtils.cpp.o): undefined reference to symbol '_ZNSt6localeD1Ev@@GLIBCXX_3.4'
/usr/bin/ld: /lib/aarch64-linux-gnu/libstdc++.so.6: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status

= note: 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 cec-example-cli due to previous error

Caused by:
process didn't exit successfully: CARGO=/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/bin/cargo CARGO_BIN_NAME=cec-example-cli CARGO_CRATE_NAME=cec_example_cli CARGO_MANIFEST_DIR=/home/andrew/workspace/cec-rs/examples/cec-example-cli CARGO_PKG_AUTHORS='' CARGO_PKG_DESCRIPTION='' CARGO_PKG_HOMEPAGE='' CARGO_PKG_LICENSE=GPL-2.0 CARGO_PKG_LICENSE_FILE='' CARGO_PKG_NAME=cec-example-cli CARGO_PKG_REPOSITORY='' CARGO_PKG_RUST_VERSION='' CARGO_PKG_VERSION=0.1.0 CARGO_PKG_VERSION_MAJOR=0 CARGO_PKG_VERSION_MINOR=1 CARGO_PKG_VERSION_PATCH=0 CARGO_PKG_VERSION_PRE='' CARGO_PRIMARY_PACKAGE=1 LD_LIBRARY_PATH='/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps:/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib:/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib' rustc --crate-name cec_example_cli --edition=2021 bin.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --diagnostic-width=123 --crate-type bin --emit=dep-info,link -C embed-bitcode=no -C debuginfo=2 -C metadata=85c9267e8ac6408a -C extra-filename=-85c9267e8ac6408a --out-dir /home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps -C incremental=/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/incremental -L dependency=/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps --extern cec_rs=/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/libcec_rs-10a5832217c27c1d.rlib --extern env_logger=/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/libenv_logger-7f328a6a49e540bc.rlib --extern log=/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/liblog-ccd92234bd7eaf1f.rlib -L native=/usr/local/lib -L native=/usr/lib/aarch64-linux-gnu (exit status: 1)
`

@ssalonen
Copy link
Owner

I will try to reproduce as well, I am not sure what that error means exactly.

@ssalonen
Copy link
Owner

ssalonen commented Jun 22, 2023

WIP (for my own notes)

Reproducing using QEMU emulating raspberry pi 3 (https://blog.ramdoot.in/emulating-raspberry-pi-on-with-qemu-951283daf2bd) and 2023-05-03-raspios-bullseye-arm64-lite.img


sudo apt-get install libudev-dev libp8-platform2 libp8-platform-dev libcec-dev pkg-config libcec6
wget https://static.rust-lang.org/dist/rust-1.70.0-aarch64-unknown-linux-gnu.tar.gz
tar xzvf rust-1.70.0-aarch64-unknown-linux-gnu.tar.gz
sudo ~/rust-1.70.0-aarch64-unknown-linux-gnu/install.sh

rustup default stable
git clone https://github.com/ssalonen/cec-rs.git
cd cec-rs/examples/cec-example-cli
cargo build

@andrewdavidmackenzie
Copy link
Author

SInce they are linker symbol problems, they don't show up with cargo check.
Try cargo build or cargo run.

@ssalonen
Copy link
Owner

ssalonen commented Jul 2, 2023

I am having lack of time trying to reproduce and debug this now, but will come back to it in the coming weeks.

In the meantime, can you compile this simple C program: Pulse-Eight/libcec#602 ?

@ssalonen
Copy link
Owner

ssalonen commented Jul 3, 2023

@andrewdavidmackenzie I could not reproduce this issue using qemu setup above... Build went just fine with no issues

I wonder what is different to your setup?

$ cargo --version
cargo 1.70.0 (ec8a8a0ca 2023-04-25)
$ uname -a
Linux raspberrypi 6.1.21-v8+ #1642 SMP PREEMPT Mon Apr  3 17:24:16 BST 2023 aarch64 GNU/Linux
$ cat /etc/debian
11.7
pi@raspberrypi:~/cec-rs/examples/cec-example-cli $ ldd target/debug/cec-example-cli
        linux-vdso.so.1 (0x0000007faf173000)
        libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000007faeddb000)
        libpthread.so.0 => /lib/aarch64-linux-gnu/libpthread.so.0 (0x0000007faedaa000)
        libcec.so.6 => /lib/aarch64-linux-gnu/libcec.so.6 (0x0000007faecd8000)
        libgcc_s.so.1 => /lib/aarch64-linux-gnu/libgcc_s.so.1 (0x0000007faecb4000)
        libdl.so.2 => /lib/aarch64-linux-gnu/libdl.so.2 (0x0000007faeca0000)
        /lib/ld-linux-aarch64.so.1 (0x0000007faf143000)
        libp8-platform.so.2 => /lib/aarch64-linux-gnu/libp8-platform.so.2 (0x0000007faec82000)
        libudev.so.1 => /lib/aarch64-linux-gnu/libudev.so.1 (0x0000007faec4b000)
        libXrandr.so.2 => /lib/aarch64-linux-gnu/libXrandr.so.2 (0x0000007faec31000)
        libX11.so.6 => /lib/aarch64-linux-gnu/libX11.so.6 (0x0000007faeae4000)
        libvchiq_arm.so.0 => /lib/aarch64-linux-gnu/libvchiq_arm.so.0 (0x0000007faeacc000)
        libbcm_host.so.0 => /lib/aarch64-linux-gnu/libbcm_host.so.0 (0x0000007faeaa4000)
        libstdc++.so.6 => /lib/aarch64-linux-gnu/libstdc++.so.6 (0x0000007fae8ca000)
        libXext.so.6 => /lib/aarch64-linux-gnu/libXext.so.6 (0x0000007fae8a6000)
        libXrender.so.1 => /lib/aarch64-linux-gnu/libXrender.so.1 (0x0000007fae88d000)
        libxcb.so.1 => /lib/aarch64-linux-gnu/libxcb.so.1 (0x0000007fae855000)
        libvcos.so.0 => /lib/aarch64-linux-gnu/libvcos.so.0 (0x0000007fae837000)
        libm.so.6 => /lib/aarch64-linux-gnu/libm.so.6 (0x0000007fae78c000)
        libXau.so.6 => /lib/aarch64-linux-gnu/libXau.so.6 (0x0000007fae776000)
        libXdmcp.so.6 => /lib/aarch64-linux-gnu/libXdmcp.so.6 (0x0000007fae760000)
        libbsd.so.0 => /lib/aarch64-linux-gnu/libbsd.so.0 (0x0000007fae73b000)
        libmd.so.0 => /lib/aarch64-linux-gnu/libmd.so.0 (0x0000007fae71f000)

pi@raspberrypi:~/cec-rs/examples/cec-example-cli $ md5sum /lib/aarch64-linux-gnu/libp8-platform.so.2
fed5e03a49c3c112cb3558e1a0e7f00b  /lib/aarch64-linux-gnu/libp8-platform.so.2
pi@raspberrypi:~/cec-rs/examples/cec-example-cli $ md5sum /lib/aarch64-linux-gnu/libcec.so.6
28316a7c92984e3e692058a01d83acd8  /lib/aarch64-linux-gnu/libcec.so.6

@andrewdavidmackenzie
Copy link
Author

$ cargo --version
cargo 1.69.0 (6e9a83356 2023-04-12)
$ uname -a
Linux raspberrypi 6.1.21-v8+ #1642 SMP PREEMPT Mon Apr  3 17:24:16 BST 2023 aarch64 GNU/Linux

How are you building the example?
When I try the standard rust way I get

$ cargo run --example cec-example-cli
error: no example target named `cec-example-cli`.

andrew@raspberrypi:~/workspace/cec-rs $ ls examples/
cec-example-cli

I don't have thsoe example files in target/debug

$ tree target/debug/
target/debug/
├── build
│   ├── cec-rs-06eceea363cee4e8
│   │   ├── invoked.timestamp
│   │   ├── out
│   │   ├── output
│   │   ├── root-output
│   │   └── stderr
│   ├── cec-rs-0c7266dc7e29aae8
│   │   ├── build-script-build
│   │   ├── build_script_build-0c7266dc7e29aae8
│   │   └── build_script_build-0c7266dc7e29aae8.d
│   ├── kernel32-sys-679f1fa6e4cd3323
│   │   ├── invoked.timestamp
│   │   ├── out
│   │   ├── output
│   │   ├── root-output
│   │   └── stderr
│   ├── kernel32-sys-ea15943cd2a30b1f
│   │   ├── build-script-build
│   │   ├── build_script_build-ea15943cd2a30b1f
│   │   └── build_script_build-ea15943cd2a30b1f.d
│   ├── libcec-sys-d2bb7024cd9105d8
│   │   ├── invoked.timestamp
│   │   ├── out
│   │   ├── output
│   │   ├── root-output
│   │   └── stderr
│   ├── libcec-sys-ed4658bfdcf1fbf5
│   │   ├── build-script-build
│   │   ├── build_script_build-ed4658bfdcf1fbf5
│   │   └── build_script_build-ed4658bfdcf1fbf5.d
│   ├── log-870b3920713c289e
│   │   ├── build-script-build
│   │   ├── build_script_build-870b3920713c289e
│   │   └── build_script_build-870b3920713c289e.d
│   ├── log-cad2dc791352c1d2
│   │   ├── invoked.timestamp
│   │   ├── out
│   │   ├── output
│   │   ├── root-output
│   │   └── stderr
│   ├── num-traits-45c3ebf60aba4c15
│   │   ├── invoked.timestamp
│   │   ├── out
│   │   │   ├── probe0.ll
│   │   │   ├── probe1.ll
│   │   │   ├── probe2.ll
│   │   │   ├── probe3.ll
│   │   │   ├── probe4.ll
│   │   │   ├── probe5.ll
│   │   │   ├── probe6.ll
│   │   │   └── probe7.ll
│   │   ├── output
│   │   ├── root-output
│   │   └── stderr
│   ├── num-traits-b9ccef703d93f73f
│   │   ├── build-script-build
│   │   ├── build_script_build-b9ccef703d93f73f
│   │   └── build_script_build-b9ccef703d93f73f.d
│   ├── proc-macro2-c09ab15c517b611d
│   │   ├── invoked.timestamp
│   │   ├── out
│   │   ├── output
│   │   ├── root-output
│   │   └── stderr
│   ├── proc-macro2-edec63f682699201
│   │   ├── build-script-build
│   │   ├── build_script_build-edec63f682699201
│   │   └── build_script_build-edec63f682699201.d
│   ├── proc-macro-error-241ca81e72fe8514
│   │   ├── build-script-build
│   │   ├── build_script_build-241ca81e72fe8514
│   │   └── build_script_build-241ca81e72fe8514.d
│   ├── proc-macro-error-a0ee24b71a506eb3
│   │   ├── invoked.timestamp
│   │   ├── out
│   │   ├── output
│   │   ├── root-output
│   │   └── stderr
│   ├── proc-macro-error-attr-3ca6ecd9ae50aeb6
│   │   ├── invoked.timestamp
│   │   ├── out
│   │   ├── output
│   │   ├── root-output
│   │   └── stderr
│   ├── proc-macro-error-attr-841c8971ebf6337d
│   │   ├── build-script-build
│   │   ├── build_script_build-841c8971ebf6337d
│   │   └── build_script_build-841c8971ebf6337d.d
│   ├── quote-ea7d4854c5ee7a48
│   │   ├── invoked.timestamp
│   │   ├── out
│   │   ├── output
│   │   ├── root-output
│   │   └── stderr
│   ├── quote-fd7924cd0f93580b
│   │   ├── build-script-build
│   │   ├── build_script_build-fd7924cd0f93580b
│   │   └── build_script_build-fd7924cd0f93580b.d
│   ├── syn-078de4a7d2e63f55
│   │   ├── build-script-build
│   │   ├── build_script_build-078de4a7d2e63f55
│   │   └── build_script_build-078de4a7d2e63f55.d
│   └── syn-f1a320e88c6ab136
│       ├── invoked.timestamp
│       ├── out
│       ├── output
│       ├── root-output
│       └── stderr
├── deps
│   ├── arrayvec-4d2d29437ec5882f.d
│   ├── autocfg-96b456b4363619ec.d
│   ├── build-74a4c4b28cbba9c9.d
│   ├── cc-7de4bd7ee8bf2a68.d
│   ├── cec_rs-9be88cca149c46b2.d
│   ├── cmake-b4d3d36661a6349b.d
│   ├── copy_dir-ac11aa5814454475.d
│   ├── darling-bfe652f15717874c.d
│   ├── darling_core-5e5d0274a7355719.d
│   ├── darling_macro-55f612e08d8e3e01.d
│   ├── derive_builder_core-5fc2ddfe18c47349.d
│   ├── derive_builder-e551627a150c7bfd.d
│   ├── derive_builder_macro-e2ab89f469ee7464.d
│   ├── enum_repr_derive-5e6c4f29b10e8b15.d
│   ├── fnv-249f708f1271414d.d
│   ├── ident_case-4392babb6c813644.d
│   ├── kernel32-e150f848c27f9083.d
│   ├── libarrayvec-4d2d29437ec5882f.rlib
│   ├── libarrayvec-4d2d29437ec5882f.rmeta
│   ├── libautocfg-96b456b4363619ec.rlib
│   ├── libautocfg-96b456b4363619ec.rmeta
│   ├── libbuild-74a4c4b28cbba9c9.rlib
│   ├── libbuild-74a4c4b28cbba9c9.rmeta
│   ├── libcc-7de4bd7ee8bf2a68.rlib
│   ├── libcc-7de4bd7ee8bf2a68.rmeta
│   ├── libcec_rs-9be88cca149c46b2.rlib
│   ├── libcec_rs-9be88cca149c46b2.rmeta
│   ├── libcec_sys-0a4076312014814a.d
│   ├── libcmake-b4d3d36661a6349b.rlib
│   ├── libcmake-b4d3d36661a6349b.rmeta
│   ├── libcopy_dir-ac11aa5814454475.rlib
│   ├── libcopy_dir-ac11aa5814454475.rmeta
│   ├── libdarling-bfe652f15717874c.rlib
│   ├── libdarling-bfe652f15717874c.rmeta
│   ├── libdarling_core-5e5d0274a7355719.rlib
│   ├── libdarling_core-5e5d0274a7355719.rmeta
│   ├── libdarling_macro-55f612e08d8e3e01.so
│   ├── libderive_builder_core-5fc2ddfe18c47349.rlib
│   ├── libderive_builder_core-5fc2ddfe18c47349.rmeta
│   ├── libderive_builder-e551627a150c7bfd.rlib
│   ├── libderive_builder-e551627a150c7bfd.rmeta
│   ├── libderive_builder_macro-e2ab89f469ee7464.so
│   ├── libenum_repr_derive-5e6c4f29b10e8b15.so
│   ├── libfnv-249f708f1271414d.rlib
│   ├── libfnv-249f708f1271414d.rmeta
│   ├── libident_case-4392babb6c813644.rlib
│   ├── libident_case-4392babb6c813644.rmeta
│   ├── libkernel32-e150f848c27f9083.rlib
│   ├── libkernel32-e150f848c27f9083.rmeta
│   ├── liblibcec_sys-0a4076312014814a.rlib
│   ├── liblibcec_sys-0a4076312014814a.rmeta
│   ├── liblog-b8add1d5da95e1c1.rlib
│   ├── liblog-b8add1d5da95e1c1.rmeta
│   ├── libnum_traits-83f32006c99ede39.rlib
│   ├── libnum_traits-83f32006c99ede39.rmeta
│   ├── libpkg_config-152442e54a8898b3.rlib
│   ├── libpkg_config-152442e54a8898b3.rmeta
│   ├── libproc_macro2-913ef1b0010d868d.rlib
│   ├── libproc_macro2-913ef1b0010d868d.rmeta
│   ├── libproc_macro_error_attr-a885dd69236b2f8a.so
│   ├── libproc_macro_error-ee172490403a4b49.rlib
│   ├── libproc_macro_error-ee172490403a4b49.rmeta
│   ├── libquote-57dc9b82e5c1af01.rlib
│   ├── libquote-57dc9b82e5c1af01.rmeta
│   ├── libstrsim-7dca44d8ac67fbf7.rlib
│   ├── libstrsim-7dca44d8ac67fbf7.rmeta
│   ├── libsyn-9cb91434e0dd5e86.rlib
│   ├── libsyn-9cb91434e0dd5e86.rmeta
│   ├── libunicode_ident-79fbaf6970ccddad.rlib
│   ├── libunicode_ident-79fbaf6970ccddad.rmeta
│   ├── libversion_check-b689d7269278a1f8.rlib
│   ├── libversion_check-b689d7269278a1f8.rmeta
│   ├── libwalkdir-ac63edfdb1565345.rlib
│   ├── libwalkdir-ac63edfdb1565345.rmeta
│   ├── libwinapi-057ab277c7d97355.rlib
│   ├── libwinapi-057ab277c7d97355.rmeta
│   ├── log-b8add1d5da95e1c1.d
│   ├── num_traits-83f32006c99ede39.d
│   ├── pkg_config-152442e54a8898b3.d
│   ├── proc_macro2-913ef1b0010d868d.d
│   ├── proc_macro_error_attr-a885dd69236b2f8a.d
│   ├── proc_macro_error-ee172490403a4b49.d
│   ├── quote-57dc9b82e5c1af01.d
│   ├── strsim-7dca44d8ac67fbf7.d
│   ├── syn-9cb91434e0dd5e86.d
│   ├── unicode_ident-79fbaf6970ccddad.d
│   ├── version_check-b689d7269278a1f8.d
│   ├── walkdir-ac63edfdb1565345.d
│   └── winapi-057ab277c7d97355.d
├── examples
├── incremental
│   ├── build_script_build-sjixt2tun09o
│   │   ├── s-glu36slw0g-ewgd5y-2y4qtba78duu3
│   │   │   ├── 1ftz81lw4kz5fam5.o
│   │   │   ├── 1l9gbjrfkpsse0nn.o
│   │   │   ├── 1owbk8pggksrlaw4.o
│   │   │   ├── 1vqjpk2gl4urcv3t.o
│   │   │   ├── 2gxks2iz08arp22u.o
│   │   │   ├── 2kdatc50pqpkbrdx.o
│   │   │   ├── 2rgiryqa09qypbfd.o
│   │   │   ├── 2s93p0glgb87a9eh.o
│   │   │   ├── 2wczos51v9itl1zc.o
│   │   │   ├── 3b7sl0o59vdhs7ct.o
│   │   │   ├── 3bqx7w1qw19ztigl.o
│   │   │   ├── 3jn9l8aravwnz36r.o
│   │   │   ├── 45il6wgy5tcdx8i3.o
│   │   │   ├── 4ekibdsogw8pmbz3.o
│   │   │   ├── 54x9y4qux7ze64d1.o
│   │   │   ├── 56djc6pa639mj2fv.o
│   │   │   ├── dep-graph.bin
│   │   │   ├── query-cache.bin
│   │   │   └── work-products.bin
│   │   └── s-glu36slw0g-ewgd5y.lock
│   └── cec_rs-36o4aw3d6myrl
│       ├── s-gmh8lnxfyz-1ralqtm-2q871lfh9gncm
│       │   ├── 103jnns1kknxkwxr.o
│       │   ├── 11c6xxa9pibgjg1j.o
│       │   ├── 13sxpo7qy9gfju9w.o
│       │   ├── 142gluo20fmcjngr.o
│       │   ├── 15526xsa5b2pgxct.o
│       │   ├── 174sj1x31k7guwti.o
│       │   ├── 1aak87a5xnh4ro1o.o
│       │   ├── 1aza4f1p1vbblo7w.o
│       │   ├── 1fzcvspoqztx54sv.o
│       │   ├── 1id5kdrupbotfe2k.o
│       │   ├── 1lch28eppjog14mg.o
│       │   ├── 1rjfp59typsqmn5p.o
│       │   ├── 1stmiw27cp97uwgg.o
│       │   ├── 1syv0gckvatnyv3h.o
│       │   ├── 1t42cz5wn0k9fdiq.o
│       │   ├── 1vxvejp0pctsv0j6.o
│       │   ├── 2409mn53k31h7orx.o
│       │   ├── 28whi4azkay6vzrf.o
│       │   ├── 29yzrsiwmoo8m3om.o
│       │   ├── 2dc9r0ioe9z2wln9.o
│       │   ├── 2f0zo3vtg0ubv14l.o
│       │   ├── 2nhku4gmdb8re6z.o
│       │   ├── 2r7o5dnrejwb6y5d.o
│       │   ├── 2rm0ie0ltw4sa40p.o
│       │   ├── 2ua30x1q3lfiirq4.o
│       │   ├── 2uedyubkkphz72k7.o
│       │   ├── 2v1ndwuo7re3faae.o
│       │   ├── 2zgp6smitv8acuqo.o
│       │   ├── 32ac2a73rvsh4dcz.o
│       │   ├── 34d0ktttr1odrcha.o
│       │   ├── 36rhf5g253o6hx9a.o
│       │   ├── 39ojzirffkl7pbuk.o
│       │   ├── 3fpqp57tx8fbg16z.o
│       │   ├── 3k6vujfsdzo0nouy.o
│       │   ├── 3kuqlbkuulrq3jgi.o
│       │   ├── 3n77v3ga20hx5ykv.o
│       │   ├── 3o1evpuw1m8j86sd.o
│       │   ├── 3r2tathahuufcdau.o
│       │   ├── 3sz803spy5hrpn5p.o
│       │   ├── 3szlvsfm7fb2zv8j.o
│       │   ├── 3tw3mth4xht2cokt.o
│       │   ├── 3u13p2ppou9dfwus.o
│       │   ├── 3u3nui17hr72e166.o
│       │   ├── 3zzxi1740dspjms.o
│       │   ├── 40yqvbwvoew99jzu.o
│       │   ├── 4171kpgiekr7biaf.o
│       │   ├── 42d6dygmoy229321.o
│       │   ├── 4764ky76v2j042hx.o
│       │   ├── 479fwznhnnxwdh0t.o
│       │   ├── 48hz7co5yxw7bquy.o
│       │   ├── 4a67zqoai9cvuxu.o
│       │   ├── 4ae1o7icy9sx14bp.o
│       │   ├── 4begu57qn7r8fald.o
│       │   ├── 4dt8kp59jwr1udma.o
│       │   ├── 4jlrkh9skg89yz0y.o
│       │   ├── 4k0zvcq7z1vadz3e.o
│       │   ├── 4m9dj40sqk8s9at2.o
│       │   ├── 4mno6rgdyczlv3ib.o
│       │   ├── 4ncvm5lqnjc9wg6m.o
│       │   ├── 4ocvaqabylqcvg9m.o
│       │   ├── 4prveqmanqrq12ti.o
│       │   ├── 4r09fsj2woabffii.o
│       │   ├── 4va1zaoqvadh1r7i.o
│       │   ├── 504fis3xrozenhbr.o
│       │   ├── 50k8rnyx2azabtwh.o
│       │   ├── 51p6kfijv664029x.o
│       │   ├── 52gmky72p4vszz0x.o
│       │   ├── 545q4w64vl8tjrpa.o
│       │   ├── 56sq5dgj8n136pke.o
│       │   ├── 58doft4123bhp967.o
│       │   ├── 5b3chrxnz8rjjq1l.o
│       │   ├── 5ezz5hbapwb0b6a7.o
│       │   ├── 6gmp4iqrvsw0zcm.o
│       │   ├── 6jutbpk4s9adkvf.o
│       │   ├── 6zr19mh17stdnp6.o
│       │   ├── 7g9a3t7wtn1jvo4.o
│       │   ├── 8c13elz3s23ugx8.o
│       │   ├── 8p9b4alrk1f0i1k.o
│       │   ├── abvwhu4qsrhbdzy.o
│       │   ├── d8c2ynefl8x0yyt.o
│       │   ├── dep-graph.bin
│       │   ├── e2cuze8rnrhq897.o
│       │   ├── h3yfal85j4j7hht.o
│       │   ├── nugauxjw453w9d3.o
│       │   ├── p1mi8cyf2gc1pb7.o
│       │   ├── qmuf03fgaq78flb.o
│       │   ├── query-cache.bin
│       │   ├── tjebwbfjhgispsi.o
│       │   ├── w4z9kej7ls7q5lt.o
│       │   ├── wguzy5jfuh6896p.o
│       │   └── work-products.bin
│       └── s-gmh8lnxfyz-1ralqtm.lock
├── libcec_rs.d
└── libcec_rs.rlib

38 directories, 281 files
$ md5sum /lib/aarch64-linux-gnu/libp8-platform.so.2
fed5e03a49c3c112cb3558e1a0e7f00b  /lib/aarch64-linux-gnu/libp8-platform.so.2
md5sum /lib/aarch64-linux-gnu/libcec.so.6
28316a7c92984e3e692058a01d83acd8  /lib/aarch64-linux-gnu/libcec.so.6

@ssalonen
Copy link
Owner

ssalonen commented Jul 3, 2023

I built it using "cargo build", inside the example folder, see #35 (comment)

No need to build cec-rs, it gets automatically built

@andrewdavidmackenzie
Copy link
Author

OK, when you say "inside the example folder" you mean:

cd cec-rs/examples/cec-example-cli
cargo build

that produces the original error:

Compiling cec-example-cli v0.1.0 (/home/andrew/workspace/cec-rs/examples/cec-example-cli)
error: linking with `cc` failed: exit status: 1
  |
  = note: LC_ALL="C" PATH="/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/bin:/home/andrew/.cargo/bin:/home/andrew/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games" VSLANG="1033" "cc" "/tmp/rustcHwPV3f/symbols.o" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/cec_example_cli-9cfc79e13b24dd04.1lq7mxl9xjxon51e.rcgu.o" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/cec_example_cli-9cfc79e13b24dd04.1uq47xt6znpzoakz.rcgu.o" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/cec_example_cli-9cfc79e13b24dd04.1xagx025pg5wu1lf.rcgu.o" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/cec_example_cli-9cfc79e13b24dd04.28vnsxg5cquag6hh.rcgu.o" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/cec_example_cli-9cfc79e13b24dd04.2eeheeeojzll4kjm.rcgu.o" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/cec_example_cli-9cfc79e13b24dd04.2kvo58bao96mhhde.rcgu.o" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/cec_example_cli-9cfc79e13b24dd04.30cyud8zc74nhzyt.rcgu.o" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/cec_example_cli-9cfc79e13b24dd04.35j65f6i6hz7lqlj.rcgu.o" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/cec_example_cli-9cfc79e13b24dd04.3lavhz6y9a4aq6qo.rcgu.o" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/cec_example_cli-9cfc79e13b24dd04.49gh2q03b62evf5s.rcgu.o" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/cec_example_cli-9cfc79e13b24dd04.4ikez19zrookxv0j.rcgu.o" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/cec_example_cli-9cfc79e13b24dd04.4lm2w1xfbkiwllty.rcgu.o" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/cec_example_cli-9cfc79e13b24dd04.fkwu80oct8z4kqp.rcgu.o" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/cec_example_cli-9cfc79e13b24dd04.usbr443vh9clp2j.rcgu.o" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/cec_example_cli-9cfc79e13b24dd04.3r3r80w8bilw9g3z.rcgu.o" "-Wl,--as-needed" "-L" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps" "-L" "/usr/local/lib" "-L" "/usr/lib/aarch64-linux-gnu" "-L" "/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib" "-Wl,-Bstatic" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/libenv_logger-7c717e644609424a.rlib" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/libatty-aa207ace777e7e3b.rlib" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/liblibc-93605fdef25fa94f.rlib" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/libtermcolor-a92e14102be148df.rlib" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/libhumantime-66e845d528ae7c39.rlib" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/libregex-34ba370df5eb5316.rlib" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/libaho_corasick-ae301bea53dc8b8b.rlib" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/libmemchr-35a67b2843f1c6be.rlib" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/libregex_syntax-a9addb35a4a27d05.rlib" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/libcec_rs-ba62ff97d983706b.rlib" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/libnum_traits-133d64a2ff15df51.rlib" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/liblibcec_sys-945ae8f157d85858.rlib" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/libarrayvec-dd0d3fb3e52439a1.rlib" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/liblog-7d298fa53994a304.rlib" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/libcfg_if-4c41f3787f7201d6.rlib" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/libderive_builder-724f27be2abe53b7.rlib" "/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/libstd-f332c29dd80c3c82.rlib" "/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/libpanic_unwind-8284b54cb3181ab5.rlib" "/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/libobject-95228d4729b96bfd.rlib" "/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/libmemchr-33f3012c2a5cbbf6.rlib" "/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/libaddr2line-48c503623e5575a4.rlib" "/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/libgimli-569c825e9b63260b.rlib" "/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/librustc_demangle-1932015da4782d6f.rlib" "/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/libstd_detect-fde550d8b94c714c.rlib" "/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/libhashbrown-badd4f89626baa84.rlib" "/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/libminiz_oxide-0f995432aa76f3ae.rlib" "/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/libadler-bf6de27a2226f775.rlib" "/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/librustc_std_workspace_alloc-a3326a257f5cb8f1.rlib" "/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/libunwind-fe57e61c90cbd018.rlib" "/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/libcfg_if-cb0f4a07ecbd24ca.rlib" "/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/liblibc-575b3f5321243553.rlib" "/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/liballoc-657a92792869e75f.rlib" "/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/librustc_std_workspace_core-23dbd14d61b34954.rlib" "/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/libcore-38c2d9d4d5404a1a.rlib" "/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/libcompiler_builtins-25887170a022cc00.rlib" "-Wl,-Bdynamic" "-lc" "-lm" "-lrt" "-lpthread" "-llibp8-platform" "-llibstdc++" "-lcec" "-lp8-platform" "-ludev" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-Wl,--eh-frame-hdr" "-Wl,-z,noexecstack" "-L" "/home/andrew/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib" "-o" "/home/andrew/workspace/cec-rs/examples/cec-example-cli/target/debug/deps/cec_example_cli-9cfc79e13b24dd04" "-Wl,--gc-sections" "-pie" "-Wl,-z,relro,-z,now" "-nodefaultlibs"
  = note: /usr/bin/ld: /usr/local/lib/libp8-platform.a(StringUtils.cpp.o): undefined reference to symbol '_ZNSt6localeD1Ev@@GLIBCXX_3.4'
          /usr/bin/ld: /lib/aarch64-linux-gnu/libstdc++.so.6: error adding symbols: DSO missing from command line
          collect2: error: ld returned 1 exit status
          
  = note: 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 `cec-example-cli` (bin "cec-example-cli") due to previous error

and there is no target/debug/cec-example-cli folder

$ pwd
/home/andrew/workspace/cec-rs
andrew@raspberrypi:~/workspace/cec-rs $ ls
'='         Cargo.lock   CHANGELOG.md   CODE_OF_CONDUCT.md   Cross.toml   LICENSE             LICENSE-CI-MIT   src
 build.rs   Cargo.toml   clippy.toml    CONTRIBUTING.md      examples     LICENSE-CI-APACHE   README.md        target
andrew@raspberrypi:~/workspace/cec-rs $ ls target/debug/
build  deps  examples  incremental  libcec_rs.d  libcec_rs.rlib

@ssalonen
Copy link
Owner

ssalonen commented Jul 3, 2023

Yes, correct on

cd cec-rs/examples/cec-example-cli
cargo build

That is what I did. Others steps are documented also above

I do not have cec-rs/target folder at all, only cec-rs/examples/cec-example-cli/target. All build artifacts from the example end up there, including build output from the dependency cec-rs

Are you sure you have cleaned build artifacts properly after removing the self-built libraries? I presume that cargo clean in cec-rs does not clean cec-rs/examples/cec-example-cli/target

@andrewdavidmackenzie
Copy link
Author

So, the bit of your previous comment that I cannot reproduce (running ldd) is this:

pi@raspberrypi:~/cec-rs/examples/cec-example-cli $ ldd target/debug/cec-example-cli

in my machine:

andrew@raspberrypi:~/workspace/cec-rs/examples/cec-example-cli $ pwd
/home/andrew/workspace/cec-rs/examples/cec-example-cli
andrew@raspberrypi:~/workspace/cec-rs/examples/cec-example-cli $ ls target/debug/
build  deps  examples  incremental

when inside "cec-rs/examples/cec-example-cli" (even after running build) there is no sub folder of "target/debug" called "cec-example-cli"

@ssalonen
Copy link
Owner

ssalonen commented Jul 7, 2023

I think it is expected

pi@raspberrypi:~/cec-rs/examples/cec-example-cli $ ldd target/debug/cec-example-cli

works only if cec-example-cli binary exists. Since your build failed at the linking phase, you do not have the binary

--

Would it be possible for you to take a new SD card, install OS and try again?

@ssalonen
Copy link
Owner

ssalonen commented Jul 8, 2023

Another thing I just realized

Last time I checked, in 2022, the libcec as offered by debian repos did not have support for raspberry pi hdmi cec. Presumably, the library was built without support to RPi HDMI cec driver. At least I did not get it to work in my personal setup

Things might work better nowadays, who knows

I have updated the build instructions specifically with Raspberry Pi OS:
https://github.com/ssalonen/libcec-sys#raspberry-pi-os

@ssalonen
Copy link
Owner

@andrewdavidmackenzie any update on this?

@andrewdavidmackenzie
Copy link
Author

No, I did not make any progress. I did buy the pulse8 HDMI/USB controlled dongle but haven't had the chance to play with it yet.
The lack of macos support for CEC has made me also re-consider, and I will investigate more DDC/CI before deciding where to spend my time.

@ssalonen
Copy link
Owner

I will close this now (as I could not reproduce in qemu), pleasw re-open if the issue persists

@ssalonen ssalonen closed this as not planned Won't fix, can't repro, duplicate, stale Sep 12, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants