Erlang install on Freebsd 10 on Amazon ec2 - erlang

I'm trying to install erlang on amazon ec2 - on freebsd 10:
fetch http://www.erlang.org/download/otp_src_17.0.tar.gz
gunzip -c otp_src_17.0.tar.gz | tar xf -
cd otp_src_17.0
./configure --disable-hipe
gmake
gmake install
and I get the following error:
configure: error: Perl is required to generate v2 to v1 mib converter script
configure: error: /bin/sh '/usr/home/ec2-user/otp_src_17.0/lib/snmp/./configure' failed for snmp/.
configure: error: /bin/sh '/usr/home/ec2-user/otp_src_17.0/lib/configure' failed for lib
How do I avoid this error and install erlang on freebsd 10?

Use either packages ("pkg install erlang"), or ports (cd /usr/ports/lang/erlang && make install). Software often requires patches to make it run correctly, and ports/packages take care of that. They also automatically take care of dependencies, and that seems to be the root cause of your problem: you don't have perl installed.

So, I think you can install package
I have FreeBSD storage 10.1-RELEASE-p16 FreeBSD 10.1-RELEASE-p16 #0
And simple way is pkg install erlang

There's kerl which is an excellent project for building and maintaining all Erlang/OTP versions

Related

Error: yq#3 has been disabled because it is not maintained upstream! How to install a disabled brew Formulae?

I'm trying to install yq#3 on my Mac running brew install yq#3 and I get the error:
Error: yq#3 has been disabled because it is not maintained upstream!
I see that it's there on their website at https://formulae.brew.sh/formula/yq#3#default but it doesn't seem to be supported anymore.
I still need to install it since our projects at work are using this specific version.
The only way that I'm thinking about is downloading the source code, building it myself, and adding it to the path but I'm thinking that there might be a simpler solution.
Any suggestion?
Thanks!
From yq github, you can install a binary by running:
wget https://github.com/mikefarah/yq/releases/download/3.4.1/yq_darwin_amd64 -O /usr/local/bin/yq &&\
chmod +x /usr/local/bin/yq
3.4.1 is the latest 3 version, darwin_amd64 is the Mac package (don't worry about having an Intel machine and installing the package that says AMD, the name comes from something about AMD invented the 64-bit instruction set).

How to install the latest Docker .deb package?

On our production Ubuntu servers we are not allowed to make changes to the apt sources lists.
So, using the script located at https://get.docker.com/ubuntu/ is unfortunately not an option for me. Instead I need to download the docker .deb package for ubuntu and install it manually using dpkg.
However the docker installation documentation here: https://docs.docker.com/installation/ubuntulinux/#installing-docker-on-ubuntu does not detail how to get the deb package directly. Any ideas?
I ended up installing docker like so using direct deb package downloads:
#!/bin/bash
docker_version=1.6.2
get_docker=https://get.docker.io/ubuntu/pool/main/l
for package in lxc-docker lxc-docker-$docker_version; do
deb=${package}_${docker_version}_amd64.deb
curl -s $get_docker/$package/$deb -o $deb
done
sudo dpkg -i lxc-docker_${docker_version}_amd64.deb lxc-docker-${docker_version}_${docker_version}_amd64.deb
(Thanks to #eldos for pointing me in the right direction)
Latest docker packages (post 1.9) are now avaiable at https://apt.dockerproject.org/repo/pool/main/d/docker-engine/
You can download the one that suits your OS & architecture from here and install with 'sudo dpkg -i < package_name >'

Unsupported HDF5 version

Trying to install Pytables, and I've installed almost all dependencies:
However, when I'm trying to install pytables:
* Found numpy 1.7.0b1 package installed.
* Found numexpr 2.0.1 package installed.
* Found Cython 0.16 package installed.
* Found HDF5 headers at ``/home/xug/pytables/hdf5/include``, library at ``/home/xug/pytables/hdf5/lib``.
.. ERROR:: Unsupported HDF5 version!
What does "unsupported HDF5 version" mean?
Although the author of the question has answered it in the comment, I think it is appropriate to have the (perhaps a bit more verbose) answer here too.
As mentioned, the problem is caused by a wrong (or lacking) systemwide version of HDF5 libraries. In my case, I solved it by compiling a newer version and installing it locally:
$ wget http://www.hdfgroup.org/ftp/HDF5/current/src/hdf5-1.8.11.tar.bz2
$ tar xjvf hdf5-1.8.11.tar.bz2
$ cd hdf5-1.8.11
$ configure --prefix=~/localroot
$ make -j 8
$ make install
It is then necessary to specify the path to this local installation before compiling package:
$ export HDF5_DIR=~/localroot
$ pip install tables
Finally, ~/localroot/lib must be in LD_LIBRARY_PATH for PyTables to work, so I added the line
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:~/localroot/lib
to ~/.bashrc

Javac not installed with openjdk-6-jdk

I have been trying some different java compilers over the weekend and decided to stick with javac this morning. I then proceeded to clean up the mess that was caused by my testing and removed every last trace of java and did a fresh 'apt-get install openjdk-6-jdk' after autoremove and autoclean.
The following weirdness was then encountered:
tarskin#5-PARA-11-0120:~$ javac
The program 'javac' can be found in the following packages:
* openjdk-6-jdk
* ecj
* gcj-4.4-jdk
* gcj-4.6-jdk
* gcj-4.5-jdk
* openjdk-7-jdk
Try: sudo apt-get install <selected package>
I had allready installed openjdk but i tried it anyhow yielding:
tarskin#5-PARA-11-0120:~$ sudo apt-get install openjdk-6-jdk
[sudo] password for tarskin:
Reading package lists... Done
Building dependency tree
Reading state information... Done
openjdk-6-jdk is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
tarskin#5-PARA-11-0120:~$
I know i must be doing something stupid but I have no idea what, if anyone else could give a pointer in the right direction that would be very much appreciated...
Cheers
EDIT: Found some other weird aspects about the 'new' instance of my java distro, it doesn't seem to recognise for example 'Pattern' or 'Matcher' that should be coming from the regex import shrugs.
TL;DR: install java-1.6.0-openjdk-devel
I had a similar issue on Fedora, but used rpm -q -l to list the contents of the (pre-installed) java-1.6.0-openjdk package, and discovered that it doesn't include javac. It is in fact only a JRE, not a JDK, as implied by the installation instructions on http://openjdk.java.net/install/ . To get javac, I installed java-1.6.0-openjdk-devel . Not exactly what I expected, because the usual packaging conventions would indicate that is the package for doing openjdk development (i.e., working on the JVM), not for developing programs with it.
Basically, openjdk's package naming doesn't follow either standard Java conventions (would require calling it a JRE somewhere), or standard Linux packaging conventions (using -devel indicates it is used for developing the package w/o -devel itself).
As per http://openjdk.java.net/install/, to install the OpenJDK-6 JRE only:
$ sudo apt-get install openjdk-6-jre
To install the full JDK:
$ sudo apt-get install openjdk-6-jdk
Check /etc/alternatives and /usr/bin. One or both will contain links to old Java versions which you had installed. When those links are broken, you can get the error message above.
To update the links after installing a new version of Java, try update-alternatives
First to check if javac is installed try to look for that file:
1. locate javac
2. or find / -name javac
And also you can check at this website with instrucions on how to install java on Ubuntu (i suppose you are on ubuntu):
http://openjdk.java.net/install/
You can also check:
http://packages.ubuntu.com/hardy/i386/openjdk-6-jdk/filelist for the files installed by the pacakge, and you can notice that javac should be installed.
Maybe you also need to run:
Open the terminal and run this command to install OpenJDK 7.0 on Ubuntu Oneiric:
sudo update-alternatives --config java

OpenSSL error building Erlang OTP from source

Trying to build a completely self-contained OTP that can be moved around independently of libs installed on a system.
Build OpenSSL 1.0.0d from source as follows:
./config --prefix=<open-ssl-dir>
make
make install
Then OTP R14B03:
./configure --prefix=<erlang-dir> --with-ssl=<open-ssl-dir> --without-termcap
Make of Erlang then fails as follows:
relocation R_X86_64_32 against `OPENSSL_ia32cap_P' can not be used when making a shared object; recompile with -fPIC
We're talking Ubuntu 10.04. Any help greatly appreciated - thanks!
The "can not be used when making a shared object; recompile with -fPIC" would mean SSL is not build with the Position Independent Code flag. This is needed for building it as a Dynamic Shared Object (DSO). This is probably needed by Erlang build process. Example build:
$ tar zxvf openssl-0.x.tar.gz
$ cd openssl-x
$ sh config shared -fPIC
$ make
$ sudo make install
For ppc64le:
./configure --prefix=/home/huaxin/huaxin/toolsInstalled/ --build=ppc64le CFLAGS="-D_GNU_SOURCE -DOPENSSL_NO_EC=1"
I suggest that you build on a VM where you have sudo permissions. Then build libraries like OpenSSL using --prefix=/usr so that make install puts them in the usual system library.
Then build your tool, in this case Erlang, using -rpath. Then use ldd to find all library dependencies for Erlang and any ports (C extensions) and copy those into Erlangs lib directory. Check all binaries and libraries with readelf -d to make sure that RPATH is set to $ORIGIN or $ORIGIN/../lib as needed. Use patchelf to fix these things if the linking process is not quite right (or you copied in secondary dependencies of system libraries).
Then use patchelf to set the interpreter for your binaries (not libraries) to point to ld-linux.so.2 in Erlang's lib directory. And then run a test suite using
strace -e open erl ... to make sure that your build is not opening anything in /lib or /usr/lib.
At this point tar it up and it will run on any Linux.
See this question Compiling Python 2.6.6 and need for external packages wxPython, setuptools, etc... in Ubuntu for far more detail on how I built Python in this fashion.

Resources