-
Notifications
You must be signed in to change notification settings - Fork 265
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
FIX add libwebsocket installation instructions #1823
base: feature/1181_websockets
Are you sure you want to change the base?
Conversation
cmake .. # default cmake sets /usr/local as installation path | ||
make | ||
sudo make install | ||
|
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.
The procedure seems to be ok to compile in CentOS 6.x. However, it seems that (differently from Debian) /usr/local/lib is not included in the libary loading path so running compiled binary may result in
contextBroker: error while loading shared libraries: libwebsockets.so.6: cannot open shared object file: No such file or directory
The solution is described in http://serverfault.com/questions/372987/centos-usr-local-lib-system-wide-ld-library-path. However, it is not clear to me how to fit this in the RPM (including libwebsocket.so.6 as part of the CB RPM? In which directory? Create an ad hoc package RPM for the libwebsocket library and link packages through dependencies?)
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.
One possible solution to both problems is using static library. The contextBroker binary will be bigger, but probably it is not a problem...
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.
Yeah, I think I also prefer a static lib ...
Easier for our users, as there will never be any problems with version mismatches.
It would be nice to see the difference is size though ... (after 'strip')
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.
Thus, a PR fixing CMakeList.txt to use static library should be done. @fortizc, could you manage that, please?
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.
Ok, no problem
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.
I'm not really convinced with this... do you try use DCMAKE_INSTALL_PREFIX:PATH option?
Something like that
wget https://github.com/warmcat/libwebsockets/archive/v1.6.3.tar.gz
tar xfvz v1.6.3.tar.gz
cd libwebsockets-1.6.3/
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX:PATH=/MY_PREFERED_PATH ..
make
sudo make install
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.
As long as MY_PREFERED_PATH would be /usr/local
, it's ok. However, given that it seems that cmake
uses that installation path by default, I dont' see the point in making the procedure more complex by the introduction of this -DCMAKE_INSTALL_PREFIX
variable.
To be discussed at skype.
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.
If used, please add an 'R': PREFERRED
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.
After some discussion at skype, we propose to finally use:
wget https://github.com/warmcat/libwebsockets/archive/v1.6.3.tar.gz
tar xfvz v1.6.3.tar.gz
cd libwebsockets-1.6.3/
mkdir build
cd build
cmake # use -DCMAKE_INSTALL_PREFIX:PATH=/your/path in order to override /usr/local as installation path
make
sudo make install
…ild_doc Conflicts: doc/manuals/admin/build_source.md
This PR cannot be considered stale. It shows a way of implementing websocket in Orion and, in that sense, it is useful. |
Why not give it a special label, e,g, "Future", close the PR and keep a link to it in its issue? |
I agree in the first part (define an specific label for this kind of PRs) but not in the second (close the PR). As long as github doesn't charge us for the number of open PRs ;) it is prefereable to have then alive as open PR. |
DON'T MERGE YET. What is pending: