Posts Tagged debian

installing GLUEscript on debian squeeze 64bit

The GLUEscript runtime is still in an pretty early development stage. Basically they use the Firefox spidermonkey javascript engine and build some useful libraries on top of that (like curl,mysql, filesystem support).
They also provide a little help in form of a little text file, but with this, it still took me half a day for my first installation. Most issues I got were based on version mismatches, because debian and also ubuntu use older versions of the required libraries.

First download the GLUEscript source from sourceforge.
A second tool you will need to get this running is premake. This is also a sourceforge project (you can use the binary version of it right away).
After downloading, I copied the premake binary into the glue/src folder.

So now we can start with fetching the dependencies which debian can fulfill.

sudo apt-get install libnspr4-0d libnspr4-0d-dbg libnspr4-dev libcurl4-openssl-dev libwxgtk2.8-dev libssl-dev libiodbc2-dev libmysql++-dev

In addition to that I needed a library called poco version 1.3.5 (all repositories I found just provided versions up to 1.3.3 -> those don’t work). So get the source from http://pocoproject.org/download/ (the complete version). Compiling that should make no trouble cause all the dependencies are already installed.

/tmp$ cd poco-1.3.5-all/
/tmp/poco-1.3.5-all$ ./configure 
Configured for Linux
/tmp/poco-1.3.5-all$ make
/tmp/poco-1.3.5-all$ sudo make install

Now let’s get back to configuring GLUEscript. All configuration is done via lua script which will than be consumed by premake. The config file I needed to edit was the premake.lua file:

-- Check NSPR
if ( string.len(nspr_dir) == 0 ) then
  print("Using the NSPR library which is part of GLUEscript")
  dopackage("nspr") -- build our own NSPR
  nspr_dir = "../nspr/include"
  nspr_lib = "nspr"
  nspr_lib_dir = project.libdir
else
  print("You are using your own NSPR library: ")
  nspr_dir = "/usr/include/nspr"
  print("nspr include: " .. nspr_dir)
  print("nspr lib: " .. nspr_lib_dir .. "/" .. nspr_lib)
end

I copied the whole paragraph to just make it easier to find the position. Important is the added row in the else part.

nspr_dir = “/usr/include/nspr”

This is needed because debian has a different file structure for header files than the script expects it.

After that we are done with configuring. To actually start the build process you have to run premake first.

./premake gnu
make

The output will be generated to the following directory:

glue/bin/Debug

So far the makefile does not a an installation part. So if you want to install this you have to do it by yourself.

PS: This only works for the 0.0.1 version. So far I didn’t get any more recent svn version running.

, , ,

No Comments

installing TIBCO TRA 5.6 on a debian 64bit

Recently I got a hardware upgrade so I could finally switch to a 64-bit environment. To fully use that machine I wanted to install TIBCO in 64-bit mode. After starting the installation I got this message:

TIBINS202527: Error: ERROR: You are running a 64-bit product installer on a 32-bit system.
This is not supported.

The Problem was I was running a 64-bit OS with a 64-bit Kernel:

 uname -a
Linux client1 2.6.28.5 #1 SMP PREEMPT Tue Feb 17 17:42:33 CET 2009 x86_64 GNU/Linux

So I tried to find the problem. First I needed some more output what the installer is actually doing. So I used the logging option to get all the debug output.

 ./TRA.5.6.0-suite_linux24gl23_x86.bin -console -is:log output

So when you look closer to this log you can see that the command which is running the installer looks like this:

Executing launch script command: “/tmp/isjI8lFYy/bin/java” -cp “”:”TRA.5.6.0-suite_linux24gl23_x86.jar”:”TRA.5.6.0-simple_linux24gl23_x86.jar”:”tibrv.8.1.1-simple_linux24gl23_x86.jar”:”jre.1.5.0-simple_linux24gl23_x86_64.jar”:”Designer.5.6.0-simple_linux24gl23_x86_64.jar”:”tpcl.5.6.0-simple_linux24gl23_x86.jar”:”hawk.4.8.1-simple_linux24gl23_x86_64.jar”:”/tmp/isjA5jEsB/TRA.5.6.0-suite_linux24gl23_x86.jar”:”” -Dtemp.dir=”/tmp” -Dis.jvm.home=”/tmp/isjI8lFYy” -Dis.jvm.temp=”1″ -Dis.media.home=”/tmp/isjA5jEsB/TRA.5.6.0-suite_linux24gl23_x86.jar” -Dis.launcher.file=”/home/jens/tmp/TIB_tra-suite_5.6.0_linux24gl23_x86_64/./TRA.5.6.0-suite_linux24gl23_x86.bin” -Dis.jvm.file=”/tmp/isjI8lFYy/jvm” -Dis.external.home=”/home/jens/tmp/TIB_tra-suite_5.6.0_linux24gl23_x86_64/.” -Xms20m -Xmx128m run -home TRA.5.6.0-suite_linux24gl23_x86.jar “-console”

Now that I had the command which is starting the installer I began to trace what this process is doing. To do a strace properly you just have to prepend ‘strace’ and than redirect the error output to a file (cause it is quiet a lot). So after doing this I found something interesting in the log.

[pid 32651] execve(“/bin/uname”, [0xffffffffdf47dc88, “-p”], [/* 1757 vars */]) = 0

As you can see it runs the command ‘uname -p’. This command returns ‘unknown’ for a default debian system. You also have this problem if you are running a self compiled kernel from kernel.org. As for the TIBCO supported systems (SUSE ans redhat) they return something different. After trying the same command on a openSUSE I found that ‘x86_64’ should be the correct string. After I bit of trial and error I found out that the result of this command is written to a file name ‘kernelbits_jens.txt’ in the temp directory.

So here the simple solution to the problem.
You just need to create the arch file manually and make it read-only so the installer can’t overwrite it. Here the command:

echo 'x86_64' > kernelbits_`whoami`.txt

Now the installer worked absolutely fine for me.
I already notified the TIBCO support about the problem. As for now there will be no fix. But I hope they will correct this behavior for future installer.

, , ,

1 Comment