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

FIX add libwebsocket installation instructions #1823

Open
wants to merge 3 commits into
base: feature/1181_websockets
Choose a base branch
from

Conversation

fgalan
Copy link
Member

@fgalan fgalan commented Feb 22, 2016

DON'T MERGE YET. What is pending:

  • Check the procedure actually works in CentOS 6.x (by the moment it has been tested only in Debian)
  • Sync in Dockerfile

cmake .. # default cmake sets /usr/local as installation path
make
sudo make install

Copy link
Member Author

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?)

Copy link
Member Author

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...

Copy link
Member

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')

Copy link
Member Author

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?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok, no problem

Copy link
Contributor

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

Copy link
Member Author

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.

Copy link
Member

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

Copy link
Member Author

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

@fgalan
Copy link
Member Author

fgalan commented Apr 12, 2016

I have added 90e6cea commit to this PR to integrate websockets.md.

The work in this PR once @fortizc finished with changing CMakeList.txt to use static linking.

@kzangeli kzangeli changed the title FIX add libwebscocket installation instructions FIX add libwebsocket installation instructions Jan 13, 2017
@fgalan
Copy link
Member Author

fgalan commented Dec 3, 2018

This PR cannot be considered stale. It shows a way of implementing websocket in Orion and, in that sense, it is useful.

@kzangeli
Copy link
Member

kzangeli commented Dec 3, 2018

Why not give it a special label, e,g, "Future", close the PR and keep a link to it in its issue?
That would solve the problem.

@fgalan
Copy link
Member Author

fgalan commented Dec 3, 2018

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.

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

Successfully merging this pull request may close these issues.

3 participants