============================================= Seismic Studio Linux v1.3.3 Copyright 2007 Renegade Geophysics ============================================= Help & Support Please visit our website at http://www.rengeo.com for support on software usage, documentation, videos, and downloads. Please contact emorgan@fusiongeo.com for linux support issues, bug reports (general or linux specific), and feature requests. Installation All that is required for install of Seismic Studio is that it be extracted. Chances are, if you're reading this, it's already extracted. However, you can extract with the following command (assuming your tar program is somewhat recent): tar xvfz SeismicStudioLinux1_3_3_x86_platform_full.tar.gz where "platform" is either "32" or "64" depending on which architecture you are running. You may install into the /usr prefix, but you may need your system administrator to do this for you. If your tar version is very old, you may not be able to use the "z" switch, which runs it through gunzip automatically, so you'll have to gunzip it first before running it through tar. Configuration Seismic Studio relies on 2 environment variables in order to run. $SS_PREFIX and $MONO_PREFIX $SS_PREFIX This is where your Seismic Studio is installed. This is the root directory where you can find the version specific directory. The contents of this directory should look like: [rengeo@localhost SeismicStudioLinux]$ pwd /home/rengeo/RenegadeGeophysics/SeismicStudioLinux [rengeo@localhost SeismicStudioLinux]$ ls -lah total 72K drwxrwxr-x 7 rengeo rengeo 4.0K May 30 14:36 . drwxrwxr-x 4 rengeo rengeo 4.0K May 30 14:38 .. drwxr-xr-x 2 rengeo rengeo 4.0K May 30 14:34 bin drwxr-xr-x 2 rengeo rengeo 4.0K Apr 6 09:49 lib drwxrwxr-x 8 rengeo rengeo 4.0K May 22 12:14 mono -rwxr-xr-x 1 rengeo rengeo 11K May 31 12:33 README drwxr-xr-x 2 rengeo rengeo 4.0K May 14 13:58 rst drwxr-xr-x 2 rengeo rengeo 4.0K May 30 14:34 SeismicStudio1.3.0 [rengeo@localhost SeismicStudioLinux]$ $MONO_PREFIX This is where your version of the Mono runtime is located. Typically, Seismic Studio should use the provided version of mono. However, you may choose to use a separate version by specifying this environment variable. Please note that if you're using a version other than what is provided, unexpected bugs may occur. By default, if $MONO_PREFIX is not set, Seismic Studio will use the version installed in $SS_PREFIX/mono You may edit your profile to load these environment variables automatically, or you can run the provided setup script at the beginning of each terminal session. It is highly recommended to alter your profile to include these paths. Using a sh-based shell (bash), you can add the following lines to the end of your ~/.bashrc file: export SS_PREFIX=/path/to/SeismicStudioLinux export MONO_PREFIX=$SS_PREFIX/mono No-Script Configuration If for some reason you do not want to run Seismic Studio using the provided shell script under your SeismicStudioLinux/bin/ directory, you will need to set up 5 more variables. All of these variables are based on SS_PREFIX and MONO_PREFIX so you can basically just copy/paste the below into your login script. All of these variables should be set up as listed below, or you risk a broken installation. export MONO_CFG_DIR="$MONO_PREFIX/etc" export MONO_GAC_PREFIX="$MONO_PREFIX" export MONO_PATH="$MONO_PATH:$MONO_PREFIX/lib" export PKG_CONFIG_PATH="$MONO_PREFIX/lib/pkgconfig:$PKG_CONFIG_PATH" export LD_LIBRARY_PATH="$SS_PREFIX/lib:$MONO_PREFIX/lib:$LD_LIBRARY_PATH" Our shell script is very simple. The first part just tries to verify your installation looks OK. The next part allows you two command line options. -x to specify running under a parallel version of Seismic Studio. -v to print version info. "./seismicstudio.seismicstudio -x 1.3.0" will run Seismic Studio as installed in /SeismicStudioLinux/SeismicStudio1.3.0/. If this is the current version, this is equivalent to running the script with no arguments. You may install more than one Seismic Studio version using the _update.tar.gz file. This will put the Seismic Studio assemblies in it's own versioned directory under your SeismicStudioLinux/ directory. Thus, if you update your Seismic Studio and keep parallel installations, you can easily run an older version. The mono framework is kept the same on all parallel versions, so only these directories really change. The next part exports the afore mentioned environment variables. Finally, it prints out our Seismic Studio banner and starts up the Mono framework using Seismic Studio as the assembly. $MONO_CFG_DIR This is the directory where mono looks for most of it's configuration files. The most important one is /etc/mono/config which is a map to external DLL files (a dll map). This allows mono to see if a dll file is needed by the runtime and can look up the linux equivalent library. $MONO_GAC_PREFIX Location where the Global Assembly Cache (GAC) is located. Mono uses this to imitate the GAC in windows. It's just a directory that houses many of the common libraries needed by the csharp (mono) runtime. $MONO_PATH A path to the /lib/ directory that houses mono-specific libraries. Mono looks here first for external components such as IKVM, Posix Helper and gdiplus. $PKG_CONFIG_PATH Where mono's pkgconfig files (.pc) are located. This is used by compilers and other programs trying to verify that a package is actually installed. $LD_LIBRARY_PATH This is where any application looks for libraries to be installed, if it can't find them in the executing directory or in your ldconfig cache. If you are getting errors with "dll not found exception", it's most likely that either this variable is not pointing to the correct directory, or the libraries are not installed in a directory pointed to by this variable. Alternatively, you could add the directory paths to your /etc/ld.so.conf.d/ directory in it's own .conf file and rebuild your cache by running ldconfig. However, this is not preferred, because the libraries used by mono and Seismic Studio are not meant to be shared system-wide. Additional Configuration There are several other environment variables you can set up. They are used mainly for the mono runtime in order to print out verbose debugging information, or to change the theme. $MONO_THEME=[win32|nice|clearlooks] This will change the way that windows and buttons are drawn. By default, mono uses win32. Clearlooks and nice gives the application more of a native feel, but some controls may not operate properly. $MONO_LOG_LEVEL=[error|critical|warning|message|info|debug] This will print out LOTS of debugging information. It will slow the app a fair amount, but is useful in troubleshooting issues with the mono runtime. Setting this to "critical" will display all messages that are "error" and "critical", while setting it to "debug" will display all messages. Compatibility Seismic Studio Linux is a direct port of the windows version of Seismic Studio. All algorithms and displays are the same and are intended to function the same as on Windows XP. The source code is the same, but some of the underlying structure has been branched in order to maintain platform specific methods. Some features have been disabled in the linux version, due to the libraries we use to provide that functionality using Win32 API calls. These libraries are also 3rd party, meaning we have no control over the source code and cannot port these "black box" libraries to a linux platform. Branched Sections: 1.) Trace Table column file is not using Mutex locks on linux. These mutexes were causing deadlocks with the way a standard linux filesystem works. Losing mutexes in this section is not significant, because the only data races that can happen are during operations on the trace table. These are either a batch process in it's own thread that does not recieve input from the parent thread, or are operations done in the main thread which won't produce a data race anyway. 2.) Licensing is restricted to Sentinel. The way the program checks for a valid license bypasses all hasp-related checks under linux. Additionally, we have added a new, easier to follow license setup dialog. Currently, this dialog only runs under linux, but hopefully I can get permission to put it in the Windows version as well, since I wrote it myself and it is very much cooler than the old crappy one Andy wrote. ... :) 3.) Settings file locations are a bit different under linux. This was done to conform to the fact that users like to install linux software somewhere under the /usr prefix, which doesn't have write permissions to a normal user. So, all settings and temp files are written to $HOME/RenegadeGeophysics/ApplicationSettings/SeismicStudio/ This is a change we would also like to put in the windows version to help clean out the application directory, since currently, everything is just written to the same place as the executable. To reset all settings under linux, all you need to do is delete the directory "Seismic Studio" in the location above. Much easier. Disabled Features: 1.) Screen Capture dialog does not work. However, the screen image is still copied to the clipboard. It is using a P/Invoke into gdi32.dll to access the BitBlt function to copy image data directly to a graphics handle from another handle. 2.) In the picker window, there's an option to play a sound whenever certain criteria are met after navigating to a gather. This sound is played using a system call into kernel32.dll, which is not portable to linux. We are looking into a portable solution that will play a sound, but it's honestly lower priority. Maybe playing an mp3 file, so you can hear a clip from "highway to the danger zone"... or something. 3.) Handbuilt Geometry spreadsheet. We are using the old spreadsheet utility for building handbuilt geometry. When we wrote these utilities, they were built on top of another 3rd party interface that uses many platform specific calls. Porting of this is scheduled as "TBA", since we would have to find a component using pure .NET, and then we would basically have to rewrite the whole thing. We are aware of this issue and apologize for any inconvenience it causes.