How to I install openmpi 3.1.6-1 in Cygwin? - cygwin

In Cygwin, I'm attempting to install openmpi 3.1.6-1. Unfortunately, I can only find newer versions of 4.1.0-1 and 4.0.5-1, not the one I'm seeking for. I went to the website https://www-lb.open-mpi.org/software/ompi/v3.1/ and discovered the openmpi 3.1.6-1 version.
Now, how do I go about installing it from this website? or is there a different option?

Openmpi 3.1.x is binary compatible with 4.x
https://sourceware.org/pipermail/cygwin-announce/2020-May/009518.html
https://sourceware.org/pipermail/cygwin-announce/2021-November/010320.html
Both have the same shared libraries
libopenmpi40
libopenmpifh40
libopenmpiusef08_40
libopenmpiusetkr40
Why do you think you absolutely need 3.1.6 ?

Related

In Linux Mint 17.2 (i.e. Ubuntu 14.04), how to make qt 5.4 as the default qt5 library version of programs?

I install the latest qt version from the official website http://www.qt.io/qt5-4/ successfully. I follow this tutorial http://sysads.co.uk/2014/05/install-qt-5-3-ubuntu-14-04 and install the qt 5.4 version. Besides, I have the Ubuntu repository version of qt 5.2.1 installed.
Now I want to make the default version of 5.4 due to a program can't work well in the old qt5 version. That is to say, when I start a program which need to use qt5 library the program will use the version 5.4 rather than the version qt 5.2. Though I have installed the version 5.4 and 5.2, the program still use qt 5.2 version.
I try to use qtchooser to choose the 5.4 version as the default option, however, the program installed in the system still use the qt 5.2 library.
I endeavor to modify the related files regarding qtchooser, nothing changes.
If the library version is not in some regular repository, I would strongly suggest not relying on the user to install it somehow from an "unofficial" install location. Or provide a package for the library version yourself to install alongside your application. But don't replace the system Qt version. That would be Bad®.
Instead, either compile your program with a specific rpath, or wrap your program in scripts that use something like LD_PRELOAD and/or LD_LIBRARY_PATH to load the library version you're shipping in your application package.
Both ways are clunky, and I would try to at least work around the Qt version bug if at all possible.
The latest Qt version (non-alpha) actually is Qt 5.5.
If you install it through the installer provided by Qt, you should change the default Qt version by editing/creating:
/etc/xdg/qtchooser/default.conf
which should contain first the bin directory, then the lib directory, for example:
/opt/Qt/5.5/gcc_64/bin
/opt/Qt/5.5/gcc_64/lib
At least this works for the qmake version. Otherwise you might need to change LD_LIBRARY_PATH as commented by rubenvb.

How to upgrade Qt installed in linux from one version to higher

While porting Qt project from windows to linux(ubuntu) i faced with the following issue:
on windows Qt version 4.8.1 is installed
on linux 4.6.3 in which some functionalities availiable in higer version 4.8.1 don`t yet implemented (ex. QUdpSocket::joinMultiCastGroup).
I see only one solution to this problem: upgrade Qt version on linux to 4.8.1.
How can I do this?
On linux I got installed libqt4-dev, qmake.
Solved: I changed repository from squeeze (stable) to wheezy(testing), in wheezy latest Qt version is 4.8.1, which is perfectly suits my needs.
Using package manager I found package libqt4-dev and selected it for update.
That is all, the whole process took 5 minutes.
Disadvantages:
- As I run Debian on Virtual Box after changing repository I had to reinstall guest additions
- wheezy is less stable than squeeze (I haven`t faced yet with stablilty problem)
I guess you can use Upgrade option in the Qt Creator.
Or you can download latest version from Download Qt, the cross-platform application framework
Or you could try to update using something like apt-get install(upgrade) libqt4-dev if you using Debian based system.
This depends on the distro you are using. If there are binary packages for your distro you can update through your package manager. Otherwise you have to download the source of your prefered Qt version and build it yourself.
I'm not sure if this will help in your situation, but you can download the Qt Online Installer at the following link:
https://www.qt.io/download-qt-installer

Ubuntu to install jdk1.6

I was trying to install jdk1.6 onto my Ubuntu 10.04.
However, It looks like jdk1.6 is no longer available in Ubuntu repository(at least, i havent found it yet).
In my case, I need to install jdk1.6 as my java version instead of openjdk.
Could anyone tell me if it still could be found in anywhere?
Thanks.
I suggest installing it manually. Use the following link and use update-alternatives. The instructions are for 1.7 but they work for 1.6. Just get it from sun's site.
https://askubuntu.com/questions/55848/how-do-i-install-oracle-java-jdk-7
You can download JDK from java.sun.com and install it yourself. The reason its not included because it needs you to accept their license agreement.
HTH.

mod_jk modules for apache on Linux

Why does Apache website lists only two OS for mod_jk binaries?
I am confused about which version to download to install on Linux2.6.9 OS. From their website all I understand is that I have to download source and compile to create binaries for my OS? Am I correct?
I looked up tutorials on the net and they all seem to reference some old binaries for linux versions. If Apache did provide pre-compiled mod_jk modules why did they discontinue them?
I would go for mod_proxy_ajp. It's supposed to be a newer replacement for mod_jk.
As fas as i know you should always download latest one from http://tomcat.apache.org/connectors-doc/ compile it in your local system.
Under Debian install it with apt-get:
apt-get install libapache2-mod-jk

What's the best way to build software that doesn't require the newest glibc?

I'm attempting to build a binary package that can be run on multiple Linux distributions. It's currently built on Ubuntu 10.04, but it fails on Ubuntu 8.04 with the following error:
./test: /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by ./test)
./test: /usr/lib/libstdc.so.6: version `GLIBC_2.11' not found (required by ./test)
What's the preferred way to solve this problem? Is there a way to install an old glibc on a new box and build against it, or do I have to build on an old distribution? And if I build against an old glibc, will it work on a new glibc?
Or, alternatively, are there just some handy compiler flags or packages I could install to solve the problem?
The best solution I've found is to install a virtual machine running Debian stable, and build on that. Debian stable is old enough that any packages built with it will run on any other Debian-based distribution like Ubuntu. You may have to work around non-critical bugs that have been fixed in later versions of various software but not backported to Debian stable.
If you really want to make sure it runs on every recent distribution, you might also consider statically linking against a libC you select. However you may then still run into problems if you use features that are only provided by newer kernels (newer system calls e.g.).

Resources