How I installed Jupyter-PHP on Clear Linux

How I installed Jupyter-PHP on Clear Linux

1.Quick and temporary (non-persistent) in Docker Container

(Great for a quick playground)

Pull and run container:

sudo swupd bundle-add containers-basic
sudo systemctl start docker
sudo docker pull continuumio/anaconda3 #source https://github.com/ContinuumIO/docker-images
sudo docker run -it -p 8888:8888 --rm continuumio/anaconda3 /bin/bash

Paste this into the conda shell:

apt-get update && apt-get install -y build-essential &&\
apt-get install -y libtool &&\
apt-get install -y autoconf &&\
apt-get install -y uuid-dev &&\
apt-get install -y pkg-config &&\
apt-get install -y git &&\
apt-get install -y libsodium-dev &&\
apt-get install -y php7.3 php7.3-dev &&\
wget https://archive.org/download/zeromq_4.1.4/zeromq-4.1.4.tar.gz &&\
tar -xvzf zeromq-4.1.4.tar.gz &&\
cd zeromq-4.1.4 &&\
./configure &&\
make &&\
make install &&\
ldconfig &&\
cd &&\
git clone git://github.com/mkoppanen/php-zmq.git &&\
cd php-zmq &&\
phpize && ./configure &&\
make &&\
make install &&\
echo "extension=zmq.so" > /etc/php/7.3/mods-available/zmq.ini &&\
phpenmod zmq &&\
echo  "<?php var_dump(class_exists('ZMQContext'));" > file.php &&\
php file.php &&\
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" &&\
php composer-setup.php &&\
mv composer.phar /usr/local/bin/composer &&\
php -r "unlink('composer-setup.php');" &&\
wget https://litipk.github.io/Jupyter-PHP-Installer/dist/jupyter-php-installer.phar &&\
/opt/conda/bin/conda install jupyter -y --quiet &&\
mkdir /opt/notebooks &&\
php ./jupyter-php-installer.phar install &&\
/opt/conda/bin/jupyter notebook --notebook-dir=/opt/notebooks --ip='*' --port=8888 --no-browser --allow-root
e[32mThe Jupyter-PHP kernel has been successfully installed.e[39m

visit http://127.0.0.1:8888

2. Permanent (Native) Solution:

~$ sudo swupd bundle-add machine-learning-web-ui

~$ sudo swupd bundle-add machine-learning-basic

~$ sudo swupd bundle-add c-basic

~$ sudo swupd bundle-add php-extras

install composer

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"

sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer

php -r "unlink('composer-setup.php');"
composer
   ______
  / ____/___  ____ ___  ____  ____  ________  _____
 / /   / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__  )  __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
                    /_/
mkdir ~/tmp
cd ~/tmp
wget https://archive.org/download/zeromq_4.1.4/zeromq-4.1.4.tar.gz
tar -xvzf zeromq-4.1.4.tar.gz
zeromq-4.1.4/
zeromq-4.1.4/tools/
zeromq-4.1.4/tools/curve_keygen.cpp
zeromq-4.1.4/config/
zeromq-4.1.4/config/install-sh
zeromq-4.1.4/config/missing
zeromq-4.1.4/config/lt~obsolete.m4
zeromq-4.1.4/config/compile
zeromq-4.1.4/config/libtool.m4
zeromq-4.1.4/config/config.guess
zeromq-4.1.4/config/depcomp
zeromq-4.1.4/config/test-driver
zeromq-4.1.4/config/ltsugar.m4
zeromq-4.1.4/config/ltmain.sh
zeromq-4.1.4/config/ltversion.m4
zeromq-4.1.4/config/ltoptions.m4
zeromq-4.1.4/config/config.sub
zeromq-4.1.4/COPYING.LESSER
zeromq-4.1.4/builds/
zeromq-4.1.4/builds/redhat/
zeromq-4.1.4/builds/redhat/zeromq.spec.in
zeromq-4.1.4/builds/msvc/
zeromq-4.1.4/builds/msvc/properties/
zeromq-4.1.4/builds/msvc/properties/DebugDEXE.props
zeromq-4.1.4/builds/msvc/properties/ReleaseLTCG.props
zeromq-4.1.4/builds/msvc/properties/Messages.props
zeromq-4.1.4/builds/msvc/properties/Output.props
zeromq-4.1.4/builds/msvc/properties/ReleaseDEXE.props
zeromq-4.1.4/builds/msvc/properties/LTCG.props
zeromq-4.1.4/builds/msvc/properties/ReleaseDLL.props
zeromq-4.1.4/builds/msvc/properties/ReleaseSEXE.props
zeromq-4.1.4/builds/msvc/properties/Common.props
zeromq-4.1.4/builds/msvc/properties/DLL.props
zeromq-4.1.4/builds/msvc/properties/LIB.props
zeromq-4.1.4/builds/msvc/properties/DebugDLL.props
zeromq-4.1.4/builds/msvc/properties/DebugLIB.props
zeromq-4.1.4/builds/msvc/properties/DebugLEXE.props
zeromq-4.1.4/builds/msvc/properties/Win32.props
zeromq-4.1.4/builds/msvc/properties/DebugSEXE.props
zeromq-4.1.4/builds/msvc/properties/Release.props
zeromq-4.1.4/builds/msvc/properties/ReleaseLEXE.props
zeromq-4.1.4/builds/msvc/properties/Debug.props
zeromq-4.1.4/builds/msvc/properties/ReleaseLIB.props
zeromq-4.1.4/builds/msvc/properties/DebugLTCG.props
zeromq-4.1.4/builds/msvc/properties/x64.props
zeromq-4.1.4/builds/msvc/properties/EXE.props
zeromq-4.1.4/builds/msvc/properties/Link.props
zeromq-4.1.4/builds/msvc/resource.h
zeromq-4.1.4/builds/msvc/resource.rc
zeromq-4.1.4/builds/msvc/vs2012/
zeromq-4.1.4/builds/msvc/vs2012/remote_thr/
zeromq-4.1.4/builds/msvc/vs2012/remote_thr/remote_thr.vcxproj
zeromq-4.1.4/builds/msvc/vs2012/remote_thr/remote_thr.props
zeromq-4.1.4/builds/msvc/vs2012/libzmq.import.xml
zeromq-4.1.4/builds/msvc/vs2012/libsodium.import.props
zeromq-4.1.4/builds/msvc/vs2012/local_lat/
zeromq-4.1.4/builds/msvc/vs2012/local_lat/local_lat.props
zeromq-4.1.4/builds/msvc/vs2012/local_lat/local_lat.vcxproj
zeromq-4.1.4/builds/msvc/vs2012/remote_lat/
zeromq-4.1.4/builds/msvc/vs2012/remote_lat/remote_lat.props
zeromq-4.1.4/builds/msvc/vs2012/remote_lat/remote_lat.vcxproj
zeromq-4.1.4/builds/msvc/vs2012/inproc_lat/
zeromq-4.1.4/builds/msvc/vs2012/inproc_lat/inproc_lat.props
zeromq-4.1.4/builds/msvc/vs2012/inproc_lat/inproc_lat.vcxproj
zeromq-4.1.4/builds/msvc/vs2012/libzmq.import.props
zeromq-4.1.4/builds/msvc/vs2012/local_thr/
zeromq-4.1.4/builds/msvc/vs2012/local_thr/local_thr.vcxproj
zeromq-4.1.4/builds/msvc/vs2012/local_thr/local_thr.props
zeromq-4.1.4/builds/msvc/vs2012/inproc_thr/
zeromq-4.1.4/builds/msvc/vs2012/inproc_thr/inproc_thr.vcxproj
zeromq-4.1.4/builds/msvc/vs2012/inproc_thr/inproc_thr.props
zeromq-4.1.4/builds/msvc/vs2012/libzmq.sln
zeromq-4.1.4/builds/msvc/vs2012/libzmq/
zeromq-4.1.4/builds/msvc/vs2012/libzmq/libzmq.props
zeromq-4.1.4/builds/msvc/vs2012/libzmq/libzmq.vcxproj.filters
zeromq-4.1.4/builds/msvc/vs2012/libzmq/libzmq.vcxproj
zeromq-4.1.4/builds/msvc/vs2012/libzmq/libzmq.xml
zeromq-4.1.4/builds/msvc/vs2012/libsodium.import.xml
zeromq-4.1.4/builds/msvc/vs2010/
zeromq-4.1.4/builds/msvc/vs2010/remote_thr/
zeromq-4.1.4/builds/msvc/vs2010/remote_thr/remote_thr.vcxproj
zeromq-4.1.4/builds/msvc/vs2010/remote_thr/remote_thr.props
zeromq-4.1.4/builds/msvc/vs2010/libzmq.import.xml
zeromq-4.1.4/builds/msvc/vs2010/libsodium.import.props
zeromq-4.1.4/builds/msvc/vs2010/local_lat/
zeromq-4.1.4/builds/msvc/vs2010/local_lat/local_lat.props
zeromq-4.1.4/builds/msvc/vs2010/local_lat/local_lat.vcxproj
zeromq-4.1.4/builds/msvc/vs2010/remote_lat/
zeromq-4.1.4/builds/msvc/vs2010/remote_lat/remote_lat.props
zeromq-4.1.4/builds/msvc/vs2010/remote_lat/remote_lat.vcxproj
zeromq-4.1.4/builds/msvc/vs2010/inproc_lat/
zeromq-4.1.4/builds/msvc/vs2010/inproc_lat/inproc_lat.props
zeromq-4.1.4/builds/msvc/vs2010/inproc_lat/inproc_lat.vcxproj
zeromq-4.1.4/builds/msvc/vs2010/libzmq.import.props
zeromq-4.1.4/builds/msvc/vs2010/local_thr/
zeromq-4.1.4/builds/msvc/vs2010/local_thr/local_thr.vcxproj
zeromq-4.1.4/builds/msvc/vs2010/local_thr/local_thr.props
zeromq-4.1.4/builds/msvc/vs2010/inproc_thr/
zeromq-4.1.4/builds/msvc/vs2010/inproc_thr/inproc_thr.vcxproj
zeromq-4.1.4/builds/msvc/vs2010/inproc_thr/inproc_thr.props
zeromq-4.1.4/builds/msvc/vs2010/libzmq.sln
zeromq-4.1.4/builds/msvc/vs2010/libzmq/
zeromq-4.1.4/builds/msvc/vs2010/libzmq/libzmq.props
zeromq-4.1.4/builds/msvc/vs2010/libzmq/libzmq.vcxproj.filters
zeromq-4.1.4/builds/msvc/vs2010/libzmq/libzmq.vcxproj
zeromq-4.1.4/builds/msvc/vs2010/libzmq/libzmq.xml
zeromq-4.1.4/builds/msvc/vs2010/libsodium.import.xml
zeromq-4.1.4/builds/msvc/platform.hpp
zeromq-4.1.4/builds/msvc/Makefile.in
zeromq-4.1.4/builds/msvc/vs2008/
zeromq-4.1.4/builds/msvc/vs2008/remote_thr/
zeromq-4.1.4/builds/msvc/vs2008/remote_thr/remote_thr.vcproj
zeromq-4.1.4/builds/msvc/vs2008/local_lat/
zeromq-4.1.4/builds/msvc/vs2008/local_lat/local_lat.vcproj
zeromq-4.1.4/builds/msvc/vs2008/remote_lat/
zeromq-4.1.4/builds/msvc/vs2008/remote_lat/remote_lat.vcproj
zeromq-4.1.4/builds/msvc/vs2008/inproc_lat/
zeromq-4.1.4/builds/msvc/vs2008/inproc_lat/inproc_lat.vcproj
zeromq-4.1.4/builds/msvc/vs2008/local_thr/
zeromq-4.1.4/builds/msvc/vs2008/local_thr/local_thr.vcproj
zeromq-4.1.4/builds/msvc/vs2008/inproc_thr/
zeromq-4.1.4/builds/msvc/vs2008/inproc_thr/inproc_thr.vcproj
zeromq-4.1.4/builds/msvc/vs2008/libzmq.sln
zeromq-4.1.4/builds/msvc/vs2008/libzmq/
zeromq-4.1.4/builds/msvc/vs2008/libzmq/libzmq.vcproj
zeromq-4.1.4/builds/msvc/vs2013/
zeromq-4.1.4/builds/msvc/vs2013/remote_thr/
zeromq-4.1.4/builds/msvc/vs2013/remote_thr/remote_thr.vcxproj
zeromq-4.1.4/builds/msvc/vs2013/remote_thr/remote_thr.props
zeromq-4.1.4/builds/msvc/vs2013/libzmq.import.xml
zeromq-4.1.4/builds/msvc/vs2013/libsodium.import.props
zeromq-4.1.4/builds/msvc/vs2013/local_lat/
zeromq-4.1.4/builds/msvc/vs2013/local_lat/local_lat.props
zeromq-4.1.4/builds/msvc/vs2013/local_lat/local_lat.vcxproj
zeromq-4.1.4/builds/msvc/vs2013/remote_lat/
zeromq-4.1.4/builds/msvc/vs2013/remote_lat/remote_lat.props
zeromq-4.1.4/builds/msvc/vs2013/remote_lat/remote_lat.vcxproj
zeromq-4.1.4/builds/msvc/vs2013/inproc_lat/
zeromq-4.1.4/builds/msvc/vs2013/inproc_lat/inproc_lat.props
zeromq-4.1.4/builds/msvc/vs2013/inproc_lat/inproc_lat.vcxproj
zeromq-4.1.4/builds/msvc/vs2013/libzmq.import.props
zeromq-4.1.4/builds/msvc/vs2013/local_thr/
zeromq-4.1.4/builds/msvc/vs2013/local_thr/local_thr.vcxproj
zeromq-4.1.4/builds/msvc/vs2013/local_thr/local_thr.props
zeromq-4.1.4/builds/msvc/vs2013/inproc_thr/
zeromq-4.1.4/builds/msvc/vs2013/inproc_thr/inproc_thr.vcxproj
zeromq-4.1.4/builds/msvc/vs2013/inproc_thr/inproc_thr.props
zeromq-4.1.4/builds/msvc/vs2013/libzmq.sln
zeromq-4.1.4/builds/msvc/vs2013/libzmq/
zeromq-4.1.4/builds/msvc/vs2013/libzmq/libzmq.props
zeromq-4.1.4/builds/msvc/vs2013/libzmq/libzmq.vcxproj.filters
zeromq-4.1.4/builds/msvc/vs2013/libzmq/libzmq.vcxproj
zeromq-4.1.4/builds/msvc/vs2013/libzmq/libzmq.xml
zeromq-4.1.4/builds/msvc/vs2013/libsodium.import.xml
zeromq-4.1.4/builds/msvc/errno.cpp
zeromq-4.1.4/builds/msvc/errno.hpp
zeromq-4.1.4/builds/msvc/Makefile.am
zeromq-4.1.4/ChangeLog
zeromq-4.1.4/autogen.sh
zeromq-4.1.4/AUTHORS
zeromq-4.1.4/COPYING
zeromq-4.1.4/zeromq.spec
zeromq-4.1.4/doc/
zeromq-4.1.4/doc/zmq_msg_more.txt
zeromq-4.1.4/doc/zmq_msg_init_size.3
zeromq-4.1.4/doc/zmq_z85_encode.txt
zeromq-4.1.4/doc/zmq_msg_copy.txt
zeromq-4.1.4/doc/zmq_close.txt
zeromq-4.1.4/doc/zmq_ipc.html
zeromq-4.1.4/doc/zmq_tcp.txt
zeromq-4.1.4/doc/zmq_bind.txt
zeromq-4.1.4/doc/zmq_ctx_set.txt
zeromq-4.1.4/doc/zmq_recvmsg.html
zeromq-4.1.4/doc/zmq_inproc.txt
zeromq-4.1.4/doc/zmq_connect.html
zeromq-4.1.4/doc/zmq_poll.3
zeromq-4.1.4/doc/zmq_msg_init.3
zeromq-4.1.4/doc/zmq_msg_init_size.txt
zeromq-4.1.4/doc/zmq_msg_more.html
zeromq-4.1.4/doc/zmq_recvmsg.3
zeromq-4.1.4/doc/zmq_ctx_set.html
zeromq-4.1.4/doc/zmq_ctx_new.html
zeromq-4.1.4/doc/zmq_inproc.html
zeromq-4.1.4/doc/zmq_getsockopt.html
zeromq-4.1.4/doc/zmq_pgm.html
zeromq-4.1.4/doc/zmq_pgm.7
zeromq-4.1.4/doc/zmq_ctx_shutdown.html
zeromq-4.1.4/doc/zmq_msg_get.3
zeromq-4.1.4/doc/zmq_unbind.html
zeromq-4.1.4/doc/zmq_version.3
zeromq-4.1.4/doc/zmq_msg_copy.3
zeromq-4.1.4/doc/zmq_errno.html
zeromq-4.1.4/doc/zmq_plain.txt
zeromq-4.1.4/doc/zmq_msg_recv.3
zeromq-4.1.4/doc/zmq_msg_recv.html
zeromq-4.1.4/doc/zmq_msg_init.txt
zeromq-4.1.4/doc/zmq_msg_init.html
zeromq-4.1.4/doc/zmq_curve.txt
zeromq-4.1.4/doc/zmq_recv.3
zeromq-4.1.4/doc/zmq_proxy.3
zeromq-4.1.4/doc/zmq_connect.txt
zeromq-4.1.4/doc/zmq_msg_gets.3
zeromq-4.1.4/doc/zmq_tcp.7
zeromq-4.1.4/doc/zmq_z85_encode.html
zeromq-4.1.4/doc/zmq_disconnect.txt
zeromq-4.1.4/doc/zmq_version.txt
zeromq-4.1.4/doc/zmq_null.html
zeromq-4.1.4/doc/zmq_ctx_term.html
zeromq-4.1.4/doc/zmq_curve.7
zeromq-4.1.4/doc/zmq_unbind.txt
zeromq-4.1.4/doc/zmq_tipc.txt
zeromq-4.1.4/doc/zmq_msg_move.html
zeromq-4.1.4/doc/zmq_curve_keypair.3
zeromq-4.1.4/doc/zmq_send.html
zeromq-4.1.4/doc/zmq_null.7
zeromq-4.1.4/doc/zmq_msg_move.3
zeromq-4.1.4/doc/zmq_ctx_set.3
zeromq-4.1.4/doc/zmq_setsockopt.html
zeromq-4.1.4/doc/zmq_ctx_get.3
zeromq-4.1.4/doc/zmq_ctx_get.html
zeromq-4.1.4/doc/zmq_inproc.7
zeromq-4.1.4/doc/zmq.7
zeromq-4.1.4/doc/zmq_msg_set.html
zeromq-4.1.4/doc/zmq_msg_set.3
zeromq-4.1.4/doc/zmq_send_const.3
zeromq-4.1.4/doc/zmq_msg_send.html
zeromq-4.1.4/doc/zmq_msg_more.3
zeromq-4.1.4/doc/zmq_errno.txt
zeromq-4.1.4/doc/zmq_ipc.7
zeromq-4.1.4/doc/zmq_send_const.txt
zeromq-4.1.4/doc/zmq_close.3
zeromq-4.1.4/doc/zmq_plain.html
zeromq-4.1.4/doc/zmq_msg_close.txt
zeromq-4.1.4/doc/zmq_getsockopt.txt
zeromq-4.1.4/doc/Makefile.in
zeromq-4.1.4/doc/zmq_ctx_shutdown.txt
zeromq-4.1.4/doc/zmq_curve.html
zeromq-4.1.4/doc/zmq.txt
zeromq-4.1.4/doc/zmq_poll.txt
zeromq-4.1.4/doc/zmq_msg_init_data.html
zeromq-4.1.4/doc/zmq_bind.3
zeromq-4.1.4/doc/zmq_setsockopt.3
zeromq-4.1.4/doc/zmq_proxy_steerable.txt
zeromq-4.1.4/doc/asciidoc.conf
zeromq-4.1.4/doc/zmq_ctx_new.txt
zeromq-4.1.4/doc/zmq_disconnect.html
zeromq-4.1.4/doc/zmq_msg_size.html
zeromq-4.1.4/doc/zmq_proxy.txt
zeromq-4.1.4/doc/zmq_curve_keypair.html
zeromq-4.1.4/doc/zmq_disconnect.3
zeromq-4.1.4/doc/zmq_bind.html
zeromq-4.1.4/doc/zmq_msg_close.html
zeromq-4.1.4/doc/zmq_msg_close.3
zeromq-4.1.4/doc/zmq_recv.txt
zeromq-4.1.4/doc/zmq_unbind.3
zeromq-4.1.4/doc/zmq_errno.3
zeromq-4.1.4/doc/zmq.html
zeromq-4.1.4/doc/zmq_socket.html
zeromq-4.1.4/doc/zmq_msg_data.html
zeromq-4.1.4/doc/zmq_msg_get.html
zeromq-4.1.4/doc/zmq_msg_data.3
zeromq-4.1.4/doc/zmq_poll.html
zeromq-4.1.4/doc/zmq_socket_monitor.3
zeromq-4.1.4/doc/zmq_msg_size.3
zeromq-4.1.4/doc/zmq_send.3
zeromq-4.1.4/doc/zmq_ctx_new.3
zeromq-4.1.4/doc/zmq_socket.txt
zeromq-4.1.4/doc/zmq_close.html
zeromq-4.1.4/doc/zmq_msg_gets.html
zeromq-4.1.4/doc/zmq_has.3
zeromq-4.1.4/doc/zmq_ctx_get.txt
zeromq-4.1.4/doc/zmq_socket.3
zeromq-4.1.4/doc/zmq_ipc.txt
zeromq-4.1.4/doc/zmq_socket_monitor.html
zeromq-4.1.4/doc/zmq_msg_size.txt
zeromq-4.1.4/doc/zmq_msg_recv.txt
zeromq-4.1.4/doc/zmq_ctx_term.3
zeromq-4.1.4/doc/zmq_strerror.txt
zeromq-4.1.4/doc/zmq_msg_send.3
zeromq-4.1.4/doc/zmq_msg_get.txt
zeromq-4.1.4/doc/zmq_version.html
zeromq-4.1.4/doc/zmq_sendmsg.3
zeromq-4.1.4/doc/zmq_msg_copy.html
zeromq-4.1.4/doc/zmq_send_const.html
zeromq-4.1.4/doc/zmq_proxy.html
zeromq-4.1.4/doc/zmq_ctx_shutdown.3
zeromq-4.1.4/doc/zmq_msg_gets.txt
zeromq-4.1.4/doc/zmq_msg_init_data.3
zeromq-4.1.4/doc/zmq_curve_keypair.txt
zeromq-4.1.4/doc/zmq_recvmsg.txt
zeromq-4.1.4/doc/zmq_sendmsg.txt
zeromq-4.1.4/doc/zmq_msg_init_size.html
zeromq-4.1.4/doc/zmq_pgm.txt
zeromq-4.1.4/doc/zmq_recv.html
zeromq-4.1.4/doc/zmq_has.html
zeromq-4.1.4/doc/zmq_proxy_steerable.3
zeromq-4.1.4/doc/zmq_ctx_term.txt
zeromq-4.1.4/doc/zmq_strerror.3
zeromq-4.1.4/doc/zmq_setsockopt.txt
zeromq-4.1.4/doc/zmq_has.txt
zeromq-4.1.4/doc/zmq_msg_send.txt
zeromq-4.1.4/doc/zmq_tipc.html
zeromq-4.1.4/doc/zmq_msg_move.txt
zeromq-4.1.4/doc/zmq_tipc.7
zeromq-4.1.4/doc/zmq_socket_monitor.txt
zeromq-4.1.4/doc/zmq_plain.7
zeromq-4.1.4/doc/zmq_z85_decode.html
zeromq-4.1.4/doc/zmq_msg_init_data.txt
zeromq-4.1.4/doc/zmq_strerror.html
zeromq-4.1.4/doc/zmq_msg_data.txt
zeromq-4.1.4/doc/zmq_null.txt
zeromq-4.1.4/doc/zmq_proxy_steerable.html
zeromq-4.1.4/doc/zmq_getsockopt.3
zeromq-4.1.4/doc/zmq_sendmsg.html
zeromq-4.1.4/doc/zmq_send.txt
zeromq-4.1.4/doc/zmq_z85_encode.3
zeromq-4.1.4/doc/zmq_msg_set.txt
zeromq-4.1.4/doc/zmq_z85_decode.3
zeromq-4.1.4/doc/zmq_z85_decode.txt
zeromq-4.1.4/doc/zmq_connect.3
zeromq-4.1.4/doc/zmq_tcp.html
zeromq-4.1.4/doc/Makefile.am
zeromq-4.1.4/Makefile.in
zeromq-4.1.4/version.sh
zeromq-4.1.4/INSTALL
zeromq-4.1.4/src/
zeromq-4.1.4/src/pull.cpp
zeromq-4.1.4/src/ipc_address.hpp
zeromq-4.1.4/src/rep.hpp
zeromq-4.1.4/src/devpoll.hpp
zeromq-4.1.4/src/stdint.hpp
zeromq-4.1.4/src/router.cpp
zeromq-4.1.4/src/lb.hpp
zeromq-4.1.4/src/platform.hpp.in
zeromq-4.1.4/src/atomic_counter.hpp
zeromq-4.1.4/src/gssapi_mechanism_base.cpp
zeromq-4.1.4/src/curve_server.cpp
zeromq-4.1.4/src/session_base.hpp
zeromq-4.1.4/src/v1_encoder.hpp
zeromq-4.1.4/src/norm_engine.hpp
zeromq-4.1.4/src/push.hpp
zeromq-4.1.4/src/v1_encoder.cpp
zeromq-4.1.4/src/mailbox.hpp
zeromq-4.1.4/src/pgm_receiver.hpp
zeromq-4.1.4/src/object.hpp
zeromq-4.1.4/src/zmq_utils.cpp
zeromq-4.1.4/src/v1_decoder.cpp
zeromq-4.1.4/src/v2_protocol.hpp
zeromq-4.1.4/src/socket_base.hpp
zeromq-4.1.4/src/pipe.cpp
zeromq-4.1.4/src/v2_encoder.hpp
zeromq-4.1.4/src/yqueue.hpp
zeromq-4.1.4/src/mtrie.hpp
zeromq-4.1.4/src/poll.hpp
zeromq-4.1.4/src/pgm_sender.cpp
zeromq-4.1.4/src/xsub.hpp
zeromq-4.1.4/src/trie.hpp
zeromq-4.1.4/src/blob.hpp
zeromq-4.1.4/src/i_poll_events.hpp
zeromq-4.1.4/src/mechanism.hpp
zeromq-4.1.4/src/raw_encoder.cpp
zeromq-4.1.4/src/raw_encoder.hpp
zeromq-4.1.4/src/tcp.hpp
zeromq-4.1.4/src/ypipe.hpp
zeromq-4.1.4/src/signaler.cpp
zeromq-4.1.4/src/norm_engine.cpp
zeromq-4.1.4/src/err.cpp
zeromq-4.1.4/src/io_thread.hpp
zeromq-4.1.4/src/err.hpp
zeromq-4.1.4/src/poller_base.hpp
zeromq-4.1.4/src/req.cpp
zeromq-4.1.4/src/io_thread.cpp
zeromq-4.1.4/src/i_encoder.hpp
zeromq-4.1.4/src/msg.cpp
zeromq-4.1.4/src/tipc_address.hpp
zeromq-4.1.4/src/pub.hpp
zeromq-4.1.4/src/lb.cpp
zeromq-4.1.4/src/fq.cpp
zeromq-4.1.4/src/devpoll.cpp
zeromq-4.1.4/src/null_mechanism.hpp
zeromq-4.1.4/src/msg.hpp
zeromq-4.1.4/src/socks_connecter.cpp
zeromq-4.1.4/src/array.hpp
zeromq-4.1.4/src/trie.cpp
zeromq-4.1.4/src/pair.hpp
zeromq-4.1.4/src/plain_client.cpp
zeromq-4.1.4/src/pgm_socket.hpp
zeromq-4.1.4/src/command.hpp
zeromq-4.1.4/src/tcp_listener.cpp
zeromq-4.1.4/src/fd.hpp
zeromq-4.1.4/src/thread.hpp
zeromq-4.1.4/src/pipe.hpp
zeromq-4.1.4/src/ipc_listener.hpp
zeromq-4.1.4/src/libzmq.vers
zeromq-4.1.4/src/precompiled.hpp
zeromq-4.1.4/src/pgm_receiver.cpp
zeromq-4.1.4/src/address.hpp
zeromq-4.1.4/src/address.cpp
zeromq-4.1.4/src/curve_server.hpp
zeromq-4.1.4/src/socket_base.cpp
zeromq-4.1.4/src/tcp.cpp
zeromq-4.1.4/src/kqueue.cpp
zeromq-4.1.4/src/socks_connecter.hpp
zeromq-4.1.4/src/session_base.cpp
zeromq-4.1.4/src/tcp_listener.hpp
zeromq-4.1.4/src/libzmq.pc.cmake.in
zeromq-4.1.4/src/options.cpp
zeromq-4.1.4/src/metadata.hpp
zeromq-4.1.4/src/object.cpp
zeromq-4.1.4/src/options.hpp
zeromq-4.1.4/src/poller.hpp
zeromq-4.1.4/src/router.hpp
zeromq-4.1.4/src/ctx.cpp
zeromq-4.1.4/src/curve_client.cpp
zeromq-4.1.4/src/atomic_ptr.hpp
zeromq-4.1.4/src/stream_engine.hpp
zeromq-4.1.4/src/gssapi_client.cpp
zeromq-4.1.4/src/dist.cpp
zeromq-4.1.4/src/epoll.cpp
zeromq-4.1.4/src/metadata.cpp
zeromq-4.1.4/src/kqueue.hpp
zeromq-4.1.4/src/select.hpp
zeromq-4.1.4/src/libzmq.pc.in
zeromq-4.1.4/src/xpub.cpp
zeromq-4.1.4/src/tipc_connecter.cpp
zeromq-4.1.4/src/thread.cpp
zeromq-4.1.4/src/reaper.cpp
zeromq-4.1.4/src/null_mechanism.cpp
zeromq-4.1.4/src/plain_server.cpp
zeromq-4.1.4/src/stream.cpp
zeromq-4.1.4/src/tcp_address.cpp
zeromq-4.1.4/src/dealer.cpp
zeromq-4.1.4/src/tipc_listener.cpp
zeromq-4.1.4/src/v2_decoder.hpp
zeromq-4.1.4/src/mutex.hpp
zeromq-4.1.4/src/v1_decoder.hpp
zeromq-4.1.4/src/select.cpp
zeromq-4.1.4/src/fq.hpp
zeromq-4.1.4/src/tcp_address.hpp
zeromq-4.1.4/src/sub.hpp
zeromq-4.1.4/src/ip.cpp
zeromq-4.1.4/src/pgm_socket.cpp
zeromq-4.1.4/src/epoll.hpp
zeromq-4.1.4/src/windows.hpp
zeromq-4.1.4/src/curve_client.hpp
zeromq-4.1.4/src/ipc_connecter.cpp
zeromq-4.1.4/src/rep.cpp
zeromq-4.1.4/src/tipc_listener.hpp
zeromq-4.1.4/src/gssapi_mechanism_base.hpp
zeromq-4.1.4/src/proxy.hpp
zeromq-4.1.4/src/xsub.cpp
zeromq-4.1.4/src/clock.hpp
zeromq-4.1.4/src/plain_server.hpp
zeromq-4.1.4/src/poller_base.cpp
zeromq-4.1.4/src/mtrie.cpp
zeromq-4.1.4/src/gssapi_client.hpp
zeromq-4.1.4/src/stream_engine.cpp
zeromq-4.1.4/src/tipc_address.cpp
zeromq-4.1.4/src/wire.hpp
zeromq-4.1.4/src/socks.hpp
zeromq-4.1.4/src/tcp_connecter.cpp
zeromq-4.1.4/src/dealer.hpp
zeromq-4.1.4/src/poll.cpp
zeromq-4.1.4/src/own.cpp
zeromq-4.1.4/src/push.cpp
zeromq-4.1.4/src/io_object.cpp
zeromq-4.1.4/src/mailbox.cpp
zeromq-4.1.4/src/tcp_connecter.hpp
zeromq-4.1.4/src/stream.hpp
zeromq-4.1.4/src/ipc_address.cpp
zeromq-4.1.4/src/xpub.hpp
zeromq-4.1.4/src/v2_decoder.cpp
zeromq-4.1.4/src/config.hpp
zeromq-4.1.4/src/i_engine.hpp
zeromq-4.1.4/src/reaper.hpp
zeromq-4.1.4/src/ypipe_base.hpp
zeromq-4.1.4/src/dist.hpp
zeromq-4.1.4/src/random.hpp
zeromq-4.1.4/src/ypipe_conflate.hpp
zeromq-4.1.4/src/zmq.cpp
zeromq-4.1.4/src/pair.cpp
zeromq-4.1.4/src/random.cpp
zeromq-4.1.4/src/precompiled.cpp
zeromq-4.1.4/src/req.hpp
zeromq-4.1.4/src/ip.hpp
zeromq-4.1.4/src/io_object.hpp
zeromq-4.1.4/src/mechanism.cpp
zeromq-4.1.4/src/v2_encoder.cpp
zeromq-4.1.4/src/proxy.cpp
zeromq-4.1.4/src/socks.cpp
zeromq-4.1.4/src/own.hpp
zeromq-4.1.4/src/ctx.hpp
zeromq-4.1.4/src/dbuffer.hpp
zeromq-4.1.4/src/i_decoder.hpp
zeromq-4.1.4/src/clock.cpp
zeromq-4.1.4/src/raw_decoder.cpp
zeromq-4.1.4/src/sub.cpp
zeromq-4.1.4/src/raw_decoder.hpp
zeromq-4.1.4/src/likely.hpp
zeromq-4.1.4/src/pub.cpp
zeromq-4.1.4/src/signaler.hpp
zeromq-4.1.4/src/encoder.hpp
zeromq-4.1.4/src/gssapi_server.hpp
zeromq-4.1.4/src/pgm_sender.hpp
zeromq-4.1.4/src/decoder.hpp
zeromq-4.1.4/src/gssapi_server.cpp
zeromq-4.1.4/src/tipc_connecter.hpp
zeromq-4.1.4/src/pull.hpp
zeromq-4.1.4/src/ipc_listener.cpp
zeromq-4.1.4/src/plain_client.hpp
zeromq-4.1.4/src/ipc_connecter.hpp
zeromq-4.1.4/configure
zeromq-4.1.4/acinclude.m4
zeromq-4.1.4/perf/
zeromq-4.1.4/perf/inproc_thr.cpp
zeromq-4.1.4/perf/remote_lat.cpp
zeromq-4.1.4/perf/inproc_lat.cpp
zeromq-4.1.4/perf/local_lat.cpp
zeromq-4.1.4/perf/local_thr.cpp
zeromq-4.1.4/perf/remote_thr.cpp
zeromq-4.1.4/NEWS
zeromq-4.1.4/MAINTAINERS
zeromq-4.1.4/CMakeLists.txt
zeromq-4.1.4/tests/
zeromq-4.1.4/tests/test_connect_rid.cpp
zeromq-4.1.4/tests/test_capabilities.cpp
zeromq-4.1.4/tests/test_stream_disconnect.cpp
zeromq-4.1.4/tests/test_unbind_wildcard.cpp
zeromq-4.1.4/tests/test_spec_dealer.cpp
zeromq-4.1.4/tests/test_reqrep_inproc.cpp
zeromq-4.1.4/tests/test_shutdown_stress.cpp
zeromq-4.1.4/tests/test_reqrep_tcp.cpp
zeromq-4.1.4/tests/test_last_endpoint.cpp
zeromq-4.1.4/tests/test_reqrep_device_tipc.cpp
zeromq-4.1.4/tests/test_proxy_terminate.cpp
zeromq-4.1.4/tests/test_router_mandatory_hwm.cpp
zeromq-4.1.4/tests/test_iov.cpp
zeromq-4.1.4/tests/test_term_endpoint_tipc.cpp
zeromq-4.1.4/tests/test_security_curve.cpp
zeromq-4.1.4/tests/test_invalid_rep.cpp
zeromq-4.1.4/tests/test_pair_tipc.cpp
zeromq-4.1.4/tests/test_router_mandatory.cpp
zeromq-4.1.4/tests/test_ctx_destroy.cpp
zeromq-4.1.4/tests/test_req_correlate.cpp
zeromq-4.1.4/tests/test_abstract_ipc.cpp
zeromq-4.1.4/tests/test_fork.cpp
zeromq-4.1.4/tests/test_spec_rep.cpp
zeromq-4.1.4/tests/test_pair_ipc.cpp
zeromq-4.1.4/tests/test_ctx_options.cpp
zeromq-4.1.4/tests/test_stream_timeout.cpp
zeromq-4.1.4/tests/test_pair_inproc.cpp
zeromq-4.1.4/tests/test_probe_router.cpp
zeromq-4.1.4/tests/test_security_null.cpp
zeromq-4.1.4/tests/test_router_handover.cpp
zeromq-4.1.4/tests/test_spec_router.cpp
zeromq-4.1.4/tests/test_system.cpp
zeromq-4.1.4/tests/test_proxy_single_socket.cpp
zeromq-4.1.4/tests/testutil.hpp
zeromq-4.1.4/tests/test_bind_src_address.cpp
zeromq-4.1.4/tests/test_reqrep_ipc.cpp
zeromq-4.1.4/tests/test_getsockopt_memset.cpp
zeromq-4.1.4/tests/test_monitor.cpp
zeromq-4.1.4/tests/test_filter_ipc.cpp
zeromq-4.1.4/tests/test_stream.cpp
zeromq-4.1.4/tests/test_metadata.cpp
zeromq-4.1.4/tests/test_term_endpoint.cpp
zeromq-4.1.4/tests/test_reqrep_tipc.cpp
zeromq-4.1.4/tests/test_stream_empty.cpp
zeromq-4.1.4/tests/test_conflate.cpp
zeromq-4.1.4/tests/test_inproc_connect.cpp
zeromq-4.1.4/tests/test_sub_forward.cpp
zeromq-4.1.4/tests/test_xpub_nodrop.cpp
zeromq-4.1.4/tests/test_srcfd.cpp
zeromq-4.1.4/tests/test_proxy.cpp
zeromq-4.1.4/tests/test_immediate.cpp
zeromq-4.1.4/tests/test_hwm_pubsub.cpp
zeromq-4.1.4/tests/test_pair_tcp.cpp
zeromq-4.1.4/tests/test_reqrep_device.cpp
zeromq-4.1.4/tests/test_req_relaxed.cpp
zeromq-4.1.4/tests/test_spec_pushpull.cpp
zeromq-4.1.4/tests/test_msg_flags.cpp
zeromq-4.1.4/tests/test_unbind_inproc.cpp
zeromq-4.1.4/tests/test_connect_resolve.cpp
zeromq-4.1.4/tests/test_many_sockets.cpp
zeromq-4.1.4/tests/test_hwm.cpp
zeromq-4.1.4/tests/test_issue_566.cpp
zeromq-4.1.4/tests/test_connect_delay_tipc.cpp
zeromq-4.1.4/tests/test_diffserv.cpp
zeromq-4.1.4/tests/test_spec_req.cpp
zeromq-4.1.4/tests/test_ipc_wildcard.cpp
zeromq-4.1.4/tests/test_router_mandatory_tipc.cpp
zeromq-4.1.4/tests/test_disconnect_inproc.cpp
zeromq-4.1.4/tests/test_security_plain.cpp
zeromq-4.1.4/tests/test_sub_forward_tipc.cpp
zeromq-4.1.4/tests/test_timeo.cpp
zeromq-4.1.4/tests/test_shutdown_stress_tipc.cpp
zeromq-4.1.4/aclocal.m4
zeromq-4.1.4/configure.ac
zeromq-4.1.4/include/
zeromq-4.1.4/include/zmq.h
zeromq-4.1.4/include/zmq_utils.h
zeromq-4.1.4/Makefile.am
cd zeromq-4.1.4
./configure --without-libsodium # <-- this is the  key. sodium can be difficult to get working on CL and it's NOT NEEDED here
make
Making all in doc

  CXX      src/libzmq_la-address.lo
  CXX      src/libzmq_la-clock.lo
  CXX      src/libzmq_la-ctx.lo
sudo make install
cd ..
rm zeromq-4.1.4.tar.gz
ls -l
total 4
drwxrwxr-x 11 1001 1001 4096 Mar  4 01:45 zeromq-4.1.4
mkdir ~/gcc-projects && cd ~/gcc-projects
git clone git://github.com/mkoppanen/php-zmq.git
Cloning into 'php-zmq'...
remote: Enumerating objects: 2398, done.e[K
remote: Total 2398 (delta 0), reused 0 (delta 0), pack-reused 2398e[K
Receiving objects: 100% (2398/2398), 753.86 KiB | 4.96 MiB/s, done.
Resolving deltas: 100% (1507/1507), done.
cd php-zmq
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
pkg-config libzmq --libs

-L/usr/local/lib -lzmq

phpize && ./configure
make
sudo make install
su root
mkdir /etc/php.d
echo "extension=zmq.so" > /etc/php.d/zmq.ini
echo  "<?php var_dump(class_exists('ZMQContext'));" > file.php
exit # exit root shell
php file.php
bool(true)
wget https://litipk.github.io/Jupyter-PHP-Installer/dist/jupyter-php-installer.phar
--2020-03-04 02:10:41--  https://litipk.github.io/Jupyter-PHP-Installer/dist/jupyter-php-installer.phar
Resolving litipk.github.io (litipk.github.io)... 185.199.110.153, 185.199.108.153, 185.199.109.153, ...
Connecting to litipk.github.io (litipk.github.io)|185.199.110.153|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 180135 (176K) [application/octet-stream]
Saving to: ‘jupyter-php-installer.phar’

jupyter-php-install 100%[===================>] 175.91K  --.-KB/s    in 0.05s   

2020-03-04 02:10:41 (3.42 MB/s) - ‘jupyter-php-installer.phar’ saved [180135/180135]

Before this next step, first install composer if you haven’t already

php ./jupyter-php-installer.phar install
e[32mThe Jupyter-PHP kernel has been successfully installed.e[39m
1 Like

Would it be worth shipping php-zmq in the php-extras bundle? That would save a bunch of steps here.

1 Like

That would indeed be very helpful! And save a lot of steps. It is a pretty convenient install in several other distros. (I still prefer CL!).

Done. I didn’t add 1.1.3 since it was ancient. Instead, I’m using the latest upstream tree which hopefully all works fine. We already had libzmq, so, this wasn’t too complex.

Should be in a release in 1-2 days or so, in the php-extras bundle.

2 Likes

Very nice. Thank you!