ZeroMQ doesn't spot libsodium - zeromq

I'm hoping to get the CurveCP functionality working within ZeroMQ ØMQ. I'm using CentOS as the underlying OS.
After downloading and running ZeroMQ, I've done the usual ./configure, make and sudo make install. Then running make check returned many test passes, but stated:
libsodium not installed, skipping CURVE test
So sudo yum install libsodium and sudo ldconfig, then make clean, and the commands above. But next time I ran the make check, the CURVE test is skipped, again reporting no libsodium.
Looking at the tests, I see test_security_curve.cpp has #ifndef HAVE_LIBSODIUM and that preprocessor definition appears to be driving the 'no libsodium' skip.
./configure --with-libsodium as per this page reports libsodium is not installed
./configure --with-libsodium=/home/eng/work/libsodium-master --with-libsodium-include-dir=/home/eng/work/libsodium-master/src/libsodium/include --with-libsodium-lib-dir=/usr/lib64 reports libsodium is not installed.
Solution
In order to get this working, installing libsodium via YUM did not give a version of libsodium viable for a zeromq build. It needed a real build of libsodium, which in turn required a recent copy of autoconf.
curl -OL http://ftpmirror.gnu.org/autoconf/autoconf-2.69.tar.gz
tar xzf autoconf-2.69.tar.gz
cd autoconf-2.69
./configure --prefix=/usr/local
make
sudo make install
sudo ldconfig
cd ../libsodium-master
./autogen.sh
./configure
make
sudo make install
cd ../libzmq-master
sudo ./configure --with-libsodium=/home/eng/work/libsodium-master --with-libsodium-include-dir=/home/eng/work/libsodium-master/src/libsodium/include --with-libsodium-lib-dir=/usr/lib64
sudo make
make check
sudo make install

Related

Why I failed to make setup when I was trying to install RedisTimeSeries?

I just followed what was said in README(https://github.com/RedisTimeSeries/RedisTimeSeries) to install RedisTimeSeries on Ubuntu.what I did following the document But when I tried to execute "make build", it showed the information. And I'm sure that I have already executed "make setup", so I guess I failed to make setup before. I was wondering what was wrong and how I can do to install RedisTimeSeries?
Just like what I said before, I followed the instructions in README and try to install RedisTimeSeries on Ubuntu. This is what it shows when I make setup. I'm expecting a method which can help me accomplish this task. Thanks for all answers.
Try to execute the following prior to building:
apt-get update
apt-get upgrade
apt-get install -y sudo git pkg-config make wget build-essential cmake m4 automake peg libtool autoconf python3
Let me know if it solves your problem.

How to install ruby on linux in a specific folder

I try to install ruby and rails to start to learn ruby on rails.
I work on Windows. After many search and tries, I gave up and installed a fresh ubuntu 14 x64 in a VirtualBox.
I installed ruby with apt-get, but its files get spread all over the file system (/bin, /var...). So, I have to use always sudo and search all over the place when installing gems.
I would like, just like in windows, find a ruby tar.gz which I can decompress in a folder of mine, with all files at the same place, where I have the "control" over the files, and I can watch easily what it's hapenning while installing gems, rails, etc...
The problem : I cannot find any tar.gz (or similar archive) of ruby for linux which I simply can uncompress in a folder and work with it (I can manage the $path). The only one I can find is for Windows !
Thanks !
It sounds like what you want is Ruby's source code. Go to https://www.ruby-lang.org/en/downloads/ and look under "Compiling Ruby - Source Code". That's where you'll find the .tar.gz files you want. You'll need to compile and install it before you can actually use it. Installing normally copies files "all over the file system", but you can force it to install to a specific folder by passing the --prefix option to the ./configure script.
$ tar -xf ruby-2.2.1.tar.gz
$ cd ruby-2.2.1
$ ./configure --prefix=/my/ruby/dir
$ make && make install
You may need to install some dev packages in order to get it to compile, but any compilation errors should make it clear what you need.
These instructions are also described here.
Thank you Max for your response.
In case someone else tries to compile ruby on a fresh new ubuntu, this is what I had to do to build and use it with success :
Install missing dependencies :
get the latest "Stable Snapshot" from https://ftp.ruby-lang.org/pub/ruby/stable-snapshot.tar.gz and not the "Current stable"
sudo apt-get install libffi-dev
sudo apt-get install zlibc zlib1g zlib1g-dev
sudo apt-get install openssl
sudo apt-get install libssl0.9.8 [[[ first, find the latest version with : apt-cache search libssl | grep SSL ]]]
sudo apt-get install ca-certificates
sudo apt-get install libssl-dev
sudo apt-get install libreadline-dev
Then :
Edit downloaded file tools/rbinstall.rb, goto line 714 and correct the typo :
change "rescue LoadErroe" to "rescue LoadError" (not corrected in date of 20 March 2015).
Run Max's instructions above
Don't move the ruby destination folder declared with "--prefix" (even if you try to correct the shells in ruby/bin)
Finally, for using rails :
sudo apt-get install libsqlite3-dev
sudo apt-get install nodejs ==> inorder to have a js runtime

Undefined reference to libusb_get_parent() - compiling freenect

I'd want to install some libraries in order to connect a Kinect 360 in a Raspberry following this link: http://www.kdab.com/setting-up-kinect-for-programming-in-linux-part-1/
First, I checked this on Ubuntu and all was fine.
However, when I want to build libfreenect (with make) this error is shown:
../lib/libfreenect.so.0.5.2: undefined reference to 'lisusb_get_parent'
collect2: ld returned 1 exit status
I'm new on Raspberry and I don't know how to fix this.
Any help is appreciated!! :)
Thanks!
I ran into the same problem, starting from a fresh install of Raspbian 2015-02-16. Apparently (based on this), the version of libusb you get with apt-get is old. My workaround, based on recommendations from that link and elsewhere, is to build libusb from the more recent sources and convince libfreenect to use that:
Grab the packages you'll need to compile libusb and libfreenect:
sudo apt-get install git cmake build-essential
sudo apt-get install freeglut3-dev libxmu-dev libxi-dev
sudo apt-get install libudev-dev
Remove the existing libusb, if it's there:
sudo apt-get remove libusb-1.0-0-dev
Grab the sources for libusb-1.0.18:
wget http://sourceforge.net/projects/libusb/files/libusb-1.0/libusb-1.0.18/libusb-1.0.18.tar.bz2
tar -xvf libusb-1.0.18.tar.bz2
Build and install the updated libusb:
cd libusb-1.0.18/
./configure --prefix=/usr --disable-static
make
sudo make install
Ugly hack to convince libfreenect to use the new libusb library:
sudo ln -s /usr/lib/libusb-1.0.so /usr/lib/arm-linux-gnueabihf/libusb-1.0.so
Then you should be able to build libfreenect.
sudo ln -s /usr/lib/libusb-1.0.so /usr/lib/x86_64-linux-gnu/libusb-1.0.so
when u r using x86_64 machine

Installing osm2pgsql from source not actually installing?

I'm trying to install osm2pgsql from source on a Mac using Terminal.
I ran these commands:
git clone git://github.com/openstreetmap/osm2pgsql.git
cd osm2pgsql
./autogen.sh && ./configure && make
And it runs, but then if I try to run an osm2pgsql command, it says:
-bash: osm2pgsql: command not found
There are no further instructions online about how to install from source, so I'm not sure what I'm missing here.
Anyone help me?
Thanks
You might need to install the build-essential and automake packages.
Type the following in the terminal (before trying to install osm2pgsql):
sudo apt-get install build-essential
sudo apt-get install automake
sudo apt-get install checkinstall
You need to add it to your path! To "install" something is really just to let the OS know where it is, because it's too dumb to figure that out on its own, even if you're in the same directory with it. In Unix, every command is a program; when you enter a command, the OS checks the "path" which is just a list of directories where that command might live.
First of all, to test that it's compiled and working properly in its own directory:
./osm2pgsql
If that works, add the current directory to the path variable:
export PATH=$PATH:`pwd`
Now you can execute the command from anywhere.

How can I install Zephir on Ubuntu?

I would like to install Zephir on my Ubuntu machine.
The goal is to convert some of my existing code into a PHP extension, in order to get the benefits of faster execution.
Any pointers are more than appreciated.
Install zephir in Ubuntu..
You need download Zephir-master from https://github.com/phalcon/zephir
You nedd download json-c from https://github.com/json-c/json-c
1) sudo apt-get install gcc make re2c phpX phpX-json phpx-dev libpcre3-dev
2) Open folder Json-c
2.1) sh autogen.sh
2.2) ./configure
2.3) make && make install
3) Open folder zephir-master
3.1) ./install -c
4) zephir help for to test the correct installation
Please note Zephir is currently in Alpha stage and therefore bugs can be expected.
You need to have certain packages installed:
json-c
re2c
In the command line type:
sudo apt-get install libjson0 libjson0-dev libjson0-dbg
sudo apt-get install re2c
Once you have the required packages installed, you can generate the parser as follows:
./generate
Compile the extension (this is your code):
./zephir
The code produced is placed in ext/, there you can perform the standard compilation:
cd ext/
sudo ./install

Resources