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

Msquic Perf Lttng Library Issue #1394

Closed
victorstewart opened this issue Mar 28, 2021 · 7 comments
Closed

Msquic Perf Lttng Library Issue #1394

victorstewart opened this issue Mar 28, 2021 · 7 comments
Labels
Milestone

Comments

@victorstewart
Copy link

the zip folder nick sent me included libmsquic.lttng.so libmsquic.so secnetperf and running ldd on secnetperf gave me...

root@clr-df9e289c0de04eb2a0cfc75803a0b93e~/msquic # ldd secnetperf
	linux-vdso.so.1 (0x00007ffdc0595000)
	libmsquic.so => not found
	liblttng-ust.so.0 => not found
	libdl.so.2 => /usr/lib64/libdl.so.2 (0x00007f93b69d0000)
	libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007f93b67c7000)
	libm.so.6 => /usr/lib64/haswell/libm.so.6 (0x00007f93b6681000)
	libgcc_s.so.1 => /usr/lib64/libgcc_s.so.1 (0x00007f93b6666000)
	libpthread.so.0 => /usr/lib64/libpthread.so.0 (0x00007f93b6640000)
	libc.so.6 => /usr/lib64/haswell/libc.so.6 (0x00007f93b6442000)
	/lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007f93b94ae000)

so first issue, it wants liblttng-ust.so.0 not libmsquic.lttng.so?

i moved both libraries into /usr/lib64 and renamed libmsquic.lttng.so to liblttng-ust.so.0 now both found, but when i try to run the binary i still get a symbol error.

root@clr-df9e289c0de04eb2a0cfc75803a0b93e~/msquic # ./secnetperf
./secnetperf: symbol lookup error: ./secnetperf: undefined symbol: lttng_probe_register
@ThadHouse
Copy link
Contributor

For secnetperf (and the other tools), it is correctly looking for liblttng-ust.so.0. To run the tools, you do need lttng installed.

For libmsquic.so, we dynamically load the lttng provider, so there is no explicit dependency on libmsquic.lttng.so. However, for the tools we are not able to do this, since they also do some logging internally, so those do require lttng installed on your test system.

@ThadHouse
Copy link
Contributor

If you're on ubuntu, you can follow the instructions here to install lttng.

https://lttng.org/docs/v2.12/#doc-ubuntu-ppa

@nibanks
Copy link
Member

nibanks commented Mar 28, 2021

It would be nice if we could make the lttng dependency optional or completely unnecessary for our tools. Ideas?

@ThadHouse
Copy link
Contributor

ThadHouse commented Mar 28, 2021

The only way I can do that is to give each tool its own toolname.lttng.so library that it can load itself. That library would then be optional. Theres no way to hook it into the one we already generate for msquic. It's not too hard to do that however.

@victorstewart
Copy link
Author

i installed lttng and it's working fine now. i'd assumed you needed some custom build of it since you provided me the library. we can close this issue unless you want to further this lttng or not discussion

@ThadHouse
Copy link
Contributor

That library is specifically for libmsquic.so, and it allows it to dynamically load lttng. It's done that way so at least the library will run without lttng installed, and it just won't have logging.

@ThadHouse
Copy link
Contributor

We'll do the discussion, so we can close this for now.

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

No branches or pull requests

3 participants