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

Separate dependencies for configurable installation #1738

Closed
shelhamer opened this issue Jan 15, 2015 · 4 comments
Closed

Separate dependencies for configurable installation #1738

shelhamer opened this issue Jan 15, 2015 · 4 comments

Comments

@shelhamer
Copy link
Member

Caffe has dependencies that aren't necessarily universally needed especially when it comes to IO. The installation could be streamlined by making

  • leveldb
  • lmdb
  • hdf5
  • and even OpenCV

optional so that the Python or MATLAB interfaces can take care of IO or a client C++ library could handle input.

Of course there is an advantage to having a standard all-in build since input formats and portability can be counted on, but there are cases when it's overkill.

This would need a fleet of build flags and ifdef guards and is perhaps best left until the build has been standardized by work like #1667.

Note that this was first suggested by @kloudkl in #1074 but it was too early and at the time and the build needed to improve before turning our attention to separation.

@bhack
Copy link
Contributor

bhack commented Jan 15, 2015

As I stated some month ago when cmake was introduced in caffe it is better to support only one build system to avoid divergence between make tools and cmake and to not duplicate community and core members efforts to maintain two build systems. Especially now that we have #1667

@Nerei
Copy link

Nerei commented Jan 16, 2015

Excellent idea! Once cmake standardized and all switch it, I need one weekend to implement, test all these features and prepare PR.

  • or even Boost that might be replaced with std:: in case of new compilers,
    of course if python interface is disabled.

NB: nothing will bring so much popularity to your library as porting it to iOS. Optional dependencies with cmake is just one of steps required to reach this.

@bhack
Copy link
Contributor

bhack commented Jan 16, 2015

My original comments was here #943. Also with only one build system we drastically reduce travis testing time of the build matrix.

@shelhamer
Copy link
Member Author

Closed by #2523 for optional IO dependencies -- HDF5 was made a hard dependency by #2836.

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

No branches or pull requests

3 participants