Siva Doe
One last entry
Don't know if there will be another chance to blog as a Sun employee. So, here it is.
Even though I joined Sun in 1997, I have been using Sun products since 1991. Will miss you 'Sun'.
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'.
qmake
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 'libiconv.so.2' 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.
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 (sourceforge.net).
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.
Zimbra Desktop on Solaris
Not much to write about. Just this screenshot. This is on a snv_90 build desktop.
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.
Techies Protest against OOXML - Update
There was indeed a candle light vigil. Source The Hindu.
Indian techies protest against OOXML
Interesting read. From The Hindu newspaper. Here is the link.
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.
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 Joyent.com and now can be used to debug your favorite Ruby/Rails applications. There are examples on Joyent.com 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.
India wins world cup
This is cricket Twenty20 world cup. The final was against arch rivals Pakistan. This cant get any better. The last time these two teams met ended in a 'tie' and India won through a novel way of tie-breaker called 'bowl out'. The final too threatened to go the same way with India taking the last wicket in the last over of the match.
Well done India. Well done Dhoni, the new captain and all players. You made my day and week.
My new laptop
Looks shiny and sleek. It came loaded. Core2 Duo @ 2.00 GHz, 2GB RAM,
160G Disk, Vista Home Premium. The battery life sucks though. With the
default power plan of Vaio Optimized, just about 40 mins of battery
backup. May be it will give more with power saver plans.
Coming to the main story - with the help of GParted, resized the Vista
partition. Then started installing Nevavda build 72. I was all worked
up eager to see Caiman installer at work. Alas, no such luck. Looks
like the Nvidia GeForce 8400M GT card was not supported by the bundled
driver in nv_72. So, I had to endure one more session of the familiar
blue/green console installer.
First thing I did was to create a ZFS pool and had /opt in ZFS (is
this safe?). Next, downloaded and installed Nvidia latest driver,
which worked beautifully. Now Xorg is running at the native 1280x800
resolution. Strangely, my Wifi is working but not my ethernet port.
These will be my next steps. Get the ethernet working (Marvell Yukon).
Install Compiz Fusion (thanks Erwann), Second Life for Solaris (thanks
Dana). Install Sun Studio 12 (I have to get back to work, dont I?);
Coolstack. The others will be TBD later. Sound is not working, but
this will be my lowest priority though.
//-->
Code For Freedom - Calling all India colleges
Well, the timing cant have been better. On the day India celebrates her 60th year of independence, Sun India has announced Code For Freedom.
Wish this happened when I was still in my college (Anna University) so that I can participate in this event. Any one remember what was the name of the x86 OS that Sun (interex???) had before the Solaris x86 port? Well, Anna Univ had that and I had done my project on that box.
Good luck to all the participants!!
10 @ Sun
The title should say '10 @ Sun; 15 w. Sun'. When I joined Larsen and Toubro (L&T) in 1992, little did I know that those pizza boxes named SparcStation1 and Sun 3/xx (Motorola CPUs??) were made by a company that I was going to work for in about 4 years time. It was fun playing with SS1, writing Postscript programs that directly draws on the root window. The 3 series was running Sunview (I am sure quite a few would remember this GUI). My impression is that it was as fast and responsive as I it is currently on my Ultra 20 running GNOME
It had been a roller coaster ride with Sun. I had moments of extreme happiness (probably the news that Sun stock was doing $120+) and also the complete opposite. I had been with Sun IT doing application development, later doing system administration with ITOps, and now am with engineering teams.
I greatly admire Sun as a company and cant think of working with any one else. I am afraid I will be too much biased to work any where else. The freedom that you get here is awesome. One has to work at Sun to believe and feel it. I am proud to be part of Sun's efforts, with open source in particular.
I hope I will be around to write '15 @ Sun' and '20 @ Sun'. Thanks to all my colleagues who has been making my life at Sun a great one. Thank you Sun.
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.
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 Network.com. This is called Application Catalog, where an user can checkout an application, provide their own input and let the network.com 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 Network.com
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 Network.com.
http://blogs.sun.com/ontherecord/entry/sun_launches_new_application_jukebox
http://blogs.sun.com/innovation/entry/on_demand_delivery_of_hpc
http://blogs.sun.com/kt/entry/network_com_delivers_on_demand
http://blogs.sun.com/hardik/entry/clustalw_on_sun_grid
BTW, if you like some application that is not available already, you can request for it. Cool, is it not?
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.
Regards
Siva
PS: It is indeed a pity that I cant login to a server named after me (userserver.siva.lindenlab.com)
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.
Siva
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 GNUmail.app. 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.
GNUMail.app/Addressbook 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.
Sun releases three new open source modules to the Grid Engine project
This announcement came from SuperComputing 2006
http://gridengine.sunsource.net/news/SuperComputing2006.html
It will be interesting to see how the Windows as execution node is received.
-Siva