-
Notifications
You must be signed in to change notification settings - Fork 251
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
Make sure to build_export_depend liblz4-dev. #1614
Conversation
Otherwise downstream packages that depend on it won't install the package, and thus won't find the library. Signed-off-by: Chris Lalancette <clalancette@gmail.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
+1 for freeze exception - this is a very safe bugfix
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@clalancette @cottsay We can export dependencies from the liblz4-dev
but it is not going to help with CI build failure.
The problem is not in the missing export of the dependencies but rather that header lz4.h
is not found because libz4-dev
is not installed by default.
At least on my local setup I am getting the following error even after the proposed fix:
--- stderr: liblz4_vendor
CMake Error at cmake/Modules/Findlz4.cmake:21 (file):
file STRINGS file "/usr/include/lz4.h" cannot be read.
Call Stack (most recent call first):
CMakeLists.txt:10 (find_package)
What it helps is to install liblz4-dev
via sudo apt install liblz4-dev
.
IMO instead of trying to refer to the lz4.h
from the liblz4-dev
we need to instruct CMake somehow to refer to the downloaded version of the lz4.h
from the https://github.com/lz4/lz4/blob/dev/lib/lz4.h which we are vendoring.
It seems ament_vendor
doesn't do a good job for that.
@clalancette @cottsay BTW if needs a quick fix rosbag2/liblz4_vendor/CMakeLists.txt Line 10 in 53570fa
will help. |
Sorry for my previous messages. You can disregard them. I didn't look at the original error messages from the failed job, and it turns out that they differ from my local setup reproduction.
It seems the failure on my local setup is different and somehow Findlz4.cmake found a path for lz4 in my |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Approve
Otherwise downstream packages that depend on it won't install the package, and thus won't find the library.
@MichaelOrlov We need to break the freeze and land this on
rolling
so we can getmcap_vendor
building on Rolling.