Seismic Studio Linux

[Home] [Getting Started] [FAQ] [Issues] [download] [README]


FAQ

1. General
1.1 When will Seismic Studio be released on Linux?
1.2 Will there be a beta?
1.3 Can I participate in the beta?

2. System Requirements
2.1 What are the system requirements?
2.2 What kind of video card do you recommend?
2.3 Which linux distribution should I use?
2.4 Will my current linux distribution work?
2.5 My distribution is 64 bit and there are no RPMs listed. What do I do?
2.6 What's all this stuff about video card drivers?

3. Mono
3.1 What is Mono?
3.2 How does it work?
3.3 Wait, I thought .NET was windows only.
3.4 Does this mean I can take existing windows apps and put them on my linux box with Mono?
3.5 What version do I need?

4. Installation
4.1 Does it matter if I install Seismic Studio or the Mono framework first?
4.2 I already have Mono installed from my distribution. What do I do?
4.3 How do I set it up so I can run a self contained (or different) version of Mono?
4.4 Why do I have to type Mono every time I want to run Seismic Studio?
4.5 Why can't I just put my windows version of Seismic Studio on linux and run it with Mono out of the box?
4.6 Help! I'm getting all sorts of perssmission errors when I run Seismic Studio!
4.7 Seriously, why can't mono be installed as root? Is it vital that it be installed in my local home directory?
4.8 My distribution doesn't have rpms for Mono listed on the website!
4.9 Why can't I run the general installer? It says something about not having permissions...
4.10 The linux installer for all x86 distributions crashes. What's wrong?
4.11 I'm having trouble compiling Mono from source. How can I get help?

5. Licensing
5.1 What licensing does Seismic Studio use?
5.2 We're using Windows and trying to migrate to Linux. We're using HASP. Will my current Seismic Studio License work?
5.3 We're using Windows and trying to migrate to Linux. We're using Sentinel. Will my current Seismic Studio License work?
5.4 Does my Sentinel License server have to be run on Linux? Can it be run on Linux?
5.5 If I run my License Server on Linux, can we still connect to it with a Windows version of Seismic Studio?
5.6 Can we run our Sentinel Key on the machine we're running Seismic Studio on, instead of connecting over a network?
5.7 The license server window keeps saying Logon Status: 304, SP_ERR_NO_LICENSE_AVAILABLE. The hard limit or user limit has been exhausted." What's wrong?
5.8 I still can't connect to my license server!

6. Configuration
6.1 How do I configure my version mono to run? I keep running the old version of mono instead.
6.2 What's this mono config file you speak of?
6.3 I'm getting an exception that says: System.DllNotFoundException: Unable to load the required SentinelKey Library(libSentinelKeys32.so). It's clearly in my Seismic Studio Directory. Huh?

7. Compatability
7.1 Can I bring in my projects created with the windows version of Seismic Studio?
7.2 What about any data that I have on my Windows Machine?
7.3 How about data exported by the windows version of Seismic Studio?
7.4 What features aren't available in the Linux version of Seismic Studio?
7.5 Wait, all that cool hand built geometry stuff won't be available on Linux?

8. Other
8.1 My question isn't on here. Where do I go to get it answered?


1. General


1.1 When will Seismic Studio be released on Linux?

UPDATE: Seismic Studio was released on Linux on May 25, 2007

Current estimated release date: May 21st, 2007.

1.2 Will there be a beta?

UPDATE: Beta has been officially released on January 11, 2007. Visit the linked downloads page to grab it! (some assembly required.... See the Getting Started page)

Yes. It is scheduled to be released the week of January 7, 2007

1.3 Can I participate in the beta?

Right now, only those with a valid network license will be able to beta test the linux version.

2. System Requirements


2.1 What are the system requirements?

We recommend a system with at least the following:
1GB of RAM
80GB hard drive space (the actual program only needs about 200mb, but SEGY data takes up a lot of room)
128mb Memory on the video card (nvidia is recommended)
Suse 10.1 or Red Hat for the Operating System
Mono 1.2.2 or later

If you're moving to Linux from the Windows version, the same specs from your Windows machines will be sufficient. The only thing that may be slower is the graphical drawing, since everything has to run through several layers before being rendered to the screen. Batch processes and long-running analyses should be about the same speed.

2.2 What kind of video card do you recommend?

We recommend the nvidia chipset, because it's easier to install the manufacturer's drivers. However, if you can install the driver, any video card should work fine. Just don't use the default MESA drivers most distributions come with.

2.3 Which linux distribution should I use?

Our testing and development started on SuSE 10.1 and has been migrated to Red Hat 4.3. These two distributions should work fine. Most branches of Red Hat (fedora and CentOS) should work as well.

Supported Distributions:
SuSE Linux 10.1 Red Hat Linux Enterprise 4.3+ Fedora Core 3, 4, 5 + Centos 4+

2.4 Will my current linux distribution work?

It probably will, but you may either need to use the linux installer for all distributions, or compile Mono from source. Before anything, however, please make sure you've resolved all dependencies on your system. Please see the Getting Started page for more info.

2.5 My distribution is 64 bit. What do I do?

UPDATE: Our licensing issue on 64bit has been solved. We now support 64bit distributions. It is available from our downloads section.

Our 64bit version is not ready yet due to licensing complications. Basically, our license vendor on linux doesn't have a 64bit version of the library we need, so we can't license the software on 64bit platforms yet.

There IS a workaround for this, but it requires internal licensing code that we're unsure about releasing. We would basically have to compile a version separate for every workstation. Until we can either get SafeNet to get us a shared 64bit library or we can approve the use of FlexLM for our licensing, 64bit versions are VERY restricted.

2.6 What's all this stuff about video card drivers?

Every video card needs a driver to access it's openGL API. Most linux distributions install default drivers called "MESA". These are much slower than a driver specific to your video card. System.Drawing, which is what our GUI uses to draw, is built on top of cairo, which uses openGL. If you are using the MESA drivers, the GUI of Seismic Studio will most likely be very slow and some things will take a long time to draw. We recommend you install drivers specific to your video card, whether they be the 3rd party drivers of your choice, or the manufacturer's drivers.

3. Mono


3.1 What is Mono?

Mono is an open source implementation of the .NET framework. Since it is open source, it is not exactly the same, but all the API calls are there, which allows a program written in .NET on windows to run on linux using the Mono framework instead of the .NET framework.

3.2 How does it work?

Mono just implements the API calls .NET needs to run. The program and assemblies reference the Mono framework libraries, which call the needed functions. Mono is meant to be a top layer with all the platform-specific calls being low level. It detects your platform, and calls the appropriate platform-specific functions. Mono runs on Windows, MacOSX, and Linux, however performance may differ between these platforms (especially MacOSX, since there's not much support for developing the platform-specific issues right now).

3.3 Wait, I thought .NET was windows only.

It is. Mono is not .NET, it's just a different implementation that happens to be open source, aimed to run on multiple platforms.

3.4 Does this mean I can take existing windows apps and put them on my linux box with Mono?

Yes and no. If your program is written in .NET, Mono can be used to run it on linux. However, the program must be 100% .NET, which means no components can use calls to a win32 API. Many programs written in .NET will have a library or two that's using a 3rd party software that has win32 calls. You can still P/Invoke (dllimport), but the imported library must be able to be run on linux, or at least have a linux equivalent that can be mapped do in your mono config file.

3.5 What version do I need?

Mono 1.3 or later. Earlier releases were still test versions of Mono, and version 1.2 was the first official supported release of Mono. If your distribution came with an earlier install of mono, it's highly recommended you make a parallel installation of mono in your home directory using either the Linux Installer for all distributions or by building it from source.

We recommend you use our bundled version of Mono. However, if your distribution needs it's own installation, we recommend you just use the latest version (1.4). There are a few regression bugs in 1.4, but they're just annoying instead of breaking. Our bundled version is based on an SVN repository 74920, from March 23, 2007. Any version earlier than 1.2, however, is not supported and you will need to upgrade.

Bad:
rengeo@linux-sg4w:~> /usr/bin/mono -V
Mono JIT compiler version 1.1.13.8, (C) 2002-2005 Novell, Inc and Contributors. www.mono-project.com
        TLS:           __thread
        GC:            Included Boehm (with typed GC)
        SIGSEGV      : normal
rengeo@linux-sg4w:~> 
Good:
rengeo@linux-sg4w:~> mono -V
Mono JIT compiler version 1.2, (C) 2002-2006 Novell, Inc and Contributors. www.mono-project.com
        TLS:           normal
        GC:            Included Boehm (with typed GC)
        SIGSEGV:       normal
        Disabled:      none
rengeo@linux-sg4w:~> which mono
/home/rengeo/mono-1.2/bin/mono
rengeo@linux-sg4w:~>

Special Note: There was an update to the source code after Mono 1.2.2, which fixed some issues regarding window scaling in relation to fonts. This made a very visible difference in the way fonts and text looked on all windows. If you're experiencing these problems, please update your Mono version. As of this writing, this font change has not been packaged and released by the Mono team, but is available from SVN or one of the daily tarball snapshots. When they release the next stable version (Mono 1.2.3 I think it will be), you can get it from there, so it is an option to just wait.

4. Installation


4.1 Does it matter if I install Seismic Studio or the Mono framework first?

Nope. Either one can be installed/reinstalled at any time in any order, but both installations need to be working properly.

4.2 I already have Mono installed from my distribution. What do I do?

If your distribution has Mono 1.2.2 or higher, then you don't need to install Mono. However, if you have an older version of Mono installed within your distribution, you can either update your distribution's version of Mono, or install a parallel version of Mono. If you're updating your installed version of Mono, please be careful! Failing on the installation may break several other programs installed that currently rely on Mono. It is highly recommended to install a parallel (different) version locally. You can set up your environment to use the new mono installation instead. Please see the included README file.

4.3 How do I set it up so I can run a self contained (or different) version of Mono?

Just install it as you would any other local program. I'd install it on your local directory (/home/username/). You may need to edit your.bashrc profile in order for it to recognize the other version of Mono. You may want to set up a different command, like "mono1.2" that specifies which Mono installation you are using.

4.4 Why do I have to type Mono every time I want to run Seismic Studio?

UPDATE: The underlying reason still exists - you have to pass Seismic Studio as an argument to mono. However, we have a shell script available to run this automatically with one command.

Because you're actually just running mono, but passing Seismic Studio as a command line argument to mono. The parent process is mono, but the assembly it's executing is Seismic Studio. You can set up a shell script to run mono with Seismic Studio automatically, so you can just run the shell script. We will be providing a shell script that uses environment variables to choose the Mono version and where your Seismic Studio is installed. You can make your own if you want, contact your System Administrator.

4.5 Why can't I just put my windows version of Seismic Studio on linux and run it with Mono out of the box?

Because Seismic Studio has many 3rd party components that use win32 API calls or P/Invokes into non-compatible libraries. We had to remove and change a lot of stuff that is windows specific to make it work on linux. Most likely, you'll end up with a LOT of errors, mostly regarding HASP and file path errors.

4.6 Help! I'm getting all sorts of perssmission errors when I run Seismic Studio!

If Seismic Studio was installed in a system-wide prefix where you do not have write permissions, you may get these errors. This was lessened in Seismic Studio 1.2.9, which separated the need for write permissions to your installation directory and instead uses a directory within your local $HOME directory. There are still some difficult-to-reproduce situations where velocity slices and field files are being written to the executing directory. In this case and if you are running Seismic Studio from a directory where you do not have write permissions, you may still encounter these errors.

4.7 Seriously, why can't mono be installed as root? Is it vital that it be installed in my local home directory?

It's not vital about where mono is installed. However, it is vital that you have write access to the installed mono directory structure. This is because certain config files need to be present in the mono directories themselves for them to be recognized. See section 6. Configuration

4.8 My distribution doesn't have rpms for Mono listed on the website!

Then you need to use either the linux installer for all distributions, or compile Mono from source.

4.9 Why can't I run the general installer? It says something about not having permissions...

Make sure you chmod the installer after you download it.
chmod u+x mono-1.2.2.1_1-installer.bin

4.10 The linux installer for all x86 distributions crashes. What's wrong?

The installer uses GTK for it's windowing. If it crashes, your GTK version may be out of date. Please either update GTK, or run the installer in xwindow mode.
./mono-1.2.2.1_1-installer.bin --mode xwindow

4.11 I'm having trouble compiling Mono from source. How can I get help?

There are a lot of resources you can find just using google. However, if you're really stuck and don't know what to do, you can either contact the mono list. We can provide limited support as well, so you can shoot us an email if things are going badly.

5. Licensing


5.1 What licensing does Seismic Studio use on Linux?

We are using exclusively Sentinel Licensing for the Linux version. This will support both local hardware keys, and acquiring a license over a network.

We have been considering using FlexLM, since Sentinel is not currently 64bit compatible. So for now, we cannot license our software on 64bit, preventing it's use on 64bit architectures.

5.2 We're using Windows and trying to migrate to Linux. We're using HASP. Will my current Seismic Studio License work?

Your license will still be valid, but you will need to change licensing systems to Sentinel. Please contact Andy or Sales for information about how to change to Sentinel Licensing. This will probably just involve us sending you a Sentinel hardware key, and you sending us your old Hasp hardware key when you recieve the Sentinel one.

5.3 We're using Windows and trying to migrate to Linux. We're using Sentinel. Will my current Seismic Studio License work?

Yes. You won't need to change anything with regards to your Sentinel License server.

5.4 Does my Sentinel License server have to be run on Linux? Can it be run on Linux?

No. Yes. Your license server can run on either a windows box OR a linux box. Either one will work, but the computer running Seismic Studio trying to get a license from the server must have access to your network.

5.5 If I run my License Server on Linux, can we still connect to it with a Windows version of Seismic Studio?

Yes. If your license server is being run on Linux, your windows version can still acquire a license from the Linux license server.

5.6 Can we run our Sentinel Key on the machine we're running Seismic Studio on, instead of connecting over a network?

Yes. Just plug your Sentinel Key into the machine you're using Seismic Studio on. When prompted for the license server host, enter "localhost", and it will connect to your local machine. Please note that you need the sentinel license server to be running on the local machine for this to work.

5.7 The license server window keeps saying Logon Status: 304, SP_ERR_NO_LICENSE_AVAILABLE. The hard limit or user limit has been exhausted." What's wrong?

UPDATE: This issue is supposedly fixed. However, it sometimes arises when first setting up Seismic Studio to point to your license server. The fix for this is basically to click the check out license button twice and it should work...

Make sure your environment is configured correctly for the version of Mono you are using. If you're running a version of Mono that you aren't specifying in the configuration, your sntlconfig.xml file is being placed in the wrong mono directory. This will cause this error every time, so basically make sure your sntlconfig.xml file is in the same directory as the mono executable you are using to run Seismic Studio.

As a side note, make sure Mono is installed in a location that you have write permission to. If it's installed as root, make sure you're running everything as root, or make sure Mono is installed in your local home directory. If you don't have write permissions to Mono's directory, the config file probably isn't able to be written there, thus Sentinel is using default settings, probably causing your errors.

5.8 I still can't connect to my license server!

If your server is behind a firewall, make sure port 7001 is open. Also make sure that your server has access to your network, and clients have access to the same network. If your server is using dhcp, and isn't using a static IP, make sure that you have the correct IP address of the server, as it can change after a reboot when the dhcp server (router) assigns a new address. You can find it by using the ifconfig command on the actual license server. Sometimes the $PATH environment variable doesn't recognize it (or you may need to run it as root), but it can usually be found in the /sbin/ directory.

rengeo@linux-sg4w:~> ifconfig
bash: ifconfig: command not found
rengeo@linux-sg4w:~> su
Password:
linux-sg4w:/home/rengeo # ifconfig
eth0      Link encap:Ethernet  HWaddr CENSORED!! :D
          inet addr:10.0.1.91  Bcast:10.0.1.255  Mask:255.255.255.0
          inet6 addr: ALSO CENSORED!! :D :D Scope:Link
          UP BROADCAST NOTRAILERS RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:11507 errors:0 dropped:0 overruns:0 frame:0
          TX packets:5062 errors:0 dropped:0 overruns:1 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:2352507 (2.2 Mb)  TX bytes:4415029 (4.2 Mb)
          Interrupt:209 Base address:0xc000

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:1563 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1563 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:89808 (87.7 Kb)  TX bytes:89808 (87.7 Kb)

linux-sg4w:/home/rengeo # ll /sbin/ |grep ifconfig
-rwxr-xr-x 1 root root     57028 2006-04-22 21:11 ifconfig
linux-sg4w:/home/rengeo #

My local IP address here is 10.0.1.91, and I put it in bold above (even tho it's kind of hard to see). Your ethernet device may be eth1 or eth0 or even eth2, depending on your hardware. Generally, only one of your ethernet devices will have an IP address assigned to it, unless you have multiple ethernet cords plugged in for whatever reason.

6. Configuration


6.1 How do I configure my version of mono to run? I keep running the old version of mono instead.

If you want to run a different version of mono than the one bundled, you just need to set your $MONO_PREFIX environment variable to point to the different version of Mono. The runner scripts will base mono components and configurations off of the new installation prefix. This should be the only thing you need to change.

6.2 What's this mono config file you speak of?

In your monodir/etc/mono directory, there is a file called "config". This file maps .dll files to the equivalent library on your platform. You should not need to edit this file at all to run our software using Mono. However, you may need to if you plan on using our version of Mono to run other .NET applications. 6.3 I'm getting an exception that says: System.DllNotFoundException: Unable to load the required SentinelKey Library(libSentinelKeys32.so). It's clearly in my Seismic Studio Directory. Huh?

Make sure that your monodir/etc/mono/config file has the dllmap entry for the libSentinelKeys32.so file. It's the last line before the configuration tag in the question above. Make sure there is a ./ at the beginning so it looks in the current directory.

You will also need to make sure that your LD_LIBRARY_PATH environment variable points to the directory where this is installed. If you followed the readme, this is basically located in your SeismicStudioLinux/lib/ directory. This should be taken care of if you're using our included shell script to run Seismic Studio. If not, this variable must be set up manually

7. Compatibility


7.1 Can I bring in my projects created with the windows version of Seismic Studio?

Yup. Absolutely. The only hitch is that locations of SEGY data may change, especially since Windows uses that weird c:, d:, h:, z: type of drive syntax. You can change these file paths easily by going to the Project menu and selecting the "Trace Data Files" menu item. Make sure that your SEGY is in your linux filesystem, and just click the "Change all file paths from new directory" button and navigate to the SEGY data associated with this project. File names must be intact.

7.2 What about any data that I have on my Windows Machine?

Data is fully cross platform, so just copy it to your linux file system and you'll be fine. If you're changing data paths, follow the instructions in the answer to the previous question.

7.3 How about data exported by the windows version of Seismic Studio?

It will remain intact, and will be fully compatible. The only possible complication could be end of line feeds in windows vs. linux, however Mono handles this.

7.4 What features aren't available in the Linux version of Seismic Studio?

Click here to see a list of known issues, recently implemented and features not available. Features not available is at the bottom, so scroll all the way down.

7.5 Wait, all that cool hand built geometry stuff won't be available on Linux?

Not right now. It uses a 3rd party spreadsheet component (farpoint spread). This has a LOT of P/Invoke and win32 specific API calls, which means that it won't run on Linux. We are going to translate it to use a cross-platform spreadsheet component, but no time estimate can be given at this time.

8. Other


8.1 My question isn't on here. Where do I go to get it answered?

Please submit the question in an email to Eric Morgan. We will respond as quickly as we can. Also, please indicate if we can use your question in this FAQ for others to benefit from. We will keep who asked it confidential, as well as edit it in order to protect personal references or other information suitable for a general viewing.





Page last updated 6/7/07 by Eric Morgan