Monday Dec 15, 2008

xTuple Postbooks GUI client on OpenSolaris

Postbooks from xTuple is an open source edition of their ERP and Accounting software. They have their GUI client available for Linux, Windows and Mac. No Solaris though. With the required components for Postbook, namely Postgres and Trolltech Qt, is known to work in OpenSolaris, I took a plunge to get the GUI client working on my OpenSolaris 2008.11.

It was not very tough to get it going. We need to set up OS 0811 to get it going. First, install SunStudio and family by installing the 'ss-dev' pkg.

pfexec pkg install ss-dev

Next in line is Postgres. I decided on installing version 8.3, even though Postbooks will work with 8.2 also. There is a list of packages that is required for 8.3.

pfexec pkg install -v SUNWpostgr-83-server SUNWpostgr-83-libs SUNWpostgr-83-client \\
SUNWpostgr-jdbc SUNWpostgr-83-docs SUNWpostgr-83-contrib SUNWpostgr-83-devel \\
SUNWpostgr-83-pl SUNWpostgr-83-tcl SUNWpgbouncer-pg83

As for the Qt version 4, I took the easy way out by using spec-files-extra (SFE) to build Qt for me. Please see Building JDS on OpenSolaris for instructions to set up the build environment for building Qt out of SFE. The SFEqt4.spec file, has to be tweaked for building the required Postgres SQL driver plugin, that is required for Postbooks. In the spec files directory, there is a subdirectory called 'ext-sources'. Within that, edit the file 'qt4-solaris-cc-ss12' and change the QMAKE_CXXFLAGS and QMAKE_LIBS variables as follows.

QMAKE_CXXFLAGS          = $$QMAKE_CFLAGS -library=stlport4 -I/usr/postgres/8.3/include
QMAKE_LIBS              = -L/usr/postgres/8.3/lib -R/usr/postgres/8.3/lib

Now, build and install SFEqt4.spec.

/opt/jdsbld/bin/pkgtool -v --download --autodeps build SFEqt4.spec

This will install two packages SFEqt4 and SFEqt4-devel in your system. Now on to the next step of building Postbooks.

Postbooks GUI client requires the source code for OpenRPT, which is an open sourced SQL report writer. Download it from OpenRPT sourceforge site. Since, Qt4 is built using SunStudio, there is a small change required for OpenRPT to get it built on SunStudio. In the file OpenRPT/renderer/graph.cpp, change line 780 to look like these two lines.

QColor cMap(_colorMap[sd->color]);
graph.setSetColor(snum, &cMap);

When extracting OpenRPT source code, you will have a directory like 'openrpt-3.0.0Beta-source', or something like that. Create a symbolic link 'openrpt' for it.

ln -s openrpt-3.0.0Beta-source openrpt

This is required as the GUI client looks for 'openrpt' at some level above its source directory. Then build the client, by running 'qmake' followed by 'gmake'.


Next is GUI client itself. Download the source from Postbooks sourceforge site. Extract it at the same level as that of 'openrpt'. For building under SunStudio, one file needs to be changed. Edit the file 'xtuple/guiclient/postPurchaseOrdersByAgent.cpp', line 90, to replace '__PRETTY_FUNCTION__' with the name of the method itself (hardcode with ::sPost). The build procedure is the same as above: 'qmake' followed by 'gmake'.

Now the GUI client can be launched by 'bin/xtuple'. I encountered a missing '' library. I overcame this by running

env LD_LIBRARY_PATH=/usr/gnu/lib bin/xtuple

I know, using LD_LIBRARY_PATH is unsafe. May be including '/usr/gnu/lib' in the spec file change might solve this problem.

Now you should see the login screen and you should be able to log in to the configured Postgres database. Here is the obligatory screenshot.

Hope this was helpful for you. Comments and feedback are most welcome.

Friday Nov 21, 2008

Zimbra Desktop for Solaris - For download now

It has been quite a while since I promised 'soon' about the availability. Now, Zimbra Desktop for Solaris is finally available for download and to enjoy. This is for x86 systems only though. I have run it on both OpenSolaris as well as Solaris 10U5. Not sure about older versions of Solaris 10 though.

This build is based on the 5.0.10 version of the Zimbra source code. This will go nicely with the ZCS binary that Dom Ijichi has built and is available in the same location (

Unlike the other platforms (Linux/Win/Mac), this does not have an installer. Extract the tarball and run. The notes section have some instructions on how to run.

Hope this is useful to you.

Wednesday Jun 25, 2008

Zimbra Desktop on Solaris

Not much to write about. Just this screenshot. This is on a snv_90 build desktop.

Thursday May 15, 2008

Bluetooth for Solaris

Check this announcement. One of the gaps identified for Solaris on Desktop was Bluetooth connectivity. Looks like these folks have filled that gap. They seem to miss a GUI for better integration into the desktop. Right now, it is all command line, like a FTP client. I am happy to say that I too played a part as their external guide. Good work there folks.

Wednesday Apr 09, 2008

Solaris and Tamil - Latex/Xetex

This is a continuation blog about my pet project of localising Solaris (Tamil, in particular). Recently had a chat with a friend of mine who has already authored a book (on Science) in Tamil and that is when he mentioned he uses Latex on Linux for his work. That started me to find out where Solaris is in this area.

I found that TexLive , a distribution of TeX that included support for Solaris and also had Xetex. Xetex supported Unicode fonts, that meant that I could use any Tamil font that I had. I initially tried to build TexLive 2007 from source code. Though the build was successful, there were some runtime errors about some missing files. Later, I downloaded the huge DVD iso image and installed it locally. Now, it is easy to do typesetting in Solaris too. Obligatory screenshot.

One point is Xetex seems to be slower on Solaris than Linux (both x86) only. I will have to see what leads to the slowness.

Tuesday Apr 01, 2008

Some updates - Ruby/DTrace, FFMPEG/Medialib

It has been quite some time since I last blogged. Been busy with a few interesting projects whose updates had to be blogged about.

First, Ruby. You are all aware that Ruby has been available in Solaris Nevada build 76 onwards. With build 86 onwards, DTrace probes for Ruby is also available. These probes are the work of and now can be used to debug your favorite Ruby/Rails applications. There are examples on site to show you how to use these probes.

Next FFMPEG. We heard from a customer who used FFMPEG to convert a YUV file to MPEG file. They had compiled FFMPEG (on Sparc) using Sun's mediaLib (MLIB). The resultant MPEG file, when played,  had this 'green tint'. More over the conversion was slower, compared to that of an FFMPEG without MLIB. This is indeed strange as one was supposed to get better performance with our mediaLib. With all the help from our MLIB developers, the defect was then found to be in FFMPEG source code, which makes the MLIB calls. A couple of lines were changed and we were back in business. Before, a 30 second YUV file took about 20 seconds to convert into MPEG. It produced a green tint also. Now, it takes just about 10 seconds for the conversion and of course, no green tint. The MLIB patch is now available with Spec Files Extra (SFE) repository.

Monday Apr 09, 2007

Safari on Solaris!!

Well, got your attention didn't I. Not exactly Safari, but got GTK-Webcore ported and running in Solaris (Nevada). Obligatory screenshot here.

It is crashing on clicking any link, though. You can type in some  URL (SWAN), and it works okay.

I have to say, this is very fast. Takes about 2 seconds for the screen to show up from the moment I type in the command. Would be interesting to see the development.

Wednesday Mar 14, 2007

Call from "Printer Company"

This I had to blog about. In India, we get lots of unsolicited calls (in spite of laws against it, there are always some loop holes) from people trying to sell credit cards, insurance, holidays, club memberships and so on.

This morning I get a call from one such person. This call was made to office phone. The conversation went like this.

Me: Hello!
Caller: Good morning, sir! I am calling from HP. Is this Sivakumar?
Me: Yes. What is this about?
Caller: Sir! Is your company with strength 50 - 100 people?
Me: Excuse me? Where are you calling from?
Caller: HP. Hewlett - Packard! Sir! We are offering server and storage solutions for small to medium companies. Is your company's strength between 50 - 100?
Me: {laughing} Do you know anything about Sun Microsystems?
Caller: Sir! You are into software development, right?
Me: {laughing a bit louder} Well. Yes. But please read more about the company before calling them. We are a direct competitor to HP.
Caller: Sorry sir!

Probably, I will write it down as one over enthusiastic call center person who didn't do his home work correctly.

At least, it was a good light hearted start for the day :-)

Apps on Demand - Open Sourced ones too

Today, Sun announced a cool feature at the new look This is called Application Catalog, where an user can checkout an application, provide their own input and let the compute nodes do the work for you. There are some nice open source applications available for general use. As an end user, you can use these applications. if you are a developer, you could make your application available for other users. Don't have a Solaris x64 system? Well, you can build your application itself in :-)

This is a huge benefit for Open Source developers as well as ISVs who want to develop applications for the best OS in the world.

Blender  is one such application available for use here. If you have a few blend files that you want to be rendered, you can use the Blender application from the Application Catalog to do the work for you. Meanwhile, your personal compute resource could be used for some other creative work.

Check it out.

Some blog entries already. The last one from my team who bring such applications to

BTW, if you like some application that is not available already, you can request for it. Cool, is it not?

Friday Jan 12, 2007

Second Life client running on Solaris x64 - contd

As promised, here is the update.

For Mads and whomever is interested in building the Second Life client on Solaris (x64), this is what I did.
Please do remember, these are just to get the client build on Solaris. I havent completely run the client yet (nothing beyond the login screen). So, buyer beware.
Basically, I followed the Linux instructions in Second Life Twiki page.
Downloaded and built all the libraries mentioned and copied the libraries and headers in the directory under, 'i686-sunos5', instead of 'i686-linux'
Modified SConstruct  (for scons building).

  • Look for 'linux' and introduce the code for 'sunos5' (replace -DLL_LINUX with -DLL_SOLARIS)
  • Remove the 'db-4.2' entry under libs line.
  • Replace 'yacc' with 'bison -y'; 'lex' with 'flex'; 'g++-3.4' with 'g++' (under /usr/sfw/bin); 'strip' with 'gstrip'

Whichever subdirectory contains 'files.linux.lst', make a copy of it called 'files.sunos5.lst'.
Then comes the code changes. Basically, search for files containing 'LL_LINUX' and add "|| LL_SOLARIS" or "&& ! LL_SOLARIS" as appropriate.
In llcommon/llpreprocessor.h:38, I added  "|| (defined(LL_SOLARIS) && !defined(__sparc))" to the line to set the ENDIAN correctly.
In llcommon/llsys.cpp, I added code to use the output of 'psrinfo -v', instead of reading from '/proc/cpuinfo' for SOLARIS.  Similarly, used 'getpagesize() \* sysconf(_SC_PHYS_PAGES)' to get the "Physical kb". I know there are better ways, but just wanted to get the build completed.
In llmath/llmath.h, I was running into some problems regarding 'isfinite'. I replaced with this.
#define llfinite(val) (val <= std::numeric_limits<double>::max())
The other significant work is in 'llvfs/llvfs.cpp' and 'newview/viewer.cpp'. Replaced the code for 'flock' with the appropriate 'fcntl' code.
In files 'newview/lldrawpoolsky.h' and 'newview/llvosky.cpp', replace the variable 'sun' with 'Sun'. 'sun' in a SunOS is defined already, of course.
In 'newview/viewer.cpp', rewrote the 'do_basic_glibc_backtrace()' to use 'printstacktrace()' instead.
Well, you can follow the above instructions, or send me a mail, I will send the diff output. :-)

For runtime, you will have to set your LD_LIBRARY_PATH as mentioned in the Twiki page.
Thats all I have for now. Will update later, if any.


PS: It is indeed a pity that I cant login to a server named after me ;-) (

Thursday Jan 11, 2007

Second Life client running on Solaris x64

Yes. I was able to build the recently open sourced Second Life client. It took me couple of days to get to this stage. To get it running took half a day. The reason being that ENDIAN was set to BIG for non-Linux boxes and that had me stumped for a long time. Of course, being behind SWAN firewall doesnt let the client connect to the server :-( Any one knows a way to achieve this?

Any way, here is the obligatory screenshot. Will keep posted on the updates.


Friday Dec 08, 2006

GNUstep on my Solaris desktop

After a couple of days work, I was able to run GNUstep on my Solaris (Nevada) box. Check out the screenshot. Boy, need I say, I like it a lot. Very snappy compared to the GNOME desktop (no flames please).

I also built some nice applications like I had set up to use the Menu interface to NSMacintoshInterfaceStyle. In the attached screenshot, you can see the Macintosh like menu.

I am also running Windowmaker as my window manager. In my startup script, I set the environment variable GTK2_RC_FILES=$HOME/.themes/GTK2-Step/gtk-2.0/gtkrc, which gives my other GTK apps like Firefox, Gaim to look very much like an GNUstep applicaiton.

I sure miss those days loong (may be one more 'o'?) time back, when we at Sun had an option to run OpenStep as an alternative desktop to CDE. Very slow it was though.

Some wishes though. More GNUstep apps, of course. Like a Web browser (Safari??), IM & Calendar clients. There is an IRC client though, which I dont use much anyway. lacks LDAP auto completion which I am so much used to.

I dont know how long can I continue using GNUstep, as for some reason or other I end up using the default JDS desktop only.



Wednesday Nov 15, 2006

Sun releases three new open source modules to the Grid Engine project

This announcement came from SuperComputing 2006

It will be interesting to see how the Windows as execution node is received.


Thursday Oct 05, 2006

Sun Calendar in Thunderbird

Use Thunderbird as Sun Java Calendar client

[Read More]

OpenSolaris PPC

Wow. It is happening. I am one of the very eager user waiting for a PPC port of OpenSolaris. I just hope I can run the upcoming port in my G3 Powerbook (Pismo) and dump the current Ubuntu Linux PPC and dual boot with OpenSolaris instead.





« July 2016