Wednesday, March 4, 2009

Lotus Notes 8.5 on Fedora 10 x86_64

32-bit packages required for notes 8.5 to work on Fedora 10 x86_64. Notes will install fine without these but will not run.

libxkbfile-1.0.4-5.fc9.i386
libgnomecanvas-2.20.1.1-4.fc10.i386
libgnomeprint22-2.18.5-1.fc10.i386
libgnomeprintui22-2.18.3-1.fc10.i386
gnome-vfs2-2.24.0-3.fc10.i386
libgnome-2.24.1-9.fc10.i386
libgnomeui-2.24.0-2.fc10.i386
libXScrnSaver-1.1.3-1.fc10.i386
libcanberra-gtk2-0.10-3.fc10.i386
gtk-nodoka-engine-0.7.2-1.fc10.i386

Of course installing these also carries a lot of dependency baggage.

And a handy one liner:
sudo yum -y install libxkbfile-1.0.4-5.fc9.i386 libgnomecanvas-2.20.1.1-4.fc10.i386 libgnomeprint22-2.18.5-1.fc10.i386 libgnomeprintui22-2.18.3-1.fc10.i386 gnome-vfs2-2.24.0-3.fc10.i386 libgnome-2.24.1-9.fc10.i386 libgnomeui-2.24.0-2.fc10.i386 libXScrnSaver-1.1.3-1.fc10.i386 libcanberra-gtk2-0.10-3.fc10.i386

Wednesday, January 28, 2009

ardour vsti support

To enable vsti support in ardour you must compile it from source, this has to do with licensing of the steinberg vst sdk. Here are my basic instructions for doing this on Fedora 10, note that I have already installed the ccrma repository and kernel as well as many packages referenced in my earlier post.

cd ~/Download/ && wget http://releases.ardour.org/ardour-2.7.1.tar.bz2

bunzip2 ardour-2.7.1.tar.bz2 && tar xf ardour-2.7.1.tar && cd ardour-2.7.1

get vst2.3 zip from steinberg, put in ~/Download/ardour-2.7.1/libs/fst

yum install liblrdf-devel libgnomecanvas-devel aubio-devel fftw-devel libsxlt-devel gcc-c++ boost-devel

cd ~/Download/ardour-2.7.1/
scons VST=1
scons install

Friday, September 12, 2008

Installing IBM Tape System Reporter

On Sept. 8th I got an email from IBM notifying me that Tape System Reporter had been released, it is supposed to:
The IBM Tape System Reporter (TSR) application enables operators and administrators of the TS3500 Tape Library to monitor and report on storage devices in an enterprise environment
I have two TS3500 with 12 drives between them so this sounded pretty good, I thought I would install it and see what it can offer. I am a big fan of reporting since usually I can gain some ground with management to buy more stuff if I have pretty graphs in my hands!

Unfortunately I was in for a ride on this, I should have known when I read this:
It is not the intent of this documentation to explain how to download and use
Derby to establish a database that contains the authorizations for using the IBM
Tape System Reporter application.
Which means that I had to learn how to install a new application (apache Derby) with little help from IBM... I was able to accomplish this - though at the end I had not read the requirements well enough and found that I did NOT have ALMS licensed so even though I had the app installed correctly I couldn't get the data out of it... Either way here are the steps I went through to install this app.

You need Windows XP or 2000 for the install so I booted up a XP virtual machine using Virtual Box.

  1. Download and install the latest version of java from http://www.java.com, derby is a java database...
  2. Install Adobe Reader from http://www.adobe.com/products/acrobat/readstep2.html, the install docs are in PDF and copy/paste from my main OS to the virtual box doesnt always work...
  3. Download the latest version of derby from http://db.apache.org/derby/derby_downloads.html
  4. Extract derby, I chose to go with c:\derby_10\ like the doc shows, earlier I had tried putting it in c:\program files\derby\ but didn't have much luck - I started to wonder if the %PATH% variables where getting stuck on the spaces in the directory structure.
  5. Time to set some variables, you can set these on the command line for one time use or set them in the global profile, I chose the later:
    1. Right click on "My Computer", click on properties
    2. select the 'Advanced' tab, click on Environment variables
    3. on the lower half of the window that opens (System Variables) click 'New'
    4. Variable name = DERBY_HOME, Variable value = C:\Derby_10 (or the directory you expanded the derby zip into). Click OK
    5. Click on 'Path' in the System Variables section, choose 'Edit'
    6. To the end of the Variable value add the following: ;%DERBY_HOME%\bin
  6. Good time to validate those variables, open a command prompt (Start->Run->cmd) and type the following:
    1. echo %DERBY_HOME%
      • output should be the variable value you set in step 5, in my case c:\derby_10
    2. ij
      • this command is part of the derby package, output should look something like:
        version 10.4

        ij>
      • if that is working simply type 'quit;' to exit the ij shell, if you dont see the ij prompt your system variables are not set correctly!
  7. At this point the directions from IBM start to lose their usefulness, some of the files they mention don't exist, other required files are not mentioned... good thing they had that disclaimer at the beginning of the document!
  8. Navigate to %DERBY_HOME\bin and copy the derby_common, startNetworkServer and stopNetworkServer scripts to the main derby folder (one folder down). The instructions mention a derby.properties file, i believe this would only exist if you had previously used derby so if it doesn't exist you can create it in the next step
  9. create a new file and save it as derby.properties in %DERBY_HOME%, remember that if you create the file with notepad (as I did) that you must set the "Save as type:" to "All Files" or windows will magically append .txt to the filename.
  10. Add the following to your %DERBY_HOME%/derby.properties file, in this example I am using tsruser as the username and tsrpass as the password - adjust accordingly.
    derby.connection.require Authentication=true

    derby.authentication.provider=BUILTIN

    derby.user.tsruser=tsrpass

    derby.databasedefaultConnectionMode=fullAccess
  11. Now you need to edit the startNetworkServer script in %DERBY_HOME%, if you have your CLASSPATH setup for derby you can follow the IBM instructions, I did not so I had a much longer string to enter. Note that in my example I am setting the directory for the database to be created in as %DERBY_HOM%\tsrdb. Add the following to the end of the script (should be one long line):
    java -classpath %DERBY_HOME%\lib\derby.jar;%DERBY_HOME%\lib\derbynet.jar;%DERBY_HOME%\lib\derbyclient.jar;%DERBY_HOME%\lib\derbytools.jar;%DERBY_HOME%\lib\derbyrun.jar -Dderby.system.home=%DERBY_HOME%\tsrdb\ org.apache.derby.drda.NetworkServerControl start -h localhost -p 1527
  12. Add a vary similar line to %DERBY_HOME%\stopNetworkServer:
    java -classpath %DERBY_HOME%\lib\derby.jar;%DERBY_HOME%\lib\derbynet.jar;%DERBY_HOME%\lib\derbyclient.jar;%DERBY_HOME%\lib\derbytools.jar;%DERBY_HOME%\lib\derbyrun.jar -Dderby.system.home=%DERBY_HOME%\tsrdb\ org.apache.derby.drda.NetworkServerControl shutdown -h localhost -p 1527
  13. You can test the start and stop scripts at this point by double clicking on them, the start script should open a command window that accepts no input and the stop script should open a command window and then close both the start and stop windows. If everything is working correctly go to the next step, otherwise double check everything.
  14. Time to create the database - start the derby server by double clicking on %DERBY_HOME%\startNetworkServer, open a command window and get an ij prompt by typing 'ij'. Enter the following text to create the database - I am using tsrdb as the database name, tsruser as the username and tsrpass as the password
    connect 'jdbc:derby://localhost:1527/tsrdb;create=true;user=tsruser;pass=tsrpass';
  15. Check the %DERBY_HOME% directory, you should see a folder matching your database name (tsrdb in my examples). If you do then you should have the derby portion of the install complete!
  16. Install the DB2 Run-Time Client Lite that is mentioned as a prereq in the docs, you can find it at http://www-01.ibm.com/support/docview.wss?uid=ssg1S4000680. I took the defaults and did a 'Typical' install which worked fine.
  17. Download the TSR zip file, it can be found on the page mentioned in step 16. Extract it to a directory of your choosing, I like c:\Program Files\tsr
  18. Now we can check on the database connectivity and create the table to store data in:
    • Double click on the tsr executable, from the menu choose 'Database->Setup'.
    • Enter your database name (tsrdb) the IP (localhost) and port (1527)
    • Click Test, enter the username (tsruser) and password (tsrpass) and click OK
    • The system will churn for a minute and should say 'Test Passed'.
    • Select the 'Table' tab while still in the Setup window and choose a table name, according to IBM this table will be used for storing the library performance data, I chose 'tsrdata'.
    • Click create, you will need to enter your username and password again (tsruser/tsrpass) and click OK
    • Output should be 'Table created successfully', click OK and then click OK again.
  19. Time to connect to the database and begin collecting data
    • Click 'Database->Connect'
    • enter username and password, click OK, should get 'Connection successful'
    • Click 'File->Start Monitoring'
    • enter the IP address or dns entry of the TS3500 you would like to monitor and click OK
    • A window should open and have some output in it like 'Starting Monitor on Tape Library yourlibnamehere'
    • cant say much more, without ALMS licensed this is as far as I got :( but hopefully it works!
Hopefully this helps someone, if I get an ALMS license soon I would like to post some screenshots of the app actually displaying useful data. Maybe someone can send me some!

Monday, July 21, 2008

Fedora Multimedia Workstation

My default Fedora 10 install packages plus ccrma repos and meta package/kernel for low latency audio workstation with windows vsti's. With this setup I can run an alesis trigger io and trigger samples in XLN Audio Addictive Drums without having to run windows, plus I get SUPER low latency with low cost sound cards (even onboard is below 3ms), currently running a turtle beach riviera on an old Pentium 4 and getting 1.6ms

# setup yum repos
sudo rpm -ivh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm \
http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm \
http://rpm.livna.org/livna-release-9.rpm \
http://linuxdownload.adobe.com/adobe-release/adobe-release-i386-1.0-1.noarch.rpm

# install apps
sudo yum -y install bash-completion nautilus-open-terminal gstreamer-plugins-bad gstreamer-plugins-ugly gstreamer-ffmpeg k3b-extras-freeworld lame easytag mplayer gnome-mplayer gecko-mediaplayer mencoder libdvdcss flash-plugin AdobeReader_enu clusterssh compat-libstdc++-33 gcc wine wine-devel grip unrar vnc

# 64-bit flash support
yum install flash-plugin nspluginwrapper.x86_64 nspluginwrapper.i386 alsa-plugins-pulseaudio.i386 libcurl.i386

# nvidia driver
sudo yum -y install akmod-nvidia

# ati driver
sudo yum -y install akmod-fglrx

# ccrma repos add extra audio workstation tools and includes the low latency kernel
sudo rpm -Uvh http://ccrma.stanford.edu/planetccrma/mirror/fedora/linux/planetccrma/10/i386/planetccrma-repo-1.1-2.fc10.ccrma.noarch.rpm

# meta package for all major ccrma apps, this is a LARGE compilation and will take a while to download on a slow connection! (in my case 259mb with dependencies)
sudo yum -y install planetccrma-apps

# low latency kernel, first step is to allow Fedora to keep more kernels which can be done by changing the 'installonly_limit=3' line to 'installonly_limit=0', then running the following command
sudo yum -y install planetccrma-core

# get rid of "Could not load Mozilla. HTML rendering will be disabled." when running wine
wine iexplore http://www.winehq.com

Friday, June 6, 2008

Rebinding TSM archives so they do not expire

I have some TSM archives on an AIX host with a short expiration period of 14 days that I needed to extend for an unknown amount of time, I thought this would be an easy task but it took me a minute to figure out exactly how to quickly and efficiently get this done. To stop expiration on an archive you have to use the 'set event type=hold' command in from 'dsmc', the documentation on the command is complete but sparse with few examples so I had play with it to understand it. The most important thing I learned was that you cannot use a '*' to specify all files in an archive having a specific description - but you can specify just the base directory (in TSM terms 'filespace_name' from the archives table) and append a '/' (example: '/directory/) and it will pick up all of the files in the archive under the base directory.

First build the file list, this can be done easily a sql select statement from within dsmadmc :
select distinct(filespace_name) from archives where node_name='node name' and description='archive description here' > outfile
Then I needed to add a '/' character to the end of each line from the command line using awk:
# cat outfile | awk '{ print $1"/"}' > filelist.out

Alternately you could have selected filespace_name and hl_name and used awk to print both columns without a space between, either way the results should be the same...
Now I had a file that looked similar to this:
/aaaa/
/bbbb/
/cccc/
/db/abcd/
/db/efgh/
/db/ijkl/
/db/mnop/
/db/qrst/
/db/uvwx/
/db/yz/
/eeee/
/ffff/

each entry is a seperate mount point for a filesystem which is why /db/ would not have worked correctly.

Load this file into dsmc using the set event command:
set event -type=hold -filelist=filelist.out -description="Some unique description here"

output like:
....
ANS1899I ***** Examined 35,000 files *****
ANS1899I ***** Examined 36,000 files *****
ANS1899I ***** Examined 37,000 files *****
ANS1899I ***** Examined 38,000 files *****
ANS1899I ***** Examined 39,000 files *****
....

Total number of objects archived: 0
Total number of objects failed: 0
Total number of objects rebound: 82781
Total number of bytes transferred: 0 B
Data transfer time: 0.00 sec
Network data transfer rate: 0.00 KB/sec
Aggregate data transfer rate: 0.00 KB/sec
Objects compressed by: 0%
Elapsed processing time: 00:04:26
tsm>

After the files were rebound I jumped onto dsmadmc to make sure I had gotten every file rebound, I did this by selecting the number of objects from the archive and comparing it to the number of objects rebound:
select count(*) as "# of archived objects" from archives where description='Some unique description here' and node_name='node_name'

# of archived objects
---------------------
82781

Looks good!
This was by far the fastest way to rebind all these objects. I also tried selecting each individual object from the tsm database and loading that as the filelist into dsmc (a file with 82781 lines), after about 10 hours of processing dsmc core dumped. My other thought was to use the filelist containing every object and running it in a for loop so each object was processed individually - this would have worked but the time for completion would have been much longer.

Thursday, June 5, 2008

Installing projectM with amarok support on Fedora 8

I wanted projectM to work with amarok on my Fedora 8 box... I had done it before but didn't remember the exact steps...

Dependencies: projectM isn't in the standard fedora or livna repos so we have to compile, because compiling doesn't automagically install requisite software like yum does we need to have some packages pre-installed. This list is probably not complete but it's what I had to add (plus dependencies for these packages which are handled by yum):
pulseaudio-libs-devel amarok-visualisation, qt4-devel, cmake, ftgl-devel, glew-devel and subversion

# sudo yum -y install pulseaudio-libs-devel amarok-visualisation qt4-devel cmake ftgl-devel glew-devel subversion

Next we need to download projectM from sourceforge, I like to install the latest bleeding edge software since it generally causes me more pain so I chose the to go with the latest branch from subversion:

# mkdir ~/Download/projectM && cd ~/Download/projectM
# svn co https://projectm.svn.sf.net/svnroot/projectm/trunk projectM-Trunk
# cd projectM-Trunk/src
# ccmake .
cmake loads. press 'c' to configure: change CMAKE_BUILD_TYPE to 'Release' and CMAKE_INSTALL_PREFIX to /usr/
press 'c' again to configure and g to generate makefile

Time to compile:
# make && sudo make install

Now 'projectM-pulseaudio' should be in your Applications ->Video menu (if your using gnome) and it will bump along to any sounds that are playing through pulse. If you have amarok open just restart it and you can launch it from the visualizations menu!

I can't get it to play nice with compiz on an ati card running dual monitors, but with compiz turned off it's fine.

I ripped off a bunch of this from the ubuntu forum (thanks!):
http://ubuntuforums.org/showthread.php?t=749793
as well as the projectM page itself:
http://projectm.wiki.sourceforge.net/Installation+Instructions

Thursday, January 31, 2008

Tivoli Storage Manager Admin Center on rhel5

If you install the ISC and Admin Center for Tivoli Storage Manager on a RHEL5 box and you get the "portlet unavailable" error try installing libXp
$ yum install libXp
then stopping and starting the ISC again (by default $isc_home is /opt/IBM/ISC601/):
cd $isc_home/PortalServer/bin
./stopISC.sh ISC_Portal iscadmin iscpassword

check for runaway processes
$ ps -ef | grep -i java

Then startup the the ISC again...
./startISC.sh ISC_Portal