1

I want to have two versions of Gmsh: 2.10.1 (http://gmsh.info/bin/Linux/gmsh-2.10.1-Linux64.tgz) and 3.0.6 (the latest) on my Ubuntu 16.04 LTS machine. Both of which I seem to have installed successfully. However, I observed something weird: apt-cache policy gmsh gives this:

  gmsh:
    Installed: 2.10.1+dfsg1-1ubuntu4
    Candidate: 2.10.1+dfsg1-1ubuntu4
    Version table:
   *** **2.10.1+dfsg1-1ubuntu4** 500
          500 http://gb.archive.ubuntu.com/ubuntu xenial/universe amd64 Packages
          100 /var/lib/dpkg/status

While gmsh -version gives

3.0.6

What does it mean? Is this also related to another observation that the Ubuntu Software listed only 2.10.1 version before I installed 3.0.6 and after installation of 3.0.6 it doesn't list anything for gmsh.

Running gmsh starts the 3.0.6 version. I don't know how to start the other.

Assuming I've both the versions, I believe I'll have to do something like source the correct files from .bashrc with some aliases? I'm not sure how. Can someone help? What's going on and how can I use both versions as per need?

83ingD33p
  • 83
  • 1
  • 10
  • Locally compiled executables (with `sudo make install`) are usually placed in `/usr/local/bin`. Do you have Gmsh here - please add output of `ls -al /usr/local/bin/gmsh` to the question. – N0rbert Jul 02 '18 at 16:50
  • I get this: '-rwxr-xr-x 1 root root 198622472 Jun 12 16:15 /usr/local/bin/gmsh' Also, 'dpkg -L gmsh-2.10.1+dfsg1-1ubuntu4' gives: 'dpkg-query: package 'gmsh-2.10.1+dfsg1-1ubuntu4' is not installed' – 83ingD33p Jul 02 '18 at 17:09
  • I did not ask for `dpkg -L gmsh`. Please add output of `ls -al /usr/local/bin/gmsh` to the question. And `/usr/local/bin/gmsh -version` or `/usr/local/bin/gmsh --version` (do not remember real syntax). – N0rbert Jul 02 '18 at 17:09
  • Hi, I did add the output.This was my first comment so made a typo. Anyway. Again.. `-rwxr-xr-x 1 root root 198622472 Jun 12 16:15 /usr/local/bin/gmsh`. The version command gives `3.0.6`. – 83ingD33p Jul 02 '18 at 17:14

1 Answers1

0

It seems that you have two versions:

  • locally compiled and installed 3.0.6, located in /usr/local/bin/gmsh
  • version 2.10.1 installed from official ubuntu package, located in /usr/bin/gmsh

So you can call them with full execution path or set aliases in ~/.bashrc:

alias gmsh2='/usr/bin/gmsh'
alias gmsh3='/usr/local/bin/gmsh'
N0rbert
  • 97,162
  • 34
  • 239
  • 423
  • This worked! Thank you very much. However, why aren't both versions listed when I check for any gmsh related applications? If I specifically check: `dpkg -L gmsh-2.10.1+dfsg1-1ubuntu4` it says not installed. Why? – 83ingD33p Jul 03 '18 at 20:31
  • Great! But `dpkg -L gmsh-2.10.1+dfsg1-1ubuntu4` command has wrong syntax. It should be `dpkg -L gmsh` (without version). You can list available versions with other commands - `apt-cache policy gmsh`. You can consult [`dpkg` man-page](http://manpages.ubuntu.com/manpages/xenial/en/man1/dpkg.1.html) and [`apt-cache` man-page](http://manpages.ubuntu.com/manpages/xenial/en/man8/apt-cache.8.html) for details. – N0rbert Jul 03 '18 at 20:35
  • Well, about `policy gmsh` I've mentioned in the question description. It shows only pre-compiled version and `dpkg -L gmsh` too doesn't list anything in `/usr/local/bin/gmsh` (the 3.0.6 version). – 83ingD33p Jul 03 '18 at 21:05
  • Please remember, that things in `/usr/local/` do not use APT/dpkg-database. APT knows nothing about them. They are placed here by user of by script. See [this answer](https://askubuntu.com/a/34922/66509) for details. – N0rbert Jul 03 '18 at 21:10