Hi,

I packaged the rust_uno bindings in my master packaging work. Thanks for the 
work. Got it into some packages
and stumbled upon some issues/shortcomings.

(Yes, I know it's experimental, but better prepare early...).

Or is this an own error? Would be grateful for input/hints...

The two things are as follows:

1. librust_uno.so and/or the example extension

When configuring with --enable-rust-uno I *do* get

rene@frodo:~/LibreOffice/git$ dpkg --contents 
libreoffice-core_26.2.0~alpha0~git20251019-1_amd64.deb | grep rust
-rw-r--r-- root/root   6011360 2025-06-09 13:47 
./usr/lib/libreoffice/program/librust_uno-cpplo.so
rene@frodo:~/LibreOffice/git$ dpkg --contents 
libreoffice-dev_26.2.0~alpha0~git20251019-1_amd64.deb | grep rust
-rwxr-xr-x root/root       147 2025-06-09 13:47 
./usr/lib/libreoffice/sdk/bin/rustmaker
-rwxr-xr-x root/root    224504 2025-06-09 13:47 
./usr/lib/libreoffice/sdk/bin/rustmaker.bin
rene@frodo:~/LibreOffice/git$

packaged. So far so good. (And I packaged the rust_uno crate.).

The librust_uno.so library is not installed though.

Now I tried to whether the stuff actually works. So I unopkg add'ed the 
rust_uno-example.oxt extension, which registers fine and I get the "Rust UNO" 
menu entry.

That one actually doesn't work and says "" though, which wondered me.

The extensions' content is like this:

rene@debianunstable:~/.config/libreofficedev/4/user/uno_packages/cache/uno_packages/lu2400418pq8j.tmp_/rust_uno-example.oxt$
 ls
Addons.xcu       librust_uno.so  platform.components  rust_uno-example.uno.so
description.xml  META-INF        ProtocolHandler.xcu
rene@debianunstable:~/.config/libreofficedev/4/user/uno_packages/cache/uno_packages/lu2400418pq8j.tmp_/rust_uno-example.oxt$

It turns out the librust_uno.so is not mentioned anywhere and 
ust_uno-example.uno.so links to it:

rene@debianunstable:~/.config/libreofficedev/4/user/uno_packages/cache/uno_packages/lu2400418pq8j.tmp_/rust_uno-example.oxt$
 ldd rust_uno-example.uno.so
        linux-vdso.so.1 (0x00007f5ceb76e000)
        librust_uno.so => not found
        libuno_cppu.so.3 => /lib/x86_64-linux-gnu/libuno_cppu.so.3 
(0x00007f5ceb70d000)
[...]
rene@debianunstable:~/.config/libreofficedev/4/user/uno_packages/cache/uno_packages/lu2400418pq8j.tmp_/rust_uno-example.oxt

and indeed that one file is not installed into /program (see above) and not 
found when using the extension either. How is rust_uno-example.uno.so supposed 
to find
librust_uno.so here? There sis no RPATH setting and nothing mentioned anywhere?

After setting LD_LIBRARY_PATH accordingly (actually to make it easier copying 
librust_uno.so to /usr/lib/libreoffice/program and sticking a export 
LD_LIBRARY_PATH=/usr/lib/libreoffice/program:$LD_LIBRARY_PATH into soffice) it 
works. I can call that menu, get text contents in writer and the expected 
output on the console.
Which is a viable workaround, but was probably never intended?

Did I miss some setting? platform.components at least only mentions 
rust_uno-example.uno.so and adding another component fails because I don't know 
what to put in there and an empy one isn't liked :)

2.) cargo test

cargo build inside the packages crate works.
cargo check works:

rene@frodo:~/LibreOffice/git/master/rust_uno$ /usr/share/cargo/bin/cargo build 
--release --verbose
   Compiling rust_uno v0.1.0 (/home/rene/LibreOffice/git/master/rust_uno)
     Running `rustc --crate-name build_script_build --edition=2024 build.rs 
--error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat 
--diagnostic-width=158 --crate-type bin --emit=dep-info,link -C 
embed-bitcode=no -C debug-assertions=off --check-cfg 'cfg(docsrs,test)' 
--check-cfg 'cfg(feature, values())' -C metadata=6fef42e64637427d -C 
extra-filename=-cf51b9cd7b0a075d --out-dir 
/home/rene/LibreOffice/git/master/rust_uno/target/release/build/rust_uno-cf51b9cd7b0a075d
 -C strip=debuginfo -L 
dependency=/home/rene/LibreOffice/git/master/rust_uno/target/release/deps`
     Running 
`/home/rene/LibreOffice/git/master/rust_uno/target/release/build/rust_uno-cf51b9cd7b0a075d/build-script-build`
     Running `rustc --crate-name rust_uno --edition=2024 src/lib.rs 
--error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat 
--diagnostic-width=158 --crate-type cdylib --emit=dep-info,link -C opt-level=3 
-C embed-bitcode=no --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, 
values())' -C metadata=39be7c7c8929bd0c --out-dir 
/home/rene/LibreOffice/git/master/rust_uno/target/release/deps -C 
strip=debuginfo -L 
dependency=/home/rene/LibreOffice/git/master/rust_uno/target/release/deps -L 
native=../instdir/program -L native=../workdir/LinkTarget/Library -l 
rust_uno-cpplo`
    Finished `release` profile [optimized] target(s) in 8.19s
rene@frodo:~/LibreOffice/git/master/rust_uno$ /usr/share/cargo/bin/cargo check 
--release --verbose
    Checking rust_uno v0.1.0 (/home/rene/LibreOffice/git/master/rust_uno)
     Running `rustc --crate-name rust_uno --edition=2024 src/lib.rs 
--error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat 
--diagnostic-width=158 --crate-type cdylib --emit=dep-info,metadata -C 
opt-level=3 -C embed-bitcode=no --check-cfg 'cfg(docsrs,test)' --check-cfg 
'cfg(feature, values())' -C metadata=65ad72537f646729 -C 
extra-filename=-61b16b35661c6c97 --out-dir 
/home/rene/LibreOffice/git/master/rust_uno/target/release/deps -C 
strip=debuginfo -L 
dependency=/home/rene/LibreOffice/git/master/rust_uno/target/release/deps -L 
native=../instdir/program -L native=../workdir/LinkTarget/Library -l 
rust_uno-cpplo`
    Finished `release` profile [optimized] target(s) in 6.32s

cargo test doesn't, neither in the LO tree nor in building the packaged crate.

From the build tree:

rene@frodo:~/LibreOffice/git/master/rust_uno$ /usr/share/cargo/bin/cargo test 
--release --verbose
   Compiling rust_uno v0.1.0 (/home/rene/LibreOffice/git/master/rust_uno)
     Running `rustc --crate-name build_script_build --edition=2024 build.rs 
--error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat 
--diagnostic-width=158 --crate-type bin --emit=dep-info,link -C 
embed-bitcode=no -C debug-assertions=off --check-cfg 'cfg(docsrs,test)' 
--check-cfg 'cfg(feature, values())' -C metadata=6fef42e64637427d -C 
extra-filename=-cf51b9cd7b0a075d --out-dir 
/home/rene/LibreOffice/git/master/rust_uno/target/release/build/rust_uno-cf51b9cd7b0a075d
 -C strip=debuginfo -L 
dependency=/home/rene/LibreOffice/git/master/rust_uno/target/release/deps`
     Running 
`/home/rene/LibreOffice/git/master/rust_uno/target/release/build/rust_uno-cf51b9cd7b0a075d/build-script-build`
     Running `rustc --crate-name rust_uno --edition=2024 src/lib.rs 
--error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat 
--diagnostic-width=158 --emit=dep-info,link -C opt-level=3 -C embed-bitcode=no 
--test --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values())' -C 
metadata=95a700903e564e5d -C extra-filename=-e1a08363f3f7a098 --out-dir 
/home/rene/LibreOffice/git/master/rust_uno/target/release/deps -C 
strip=debuginfo -L 
dependency=/home/rene/LibreOffice/git/master/rust_uno/target/release/deps -L 
native=../instdir/program -L native=../workdir/LinkTarget/Library -l 
rust_uno-cpplo`
error: linking with `cc` failed: exit status: 1
  |
  = note:  "cc" "-m64" "/tmp/rustchcpFZc/symbols.o" "<7 object files omitted>" "-Wl,--as-needed" "-Wl,-Bdynamic" "-lrust_uno-cpplo" "-Wl,-Bstatic" 
"<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/lib/{libtest-*,libgetopts-*,libunicode_width-*,librustc_std_workspace_std-*,libstd-*,libpanic_unwind-*,libobject-*,libmemchr-*,libaddr2line-*,libgimli-*,librustc_demangle-*,libstd_detect-*,libhashbrown-*,librustc_std_workspace_alloc-*,libminiz_oxide-*,libadler2-*,libunwind-*,libcfg_if-*,liblibc-*,librustc_std_workspace_core-*,liballoc-*,libcore-*,libcompiler_builtins-*}.rlib" 
"-Wl,-Bdynamic" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-L" "/tmp/rustchcpFZc/raw-dylibs" "-Wl,--eh-frame-hdr" "-Wl,-z,noexecstack" "-L" "../instdir/program" "-L" "../workdir/LinkTarget/Library" "-L" 
"<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/home/rene/LibreOffice/git/master/rust_uno/target/release/deps/rust_uno-e1a08363f3f7a098" "-Wl,--gc-sections" "-pie" "-Wl,-z,relro,-z,now" "-Wl,-O1" "-Wl,--strip-debug" "-nodefaultlibs"
  = note: some arguments are omitted. use `--verbose` to show all linker 
arguments
  = note: /usr/bin/ld: 
/home/rene/LibreOffice/git/master/rust_uno/target/release/deps/rust_uno-e1a08363f3f7a098.rust_uno.675ac809ee7902a-cgu.1.rcgu.o:
 undefined reference to symbol 'typelib_typedescriptionreference_new@@UDK_3_0_0'
          /usr/bin/ld: 
/home/rene/LibreOffice/git/master/rust_uno/../instdir/program/libuno_cppu.so.3: 
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#rustc-link-lib)

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

Caused by:
  process didn't exit successfully: `rustc --crate-name rust_uno --edition=2024 
src/lib.rs --error-format=json 
--json=diagnostic-rendered-ansi,artifacts,future-incompat 
--diagnostic-width=158 --emit=dep-info,link -C opt-level=3 -C embed-bitcode=no 
--test --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values())' -C 
metadata=95a700903e564e5d -C extra-filename=-e1a08363f3f7a098 --out-dir 
/home/rene/LibreOffice/git/master/rust_uno/target/release/deps -C 
strip=debuginfo -L 
dependency=/home/rene/LibreOffice/git/master/rust_uno/target/release/deps -L 
native=../instdir/program -L native=../workdir/LinkTarget/Library -l 
rust_uno-cpplo` (exit status: 1)

So we miss a -luno_cppu. (Same for sal and salhelper). After doing (assed 
sdk/lib because there the .so symlinks are...) as in the (WIP) 
https://salsa.debian.org/libreoffice-team/libreoffice/libreoffice/-/blob/debian-experimental-26.2/tests/patches/fix-rust_uno-test.diff?ref_type=heads
 I get

rene@frodo:~/LibreOffice/git/master/rust_uno$ patch -p2 < 
../debian/tests/patches/fix-rust_uno-test.diff
patching file build.rs
rene@frodo:~/LibreOffice/git/master/rust_uno$ /usr/share/cargo/bin/cargo test 
--release --verbose
       Dirty rust_uno v0.1.0 (/home/rene/LibreOffice/git/master/rust_uno): the 
file `build.rs` has changed (1760899703.466358751s, 4m 9s after last build at 
1760899454.625893329s)
   Compiling rust_uno v0.1.0 (/home/rene/LibreOffice/git/master/rust_uno)
     Running `rustc --crate-name build_script_build --edition=2024 build.rs 
--error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat 
--diagnostic-width=158 --crate-type bin --emit=dep-info,link -C 
embed-bitcode=no -C debug-assertions=off --check-cfg 'cfg(docsrs,test)' 
--check-cfg 'cfg(feature, values())' -C metadata=6fef42e64637427d -C 
extra-filename=-cf51b9cd7b0a075d --out-dir 
/home/rene/LibreOffice/git/master/rust_uno/target/release/build/rust_uno-cf51b9cd7b0a075d
 -C strip=debuginfo -L 
dependency=/home/rene/LibreOffice/git/master/rust_uno/target/release/deps`
     Running 
`/home/rene/LibreOffice/git/master/rust_uno/target/release/build/rust_uno-cf51b9cd7b0a075d/build-script-build`
     Running `rustc --crate-name rust_uno --edition=2024 src/lib.rs 
--error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat 
--diagnostic-width=158 --emit=dep-info,link -C opt-level=3 -C embed-bitcode=no 
--test --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values())' -C 
metadata=95a700903e564e5d -C extra-filename=-e1a08363f3f7a098 --out-dir 
/home/rene/LibreOffice/git/master/rust_uno/target/release/deps -C 
strip=debuginfo -L 
dependency=/home/rene/LibreOffice/git/master/rust_uno/target/release/deps -L 
native=../instdir/program -L native=../instdir/sdk/lib -L 
native=../workdir/LinkTarget/Library -l rust_uno-cpplo -l uno_cppu -l uno_sal 
-l uno_salhelpergcc3`
error: linking with `cc` failed: exit status: 1
  |
  = note:  "cc" "-m64" "/tmp/rustc0W2QkV/symbols.o" "<7 object files omitted>" "-Wl,--as-needed" "-Wl,-Bdynamic" "-lrust_uno-cpplo" "-luno_cppu" "-luno_sal" "-luno_salhelpergcc3" "-Wl,-Bstatic" 
"<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/lib/{libtest-*,libgetopts-*,libunicode_width-*,librustc_std_workspace_std-*,libstd-*,libpanic_unwind-*,libobject-*,libmemchr-*,libaddr2line-*,libgimli-*,librustc_demangle-*,libstd_detect-*,libhashbrown-*,librustc_std_workspace_alloc-*,libminiz_oxide-*,libadler2-*,libunwind-*,libcfg_if-*,liblibc-*,librustc_std_workspace_core-*,liballoc-*,libcore-*,libcompiler_builtins-*}.rlib" "-Wl,-Bdynamic" "-lgcc_s" 
"-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-L" "/tmp/rustc0W2QkV/raw-dylibs" "-Wl,--eh-frame-hdr" "-Wl,-z,noexecstack" "-L" "../instdir/program" "-L" "../instdir/sdk/lib" "-L" "../workdir/LinkTarget/Library" "-L" "<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-o" 
"/home/rene/LibreOffice/git/master/rust_uno/target/release/deps/rust_uno-e1a08363f3f7a098" "-Wl,--gc-sections" "-pie" "-Wl,-z,relro,-z,now" "-Wl,-O1" "-Wl,--strip-debug" "-nodefaultlibs"
  = note: some arguments are omitted. use `--verbose` to show all linker 
arguments
  = note: /usr/bin/ld: 
/home/rene/LibreOffice/git/master/rust_uno/target/release/deps/rust_uno-e1a08363f3f7a098.rust_uno.675ac809ee7902a-cgu.2.rcgu.o:
 in function `core::ops::function::FnOnce::call_once':
          
rust_uno.675ac809ee7902a-cgu.2:(.text._ZN4core3ops8function6FnOnce9call_once17h9f19c78d8f3482edE+0x6):
 undefined reference to `xtest_hello'
          /usr/bin/ld: 
/home/rene/LibreOffice/git/master/rust_uno/target/release/deps/rust_uno-e1a08363f3f7a098.rust_uno.675ac809ee7902a-cgu.4.rcgu.o:
 in function `rust_uno::ffi::tests::integration_tests::test_boolean_operations':
          
rust_uno.675ac809ee7902a-cgu.4:(.text._ZN8rust_uno3ffi5tests17integration_tests23test_boolean_operations17h0bc2ebdfac791a7eE+0x6):
 undefined reference to `xtest_getBoolean'
          /usr/bin/ld: 
rust_uno.675ac809ee7902a-cgu.4:(.text._ZN8rust_uno3ffi5tests17integration_tests23test_boolean_operations17h0bc2ebdfac791a7eE+0x15):
 undefined reference to `xtest_isBoolean'
          /usr/bin/ld: 
rust_uno.675ac809ee7902a-cgu.4:(.text._ZN8rust_uno3ffi5tests17integration_tests23test_boolean_operations17h0bc2ebdfac791a7eE+0x21):
 undefined reference to `xtest_isBoolean'
          /usr/bin/ld: 
/home/rene/LibreOffice/git/master/rust_uno/target/release/deps/rust_uno-e1a08363f3f7a098.rust_uno.675ac809ee7902a-cgu.4.rcgu.o:
 in function `rust_uno::ffi::tests::integration_tests::test_integer_operations':
          
rust_uno.675ac809ee7902a-cgu.4:(.text._ZN8rust_uno3ffi5tests17integration_tests23test_integer_operations17h6f8919897e8aa2c1E+0x6):
 undefined reference to `xtest_getByte'
          /usr/bin/ld: 
rust_uno.675ac809ee7902a-cgu.4:(.text._ZN8rust_uno3ffi5tests17integration_tests23test_integer_operations17h6f8919897e8aa2c1E+0x1d):
 undefined reference to `xtest_isByte'
          /usr/bin/ld: 
rust_uno.675ac809ee7902a-cgu.4:(.text._ZN8rust_uno3ffi5tests17integration_tests23test_integer_operations17h6f8919897e8aa2c1E+0x2d):
 undefined reference to `xtest_isByte'
          /usr/bin/ld: 
rust_uno.675ac809ee7902a-cgu.4:(.text._ZN8rust_uno3ffi5tests17integration_tests23test_integer_operations17h6f8919897e8aa2c1E+0x3b):
 undefined reference to `xtest_getShort'
          /usr/bin/ld: 
rust_uno.675ac809ee7902a-cgu.4:(.text._ZN8rust_uno3ffi5tests17integration_tests23test_integer_operations17h6f8919897e8aa2c1E+0x59):
 undefined reference to `xtest_isShort'
          /usr/bin/ld: 
rust_uno.675ac809ee7902a-cgu.4:(.text._ZN8rust_uno3ffi5tests17integration_tests23test_integer_operations17h6f8919897e8aa2c1E+0x69):
 undefined reference to `xtest_isShort'
          /usr/bin/ld: 
rust_uno.675ac809ee7902a-cgu.4:(.text._ZN8rust_uno3ffi5tests17integration_tests23test_integer_operations17h6f8919897e8aa2c1E+0x77):
 undefined reference to `xtest_getLong'
          /usr/bin/ld: 
rust_uno.675ac809ee7902a-cgu.4:(.text._ZN8rust_uno3ffi5tests17integration_tests23test_integer_operations17h6f8919897e8aa2c1E+0x91):
 undefined reference to `xtest_isLong'
          /usr/bin/ld: 
rust_uno.675ac809ee7902a-cgu.4:(.text._ZN8rust_uno3ffi5tests17integration_tests23test_integer_operations17h6f8919897e8aa2c1E+0xa1):
 undefined reference to `xtest_isLong'
          /usr/bin/ld: 
/home/rene/LibreOffice/git/master/rust_uno/target/release/deps/rust_uno-e1a08363f3f7a098.rust_uno.675ac809ee7902a-cgu.4.rcgu.o:
 in function 
`rust_uno::ffi::tests::integration_tests::test_unsigned_integer_operations':
          
rust_uno.675ac809ee7902a-cgu.4:(.text._ZN8rust_uno3ffi5tests17integration_tests32test_unsigned_integer_operations17hd50b44fba4f555aeE+0x6):
 undefined reference to `xtest_getUnsignedShort'
          /usr/bin/ld: 
rust_uno.675ac809ee7902a-cgu.4:(.text._ZN8rust_uno3ffi5tests17integration_tests32test_unsigned_integer_operations17hd50b44fba4f555aeE+0x20):
 undefined reference to `xtest_isUnsignedShort'
          /usr/bin/ld: 
rust_uno.675ac809ee7902a-cgu.4:(.text._ZN8rust_uno3ffi5tests17integration_tests32test_unsigned_integer_operations17hd50b44fba4f555aeE+0x30):
 undefined reference to `xtest_isUnsignedShort'
          /usr/bin/ld: 
rust_uno.675ac809ee7902a-cgu.4:(.text._ZN8rust_uno3ffi5tests17integration_tests32test_unsigned_integer_operations17hd50b44fba4f555aeE+0x3e):
 undefined reference to `xtest_getUnsignedLong'
          /usr/bin/ld: 
rust_uno.675ac809ee7902a-cgu.4:(.text._ZN8rust_uno3ffi5tests17integration_tests32test_unsigned_integer_operations17hd50b44fba4f555aeE+0x58):
 undefined reference to `xtest_isUnsignedLong'
          /usr/bin/ld: 
rust_uno.675ac809ee7902a-cgu.4:(.text._ZN8rust_uno3ffi5tests17integration_tests32test_unsigned_integer_operations17hd50b44fba4f555aeE+0x68):
 undefined reference to `xtest_isUnsignedLong'
          /usr/bin/ld: 
/home/rene/LibreOffice/git/master/rust_uno/target/release/deps/rust_uno-e1a08363f3f7a098.rust_uno.675ac809ee7902a-cgu.4.rcgu.o:
 in function `rust_uno::ffi::tests::integration_tests::test_64bit_operations':
          
rust_uno.675ac809ee7902a-cgu.4:(.text._ZN8rust_uno3ffi5tests17integration_tests21test_64bit_operations17hc594f8f3ecf40acfE+0x7):
 undefined reference to `xtest_getHyper'
          /usr/bin/ld: 
rust_uno.675ac809ee7902a-cgu.4:(.text._ZN8rust_uno3ffi5tests17integration_tests21test_64bit_operations17hc594f8f3ecf40acfE+0x21):
 undefined reference to `xtest_isHyper'
          /usr/bin/ld: 
rust_uno.675ac809ee7902a-cgu.4:(.text._ZN8rust_uno3ffi5tests17integration_tests21test_64bit_operations17hc594f8f3ecf40acfE+0x31):
 undefined reference to `xtest_isHyper'
          /usr/bin/ld: 
rust_uno.675ac809ee7902a-cgu.4:(.text._ZN8rust_uno3ffi5tests17integration_tests21test_64bit_operations17hc594f8f3ecf40acfE+0x49):
 undefined reference to `xtest_getUnsignedHyper'
          /usr/bin/ld: 
rust_uno.675ac809ee7902a-cgu.4:(.text._ZN8rust_uno3ffi5tests17integration_tests21test_64bit_operations17hc594f8f3ecf40acfE+0x60):
 undefined reference to `xtest_isUnsignedHyper'
          /usr/bin/ld: 
rust_uno.675ac809ee7902a-cgu.4:(.text._ZN8rust_uno3ffi5tests17integration_tests21test_64bit_operations17hc594f8f3ecf40acfE+0x70):
 undefined reference to `xtest_isUnsignedHyper'
          /usr/bin/ld: 
/home/rene/LibreOffice/git/master/rust_uno/target/release/deps/rust_uno-e1a08363f3f7a098.rust_uno.675ac809ee7902a-cgu.4.rcgu.o:
 in function 
`rust_uno::ffi::tests::integration_tests::test_floating_point_operations':
          
rust_uno.675ac809ee7902a-cgu.4:(.text._ZN8rust_uno3ffi5tests17integration_tests30test_floating_point_operations17hb0a0a240cf246e60E+0x6):
 undefined reference to `xtest_getFloat'
          /usr/bin/ld: 
rust_uno.675ac809ee7902a-cgu.4:(.text._ZN8rust_uno3ffi5tests17integration_tests30test_floating_point_operations17hb0a0a240cf246e60E+0x25):
 undefined reference to `xtest_isFloat'
          /usr/bin/ld: 
rust_uno.675ac809ee7902a-cgu.4:(.text._ZN8rust_uno3ffi5tests17integration_tests30test_floating_point_operations17hb0a0a240cf246e60E+0x37):
 undefined reference to `xtest_isFloat'
          /usr/bin/ld: 
rust_uno.675ac809ee7902a-cgu.4:(.text._ZN8rust_uno3ffi5tests17integration_tests30test_floating_point_operations17hb0a0a240cf246e60E+0x45):
 undefined reference to `xtest_getDouble'
          /usr/bin/ld: 
rust_uno.675ac809ee7902a-cgu.4:(.text._ZN8rust_uno3ffi5tests17integration_tests30test_floating_point_operations17hb0a0a240cf246e60E+0x6d):
 undefined reference to `xtest_isDouble'
          /usr/bin/ld: 
rust_uno.675ac809ee7902a-cgu.4:(.text._ZN8rust_uno3ffi5tests17integration_tests30test_floating_point_operations17hb0a0a240cf246e60E+0x7e):
 undefined reference to `xtest_isDouble'
          /usr/bin/ld: 
/home/rene/LibreOffice/git/master/rust_uno/target/release/deps/rust_uno-e1a08363f3f7a098.rust_uno.675ac809ee7902a-cgu.4.rcgu.o:
 in function `rust_uno::ffi::tests::integration_tests::test_char_operations':
          
rust_uno.675ac809ee7902a-cgu.4:(.text._ZN8rust_uno3ffi5tests17integration_tests20test_char_operations17ha0b32cb3ea50a700E+0x6):
 undefined reference to `xtest_getChar'
          /usr/bin/ld: 
rust_uno.675ac809ee7902a-cgu.4:(.text._ZN8rust_uno3ffi5tests17integration_tests20test_char_operations17ha0b32cb3ea50a700E+0x20):
 undefined reference to `xtest_isChar'
          /usr/bin/ld: 
rust_uno.675ac809ee7902a-cgu.4:(.text._ZN8rust_uno3ffi5tests17integration_tests20test_char_operations17ha0b32cb3ea50a700E+0x2f):
 undefined reference to `xtest_isChar'
          /usr/bin/ld: 
/home/rene/LibreOffice/git/master/rust_uno/target/release/deps/rust_uno-e1a08363f3f7a098.rust_uno.675ac809ee7902a-cgu.4.rcgu.o:
 in function `rust_uno::ffi::tests::integration_tests::test_string_operations':
          
rust_uno.675ac809ee7902a-cgu.4:(.text._ZN8rust_uno3ffi5tests17integration_tests22test_string_operations17he084da062ef36a7dE+0xb):
 undefined reference to `xtest_getString'
          /usr/bin/ld: 
rust_uno.675ac809ee7902a-cgu.4:(.text._ZN8rust_uno3ffi5tests17integration_tests22test_string_operations17he084da062ef36a7dE+0x108):
 undefined reference to `xtest_isString'
          /usr/bin/ld: 
rust_uno.675ac809ee7902a-cgu.4:(.text._ZN8rust_uno3ffi5tests17integration_tests22test_string_operations17he084da062ef36a7dE+0x14e):
 undefined reference to `xtest_isString'
          /usr/bin/ld: 
/home/rene/LibreOffice/git/master/rust_uno/target/release/deps/rust_uno-e1a08363f3f7a098.rust_uno.675ac809ee7902a-cgu.4.rcgu.o:
 in function `rust_uno::ffi::tests::integration_tests::test_type_operations':
          
rust_uno.675ac809ee7902a-cgu.4:(.text._ZN8rust_uno3ffi5tests17integration_tests20test_type_operations17hc4481fdde910a9aeE+0x7):
 undefined reference to `xtest_getType'
          /usr/bin/ld: 
rust_uno.675ac809ee7902a-cgu.4:(.text._ZN8rust_uno3ffi5tests17integration_tests20test_type_operations17hc4481fdde910a9aeE+0x70):
 undefined reference to `xtest_isType'
          /usr/bin/ld: 
/home/rene/LibreOffice/git/master/rust_uno/target/release/deps/rust_uno-e1a08363f3f7a098.rust_uno.675ac809ee7902a-cgu.4.rcgu.o:
 in function 
`rust_uno::ffi::tests::integration_tests::test_wrong_values_comprehensive':
          
rust_uno.675ac809ee7902a-cgu.4:(.text._ZN8rust_uno3ffi5tests17integration_tests31test_wrong_values_comprehensive17h43f1cfa4d17961efE+0xb):
 undefined reference to `xtest_isByte'
          /usr/bin/ld: 
rust_uno.675ac809ee7902a-cgu.4:(.text._ZN8rust_uno3ffi5tests17integration_tests31test_wrong_values_comprehensive17h43f1cfa4d17961efE+0x1e):
 undefined reference to `xtest_isByte'
          /usr/bin/ld: 
rust_uno.675ac809ee7902a-cgu.4:(.text._ZN8rust_uno3ffi5tests17integration_tests31test_wrong_values_comprehensive17h43f1cfa4d17961efE+0x31):
 undefined reference to `xtest_isShort'
          /usr/bin/ld: 
rust_uno.675ac809ee7902a-cgu.4:(.text._ZN8rust_uno3ffi5tests17integration_tests31test_wrong_values_comprehensive17h43f1cfa4d17961efE+0x44):
 undefined reference to `xtest_isShort'
          /usr/bin/ld: 
rust_uno.675ac809ee7902a-cgu.4:(.text._ZN8rust_uno3ffi5tests17integration_tests31test_wrong_values_comprehensive17h43f1cfa4d17961efE+0x57):
 undefined reference to `xtest_isLong'
          /usr/bin/ld: 
rust_uno.675ac809ee7902a-cgu.4:(.text._ZN8rust_uno3ffi5tests17integration_tests31test_wrong_values_comprehensive17h43f1cfa4d17961efE+0x6a):
 undefined reference to `xtest_isLong'
          /usr/bin/ld: 
rust_uno.675ac809ee7902a-cgu.4:(.text._ZN8rust_uno3ffi5tests17integration_tests31test_wrong_values_comprehensive17h43f1cfa4d17961efE+0x7d):
 undefined reference to `xtest_isUnsignedShort'
          /usr/bin/ld: 
rust_uno.675ac809ee7902a-cgu.4:(.text._ZN8rust_uno3ffi5tests17integration_tests31test_wrong_values_comprehensive17h43f1cfa4d17961efE+0x90):
 undefined reference to `xtest_isUnsignedShort'
          /usr/bin/ld: 
rust_uno.675ac809ee7902a-cgu.4:(.text._ZN8rust_uno3ffi5tests17integration_tests31test_wrong_values_comprehensive17h43f1cfa4d17961efE+0xa3):
 undefined reference to `xtest_isUnsignedLong'
          /usr/bin/ld: 
rust_uno.675ac809ee7902a-cgu.4:(.text._ZN8rust_uno3ffi5tests17integration_tests31test_wrong_values_comprehensive17h43f1cfa4d17961efE+0xb6):
 undefined reference to `xtest_isUnsignedLong'
          /usr/bin/ld: 
rust_uno.675ac809ee7902a-cgu.4:(.text._ZN8rust_uno3ffi5tests17integration_tests31test_wrong_values_comprehensive17h43f1cfa4d17961efE+0xc9):
 undefined reference to `xtest_isHyper'
          /usr/bin/ld: 
rust_uno.675ac809ee7902a-cgu.4:(.text._ZN8rust_uno3ffi5tests17integration_tests31test_wrong_values_comprehensive17h43f1cfa4d17961efE+0xde):
 undefined reference to `xtest_isHyper'
          /usr/bin/ld: 
rust_uno.675ac809ee7902a-cgu.4:(.text._ZN8rust_uno3ffi5tests17integration_tests31test_wrong_values_comprehensive17h43f1cfa4d17961efE+0xf1):
 undefined reference to `xtest_isUnsignedHyper'
          /usr/bin/ld: 
rust_uno.675ac809ee7902a-cgu.4:(.text._ZN8rust_uno3ffi5tests17integration_tests31test_wrong_values_comprehensive17h43f1cfa4d17961efE+0x106):
 undefined reference to `xtest_isUnsignedHyper'
          /usr/bin/ld: 
rust_uno.675ac809ee7902a-cgu.4:(.text._ZN8rust_uno3ffi5tests17integration_tests31test_wrong_values_comprehensive17h43f1cfa4d17961efE+0x11c):
 undefined reference to `xtest_isFloat'
          /usr/bin/ld: 
rust_uno.675ac809ee7902a-cgu.4:(.text._ZN8rust_uno3ffi5tests17integration_tests31test_wrong_values_comprehensive17h43f1cfa4d17961efE+0x132):
 undefined reference to `xtest_isFloat'
          /usr/bin/ld: 
rust_uno.675ac809ee7902a-cgu.4:(.text._ZN8rust_uno3ffi5tests17integration_tests31test_wrong_values_comprehensive17h43f1cfa4d17961efE+0x148):
 undefined reference to `xtest_isDouble'
          /usr/bin/ld: 
rust_uno.675ac809ee7902a-cgu.4:(.text._ZN8rust_uno3ffi5tests17integration_tests31test_wrong_values_comprehensive17h43f1cfa4d17961efE+0x15e):
 undefined reference to `xtest_isDouble'
          /usr/bin/ld: 
rust_uno.675ac809ee7902a-cgu.4:(.text._ZN8rust_uno3ffi5tests17integration_tests31test_wrong_values_comprehensive17h43f1cfa4d17961efE+0x171):
 undefined reference to `xtest_isChar'
          /usr/bin/ld: 
rust_uno.675ac809ee7902a-cgu.4:(.text._ZN8rust_uno3ffi5tests17integration_tests31test_wrong_values_comprehensive17h43f1cfa4d17961efE+0x184):
 undefined reference to `xtest_isChar'
          /usr/bin/ld: 
/home/rene/LibreOffice/git/master/rust_uno/target/release/deps/rust_uno-e1a08363f3f7a098.rust_uno.675ac809ee7902a-cgu.4.rcgu.o:
 in function 
`rust_uno::ffi::tests::integration_tests::test_all_operations_comprehensive':
          
rust_uno.675ac809ee7902a-cgu.4:(.text._ZN8rust_uno3ffi5tests17integration_tests33test_all_operations_comprehensive17h9a7237f21d06ef95E+0xb):
 undefined reference to `xtest_getBoolean'
          /usr/bin/ld: 
rust_uno.675ac809ee7902a-cgu.4:(.text._ZN8rust_uno3ffi5tests17integration_tests33test_all_operations_comprehensive17h9a7237f21d06ef95E+0x38):
 undefined reference to `xtest_getByte'
          /usr/bin/ld: 
rust_uno.675ac809ee7902a-cgu.4:(.text._ZN8rust_uno3ffi5tests17integration_tests33test_all_operations_comprehensive17h9a7237f21d06ef95E+0x3e):
 undefined reference to `xtest_getShort'
          /usr/bin/ld: 
rust_uno.675ac809ee7902a-cgu.4:(.text._ZN8rust_uno3ffi5tests17integration_tests33test_all_operations_comprehensive17h9a7237f21d06ef95E+0x44):
 undefined reference to `xtest_getLong'
          /usr/bin/ld: 
rust_uno.675ac809ee7902a-cgu.4:(.text._ZN8rust_uno3ffi5tests17integration_tests33test_all_operations_comprehensive17h9a7237f21d06ef95E+0x4a):
 undefined reference to `xtest_getFloat'
          /usr/bin/ld: 
rust_uno.675ac809ee7902a-cgu.4:(.text._ZN8rust_uno3ffi5tests17integration_tests33test_all_operations_comprehensive17h9a7237f21d06ef95E+0x50):
 undefined reference to `xtest_getDouble'
          /usr/bin/ld: 
rust_uno.675ac809ee7902a-cgu.4:(.text._ZN8rust_uno3ffi5tests17integration_tests33test_all_operations_comprehensive17h9a7237f21d06ef95E+0x56):
 undefined reference to `xtest_getBoolean'
          /usr/bin/ld: 
/home/rene/LibreOffice/git/master/rust_uno/target/release/deps/rust_uno-e1a08363f3f7a098.rust_uno.675ac809ee7902a-cgu.4.rcgu.o:
 in function 
`rust_uno::ffi::tests::integration_tests::test_edge_cases_and_boundary_values':
          
rust_uno.675ac809ee7902a-cgu.4:(.text._ZN8rust_uno3ffi5tests17integration_tests35test_edge_cases_and_boundary_values17h565da3978137b059E+0xc):
 undefined reference to `xtest_isByte'
          /usr/bin/ld: 
rust_uno.675ac809ee7902a-cgu.4:(.text._ZN8rust_uno3ffi5tests17integration_tests35test_edge_cases_and_boundary_values17h565da3978137b059E+0x1f):
 undefined reference to `xtest_isByte'
          /usr/bin/ld: 
rust_uno.675ac809ee7902a-cgu.4:(.text._ZN8rust_uno3ffi5tests17integration_tests35test_edge_cases_and_boundary_values17h565da3978137b059E+0x32):
 undefined reference to `xtest_isShort'
          /usr/bin/ld: 
rust_uno.675ac809ee7902a-cgu.4:(.text._ZN8rust_uno3ffi5tests17integration_tests35test_edge_cases_and_boundary_values17h565da3978137b059E+0x45):
 undefined reference to `xtest_isShort'
          /usr/bin/ld: 
rust_uno.675ac809ee7902a-cgu.4:(.text._ZN8rust_uno3ffi5tests17integration_tests35test_edge_cases_and_boundary_values17h565da3978137b059E+0x58):
 undefined reference to `xtest_isLong'
          /usr/bin/ld: 
rust_uno.675ac809ee7902a-cgu.4:(.text._ZN8rust_uno3ffi5tests17integration_tests35test_edge_cases_and_boundary_values17h565da3978137b059E+0x6b):
 undefined reference to `xtest_isLong'
          /usr/bin/ld: 
rust_uno.675ac809ee7902a-cgu.4:(.text._ZN8rust_uno3ffi5tests17integration_tests35test_edge_cases_and_boundary_values17h565da3978137b059E+0x7e):
 undefined reference to `xtest_isUnsignedShort'
          /usr/bin/ld: 
rust_uno.675ac809ee7902a-cgu.4:(.text._ZN8rust_uno3ffi5tests17integration_tests35test_edge_cases_and_boundary_values17h565da3978137b059E+0x91):
 undefined reference to `xtest_isUnsignedLong'
          /usr/bin/ld: 
rust_uno.675ac809ee7902a-cgu.4:(.text._ZN8rust_uno3ffi5tests17integration_tests35test_edge_cases_and_boundary_values17h565da3978137b059E+0xac):
 undefined reference to `xtest_isHyper'
          /usr/bin/ld: 
rust_uno.675ac809ee7902a-cgu.4:(.text._ZN8rust_uno3ffi5tests17integration_tests35test_edge_cases_and_boundary_values17h565da3978137b059E+0xc0):
 undefined reference to `xtest_isHyper'
          /usr/bin/ld: 
rust_uno.675ac809ee7902a-cgu.4:(.text._ZN8rust_uno3ffi5tests17integration_tests35test_edge_cases_and_boundary_values17h565da3978137b059E+0xd5):
 undefined reference to `xtest_isUnsignedHyper'
          /usr/bin/ld: 
rust_uno.675ac809ee7902a-cgu.4:(.text._ZN8rust_uno3ffi5tests17integration_tests35test_edge_cases_and_boundary_values17h565da3978137b059E+0xeb):
 undefined reference to `xtest_isFloat'
          /usr/bin/ld: 
rust_uno.675ac809ee7902a-cgu.4:(.text._ZN8rust_uno3ffi5tests17integration_tests35test_edge_cases_and_boundary_values17h565da3978137b059E+0x101):
 undefined reference to `xtest_isFloat'
          /usr/bin/ld: 
rust_uno.675ac809ee7902a-cgu.4:(.text._ZN8rust_uno3ffi5tests17integration_tests35test_edge_cases_and_boundary_values17h565da3978137b059E+0x117):
 undefined reference to `xtest_isDouble'
          /usr/bin/ld: 
rust_uno.675ac809ee7902a-cgu.4:(.text._ZN8rust_uno3ffi5tests17integration_tests35test_edge_cases_and_boundary_values17h565da3978137b059E+0x12d):
 undefined reference to `xtest_isDouble'
          /usr/bin/ld: 
rust_uno.675ac809ee7902a-cgu.4:(.text._ZN8rust_uno3ffi5tests17integration_tests35test_edge_cases_and_boundary_values17h565da3978137b059E+0x13d):
 undefined reference to `xtest_isChar'
          /usr/bin/ld: 
rust_uno.675ac809ee7902a-cgu.4:(.text._ZN8rust_uno3ffi5tests17integration_tests35test_edge_cases_and_boundary_values17h565da3978137b059E+0x150):
 undefined reference to `xtest_isChar'
          /usr/bin/ld: 
rust_uno.675ac809ee7902a-cgu.4:(.text._ZN8rust_uno3ffi5tests17integration_tests35test_edge_cases_and_boundary_values17h565da3978137b059E+0x18a):
 undefined reference to `xtest_isString'
          /usr/bin/ld: 
rust_uno.675ac809ee7902a-cgu.4:(.text._ZN8rust_uno3ffi5tests17integration_tests35test_edge_cases_and_boundary_values17h565da3978137b059E+0x1c9):
 undefined reference to `xtest_isString'
          /usr/bin/ld: 
/home/rene/LibreOffice/git/master/rust_uno/target/release/deps/rust_uno-e1a08363f3f7a098.rust_uno.675ac809ee7902a-cgu.4.rcgu.o:
 in function 
`rust_uno::ffi::tests::integration_tests::test_consistency_across_multiple_calls':
          
rust_uno.675ac809ee7902a-cgu.4:(.text._ZN8rust_uno3ffi5tests17integration_tests38test_consistency_across_multiple_calls17h8162e97f6a3914dcE+0x50):
 undefined reference to `xtest_getBoolean'
          /usr/bin/ld: 
rust_uno.675ac809ee7902a-cgu.4:(.text._ZN8rust_uno3ffi5tests17integration_tests38test_consistency_across_multiple_calls17h8162e97f6a3914dcE+0x5e):
 undefined reference to `xtest_getByte'
          /usr/bin/ld: 
rust_uno.675ac809ee7902a-cgu.4:(.text._ZN8rust_uno3ffi5tests17integration_tests38test_consistency_across_multiple_calls17h8162e97f6a3914dcE+0x70):
 undefined reference to `xtest_getShort'
          /usr/bin/ld: 
rust_uno.675ac809ee7902a-cgu.4:(.text._ZN8rust_uno3ffi5tests17integration_tests38test_consistency_across_multiple_calls17h8162e97f6a3914dcE+0x89):
 undefined reference to `xtest_getLong'
          /usr/bin/ld: 
rust_uno.675ac809ee7902a-cgu.4:(.text._ZN8rust_uno3ffi5tests17integration_tests38test_consistency_across_multiple_calls17h8162e97f6a3914dcE+0x9e):
 undefined reference to `xtest_getUnsignedShort'
          /usr/bin/ld: 
rust_uno.675ac809ee7902a-cgu.4:(.text._ZN8rust_uno3ffi5tests17integration_tests38test_consistency_across_multiple_calls17h8162e97f6a3914dcE+0xb7):
 undefined reference to `xtest_getUnsignedLong'
          /usr/bin/ld: 
rust_uno.675ac809ee7902a-cgu.4:(.text._ZN8rust_uno3ffi5tests17integration_tests38test_consistency_across_multiple_calls17h8162e97f6a3914dcE+0xcc):
 undefined reference to `xtest_getHyper'
          /usr/bin/ld: 
rust_uno.675ac809ee7902a-cgu.4:(.text._ZN8rust_uno3ffi5tests17integration_tests38test_consistency_across_multiple_calls17h8162e97f6a3914dcE+0xe6):
 undefined reference to `xtest_getUnsignedHyper'
          /usr/bin/ld: 
rust_uno.675ac809ee7902a-cgu.4:(.text._ZN8rust_uno3ffi5tests17integration_tests38test_consistency_across_multiple_calls17h8162e97f6a3914dcE+0x107):
 undefined reference to `xtest_getFloat'
          /usr/bin/ld: 
rust_uno.675ac809ee7902a-cgu.4:(.text._ZN8rust_uno3ffi5tests17integration_tests38test_consistency_across_multiple_calls17h8162e97f6a3914dcE+0x126):
 undefined reference to `xtest_getDouble'
          /usr/bin/ld: 
rust_uno.675ac809ee7902a-cgu.4:(.text._ZN8rust_uno3ffi5tests17integration_tests38test_consistency_across_multiple_calls17h8162e97f6a3914dcE+0x149):
 undefined reference to `xtest_getChar'
          /usr/bin/ld: 
rust_uno.675ac809ee7902a-cgu.4:(.text._ZN8rust_uno3ffi5tests17integration_tests38test_consistency_across_multiple_calls17h8162e97f6a3914dcE+0x162):
 undefined reference to `xtest_getString'
          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#rustc-link-lib)

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

Caused by:
  process didn't exit successfully: `rustc --crate-name rust_uno --edition=2024 
src/lib.rs --error-format=json 
--json=diagnostic-rendered-ansi,artifacts,future-incompat 
--diagnostic-width=158 --emit=dep-info,link -C opt-level=3 -C embed-bitcode=no 
--test --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values())' -C 
metadata=95a700903e564e5d -C extra-filename=-e1a08363f3f7a098 --out-dir 
/home/rene/LibreOffice/git/master/rust_uno/target/release/deps -C 
strip=debuginfo -L 
dependency=/home/rene/LibreOffice/git/master/rust_uno/target/release/deps -L 
native=../instdir/program -L native=../instdir/sdk/lib -L 
native=../workdir/LinkTarget/Library -l rust_uno-cpplo -l uno_cppu -l uno_sal 
-l uno_salhelpergcc3` (exit status: 1)

where I am stuck. I see that this is supposed to come from the crate itself, 
but why doesn't it find it? Or is there some more linkage needed? The (uno)test 
library? embindtest? Neither worked for me.

(FWIW --enable-embindtest-uno is there.)

Regards,

Rene

Reply via email to