Page MenuHomePhabricator

tunnelbroker: Use pkg-config to find dependencies
ClosedPublic

Authored by jim on Feb 16 2022, 12:31 PM.
Tags
None
Referenced Files
F1772725: D3237.diff
Wed, May 15, 8:29 PM
Unknown Object (File)
Wed, Apr 24, 6:51 PM
Unknown Object (File)
Tue, Apr 23, 1:00 PM
Unknown Object (File)
Tue, Apr 23, 1:00 PM
Unknown Object (File)
Tue, Apr 23, 1:00 PM
Unknown Object (File)
Tue, Apr 23, 12:46 PM
Unknown Object (File)
Apr 2 2024, 11:16 AM
Unknown Object (File)
Mar 9 2024, 10:42 PM

Details

Summary

Installs the crypto++ and uv libraries to system install paths and use
pkg-config to find them. This is better than hard-coding the paths in
CMakeLists.

Test Plan

Run tunnelbroker test and launch scripts

Diff Detail

Repository
rCOMM Comm
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

looks good at a first glance but I'd wait for the review from Max

This revision is now accepted and ready to land.Feb 18 2022, 6:49 AM
This revision now requires review to proceed.Feb 18 2022, 6:49 AM

Looks great and using packages is a good catch!
Tested it, everything is working.

This looks great and way cleaner!! Just one question: are you sure pkg-config is available in all of the environments we need it to be available in?

Accepting, but please address above question before landing!

This revision is now accepted and ready to land.Feb 21 2022, 11:19 PM

What environments are supported? pkg-config is pretty common in Linux and can be installed with homebrew on OSX I believe.

ashoat requested changes to this revision.Feb 23 2022, 9:21 PM

Sounds like we need to add something like brew install pkgconfig to our dev environment setup instructions

This revision now requires changes to proceed.Feb 23 2022, 9:21 PM
In D3237#87734, @ashoat wrote:

Sounds like we need to add something like brew install pkgconfig to our dev environment setup instructions

According to the documentation in D3240, services are only to be run in the Docker containers, and the Docker images always have pkg-config. So it doesn't need to be installed on the mac OSX host. Am I right that there's no intention to support running services *natively* on OSX without Docker?

Ah yeah okay, sounds like we have pkg-config everywhere we need it then (default part of the Ubuntu image we use). I always get confused about how Docker runs stuff... I seem to recall that it's fully virtualized when run on a macOS host, but simply a chroot'd container when run on a Linux host. But on the other hand then what would be the meaning of an Ubuntu image? So it's probably virtualized everywhere... but if it's not fully virtualized on Linux hosts, then I'd wonder if there's some dependency on pkg-config there that we have to consider.

This revision is now accepted and ready to land.Mar 7 2022, 10:12 PM