-
Notifications
You must be signed in to change notification settings - Fork 40
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
Clean up Boost dependencies in classification and detection programs #113
Comments
In fact, even if GLog is installed via CK (from trunk, although a stable package is wanted), the problem is the same. |
There is an issue that I noticed some time ago and it's not fixed. When mixing automatically detected libs and installed via CK, a system path /usr/lib64 can be added to LD_LIBRARY_PATH in the middle and it mixes up linking (i.e. part of the libs will be from CK and part suddenly overloaded from /usr/lib64). There is no obvious solution and I found that other package managers/cmake complain about the same issue... One of the ideas is to avoid using LD_LIBRARY_PATH and always use full explicit paths, but not all native packages support that (cmake often tries to be smart)... That's why I had this ugly trick with adding boost twice ... |
As I mentioned, boosting (sic:)) the order of:
to 4, eliminated the link-time warnings and run-time failures. Moreover, I could get rid of:
completely (at least on my Ubuntu laptop). Is it still needed? If yes, I suggest we clean this across all the programs e.g. as follows:
I'm also confused about the |
Unfortunately, there are some nuances on some platforms, so I would suggest not to touch it now! The solution is to avoid using LD_LIBRARY_PATH with mixing CK-installed packages and usr/lib, but instead use only explicit paths ... But it's not done yet, and will require various changes in the CK ... I would prefer not to do it right now since we can break lots of deps ... But I am thinking one day to update handling of such vars in the CK when I have more time ... |
I've found several issues with the Boost dependencies in the Caffe classification and detection programs (
caffe-classification
,caffe-classification-cuda
,caffe-classification-opencl
,caffe-detection-ssd
,caffe-detection-ssd-cuda
).Apart from the obvious name difference, the first dependency specifies
"skip_from_bat": "yes"
, while the second dependency specifies"force_add_static_lib_path": "yes"
. Removing the first dependency seems not to affect anything at compile or runtime on Linux. But I'm cautious not to commit this change until we understand possible implications on Windows and Android.lib-boost
sort order of 13, using a non-system Boost installed via CK (e.g.ck install package:lib-boost-1.62.0
) results in the following link warnings:and a runtime failure suggesting the conflict does happen:
Changing the sort order to 6 eliminates the warnings:
Interestingly, increasing the sort order past 6 produces the same warnings and failures. Now, the sort order of 7 given to
lib-glog
, so I suspect it is GLog that "mixes in" the system Boost 1.58.0.Now, I am currently using the system GLog as well.
Next, I'll try to install GLog via CK.
The text was updated successfully, but these errors were encountered: