KStars on Windows – GSoC 2016

Here you can see my current progress on KStars on Windows project

KStars on Windows – Beta version — August 17, 2016

KStars on Windows – Beta version

Here we are! Google Summer of Code is over and KStars on Windows project is done. It was truly an incredible summer and I am grateful for the opportunity I was given to work on such a great project and learn so much from my mentor, Jasem Mutlaq.

During the entire period in which I have been involved in KStars community (almost nine months now) I learned a lot of valuable lessons, starting from how to properly manage my time and ending with how to read and find information in a big project as KStars. I also learned to never underestimate anything and to always deeply analyze everything before doing any assumption or putting any question. It is very important to use your time wisely, to discuss and ask exactly what you need and the most important thing is to use the people around you; they are the most important help for you. I was lucky to have a mentor as Jasem. Actually, he is a lot more than a mentor. He is a very special person, passionate about his job and the most important, someone which has helped me to evolve. I am sure that our friendship will not end here, especially because I already decided to involved further in KStars community. Let’s talk now about the last part of my work on KStars on Windows project.

As I said in my previous blog post, the final step of KStars on Windows project was the Documentation and Quality assurance. KStars’ quality and user experience is very important for us and so this last step was absolutely required. Thus, in the last couple of weeks I focused on Documentation and QA.

Regarding the Documentation, it was quite a tough job, especially because I wanted to give as much information as possible by covering all the tools and features that KStars provides. Furthermore, since the beginning, I tried to keep it clear and easy to follow by any end user. Actually, this is the concept I kept in mind during the entire period in which I worked on documentation: “can a new user, without any programming or astronomy background, understand the documentation and use KStars?”. So I reviewed the entire old documentation and I added explanations wherever they were needed. In order to provide a more comprehensive documentation, I added screenshots for each tool and functionality. Noticing how important is for users to customize KStars, I decided to write a step by step tutorial on how to add a custom catalogue in KStars. Now, any user can write his own catalogue and import it in KStars. This will bring more fun and will make KStars more appealing to anyone. Last thing I done was updating the information and images links used by KStars in the Pop-up menu. The old ones were no longer useful, so this refresh has been well received.

Thus, KStars has now a strong documentation, containing all the information that a new user needs.

Regarding the QA, I wrote a new QA list for KStars and tested it several times. I tried to cover each detail, paying attention to each of KStars behaviors and functionalities. You can test KStars on Windows yourself and why not, let me know if any other issues come up. This would be highly appreciated and very helpful.

In conclusion, I am happy and at the same time proud that I managed to finish Google Summer of Code 2016. It was a very special experience during which I enjoyed working within a great team and at the same time, I learn a lot of new and useful things for the future.

Best regards,

Here you can find KStars QA list:


Here you can find KStars on Windows Beta version installer which provides you FITS Viewer Tool, INDI and Ekos:



KStars on Windows – Midterm evaluation — June 28, 2016

KStars on Windows – Midterm evaluation

Hello everyone!

Midterm evaluation has passed and now it’s time for a new blog post! There are a couple of weeks from the last time I’ve talked about my progress with my Google Summer of Code project.

In my last post I presented the alpha version of KStars for Windows that missed some very important functionalities for KStars, such as:

  • FITS Viewer Tool: it is integrated with the INDI framework for seamless display and manipulation of captured FITS images. FITS stands for Flexible Image Transport System and is the standard file format used to store most astronomical data files.
  • INDI and Ekos

In order to have KStars’ FITS Viewer Tool available on Windows, I was needed to build the following two packages:

  • CFITSIO: it is a library of C and Fortran subroutines for reading and writing data files in FITS data format.
  • WCS: the FITS “World Coordinate System” (WCS) standard defines keywords and usage that provide for the description of astronomical coordinate systems in a FITS image header.

Thus, I used my old friend, emerge tool, again: firstly I had to write a CMakeLists.txt for compiling the sources and creating a static library and then I created a tar archive required by emerge tool. For downloading the tar archive I used my personal website as host. (i.e. http://raphaelcojocaru.xyz/wcslib515.tar.bz2)

After I successfully built the sources I ran again ‘emerge –update kstars’ to be sure that KStars found the libraries needed. Actually, I ran it severeal times so my Windows’ version of KStars to be up-to-date with origin master.

Regarding INDI and Ekos, after discussing with my mentor due to difficulty of INDI port, I shifted my focus to QA & Documentation that were not updated for a long time now. Thus, I already created a QA list for current KStars’ version on KDE wiki. I will modify and update it as necessary, removing and adding new tests for KStars tools:


In conclusion, KStars on Windows project is going in the right way and now it’s time to make sure that KStars on Windows meets our users’ expectations. I want to give thanks once more to my mentor, Jasem, who gave valuable help and supported me every time I needed it.

Best regards,

KStars on Windows – Alpha version — May 28, 2016

KStars on Windows – Alpha version

Hi everyone. This is my first blog post since the Google Summer of Code official coding period began. GSoC coding period started this week, on Monday, 23th May.

As a short reminder, I will underline progress I’ve made and presented in the previous posts:

Using emerge tool, I started to build KStars on Windows. Since this process could be very troublesome, I used a Windows 7 32-bit virtual machine. Actually, for building KDE sources, the KDE developers recommend the 32-bit version of Windows 7.

At the beginning I was needed to build the environment required by KStars. Basically, the environment means Qt and KDE Frameworks. After some errors I encountered, I managed to build them successfully.

After I built the environment, I went further, trying to build KStars. The initial attempt stopped at 89 percent. That was a great starting point, especially because that was the very first time when KStars was being built using emerge tool. After this partial success, I started to investigate what determined the building process to fail. Thus, I found that the compiler I had been using (Visual C++ Compiler) was having problems with a dynamically allocated array. I modified the code, keeping the functionality untouched, and after that, KStars has been successfully built. I was very happy when I finally managed to build it and at the same time I was deeply impressed by KStars’ performance on Windows.

After I tested KStars’ functionality, I went further and included its icons. Therefore, now it really looks like a veritable Windows software. I still have a small issue to fix: the main window icon is missing, the icon from the left of the top bar. I need to find out why this happens, solve and include it in the final KStars version.

Having KStars successfully built, including its icons, I kept it up-to-date with origin/master using “emerge – update kstars” command and at the same time, I began to work on developing an installer. The installer should include KStars sources along with all dependencies needed. Thus, the next challenge began.

Since the beginning, I knew that some KDE applications, as KDevelop, already have such an installer. After I have done some research, I decided to use the emerge tool again. It has its own method for generating the installer, based on NSIS tool. Therefore, I initially tried to follow the KDevelop example. I created the icon for the installer and I wrote the piece of code used by emerge to package KStars. Even though the code was identical with the code used for KDevelop, the command “emerge –package kstars” was not working. The error I was getting is the following:

“[WinError 3] The system cannot find the path specified: ‘C:\\K\\build\\kde\\kstars\\archive\\…’”

The first thing I looked at was the “kstars.py” file used by emerge tool for packaging. I looked at each line, one by one, but everything looked good. Also, I tried to build the dependencies folders’ hierarchy manually, but this didn’t help at all.As a final solution, I thought that CMakeLists.txt could actually be involved in the packaging process, so I tried to replicate its content in KStars with some necessary changes, then run “emerge kstars” and “emerge –package kstars” again. So I modified KStars’ CMakeLists.txt following KDevelop example, creating additional files as well (i.e.  KDevelopConfig.cmake.in => KStarsConfig.cmake.in). This proved to be unsuccessfully again. Finally, after me and my mentor, Jasem, spent lots of hours on debugging and tried several solutions, we found out why the packaging process did not succeed. It was a small bug in the Portage system: https://bugs.kde.org/show_bug.cgi?id=363467

After the installer has been successfully generated, I used a ‘blacklist.txt’ file in order to shrink the installer’s size. Currently, KStars installer has around 60 MB but I will continue this effort, trying to develop an installer as small as possible. My goal is to develop an installer with a total size smaller than 35 MB.

Next, on my ToDo list are:

  • shrinking the size of the installer
  • migrating INDILib client library to Windows
  • migrating Ekos to windows

To summarize, I am proud to present the alpha version of the KStars on Windows:

KStars installer – alpha version

Best regards,


Welcome KStars to Windows! — May 9, 2016

Welcome KStars to Windows!

As mentioned in my previous post, I started to work on building KStars on Windows. My primary goal was having KStars completely compiled and built on Windows, as well as being fully functional and able to run on Windows exactly like the Linux version.

Since my last post, I’ve continued my work (last time I managed to build KStars up to 89%) and now I’m happy to announce that KStars is running great on Windows. I checked its functionality along with its specific tools, and everything is all right. The performances are also very good, it runs smoothly and fast!

Another important thing is the Windows version of KStars can be easily updated to the master branch available. This is possible using emerge –update, which includes and compiles master’s latest changes.

Having all these solved, I added the KStars’ custom Windows icons. Now, KStars is up-to-date with origin/master and ready to use!

Here are some screenshots of the Windows version:








Now I am working with my mentor, Jasem, on packaging KStars. Firstly, I will use the emerge tool to automatically generate the installer. Basically, emerge uses the NSIS: Nullsoft Scriptable Install System software to develop the Windows installer. I will have to configure the kstars.py script in order to make emerge understand and find the requirements for the installer. I think that a good starting point would be following another KDE application’s example which already built such an installer. There are already some KDE projects that have a fully-working Windows installer. My further plans include migrating Ekos to Windows and adding ASCOM support.

In conclusion, “KStars on Windows” project proves to be a very challenging and interesting project and that is exactly what I was expecting!

Best regards,


KStars’ Windows environment is ready — May 2, 2016

KStars’ Windows environment is ready

After some challenges, I managed to build successfully the environment required by KStars. The environment basically refers to Qt & KDE Frameworks.

A very important role has played emerge,  a powerfull tool used for building KDE sources on MS Windows.

After building the Windows environment, I went further, trying to build KStars on Windows. I was afraid that the building of KStars would have stop at 5-10%, but at the end the attempt proved to be highly succesfull as KStars has been built up to 89%. Now I need to follow the error message and find a solution for it.

More details can be found on my personal webpage.

In conclusion, building Qt & KDE Frameworks along with 89% of KStars is a big step to my first goal: running KStars on Windows.

Best regards,


Ready for some GSoC time! — April 25, 2016

Ready for some GSoC time!


Here we go!
After all the effort I’ve put into this dream, now I am proud and at the same time very happy to say that my proposal KStars on Windows has been accepted for Google Summer of Code 2016. This means I will spend my summer doing what I really like to do: involve into a wonderful project, find clever solutions,  write code and not at least, meet great people and develop myself as a future software engineer. Yes, GSoC was one of my biggest dreams ever and I really gave my best during all these five months in that I’ve been involved into KStars project and community.

KStars is a high quality planetarium program and at the same time a very powerful astronomy tool provided by the KDE Community. It is a free open-source software able to provide an accurate graphical representation of the night sky, from any location on Earth, at any date and time. The display is very flexible so it can be easily panned and zoomed with the mouse. Another useful feature is that the user can without problems identify objects, and track their motion across the sky. KStars is highly configurable, user can control what objects are displayed as well as what colors are used.

My first encounter with KStars was several months ago as I was browsing the Google Summer of Code organization lists and it caught my eye, especially because I am passionate about mathematics and physics, so I immediately begun to document myself about KStars project. While reading about it, my interest grew more and more and I was fascinated by its range of interesting tools, such as:
• „Altitude vs. Time” is a tool that can plot in a very intuitive way the altitude of a selected object as a function of time, for any date and location on Earth.
• The “What’s Up Tonight?” (WUT) tool displays a list of objects that will be visible at night from any location, on any date.

After this initial impression I started contributing to KStars, mostly on „Altitude vs. Time” tool. This proved to be a very interesting and pleasant activity especially with the excellent support of the community.

Even though KStars is one of the best planetarium software, it currently has a major drawback: it lacks a fully working Windows version. The actual Windows installing process of KStars is slightly troublesome, especially for a user with no programming background. Moreover, most of desktop users are running Windows operating system versions on their machines, while Linux family of operating systems is mainly used for developing software projects and might be unfamiliar and confusing for a common user.
Therefore, developing a Windows version of KStars is crucial in the further development of KStars as it is one of the main astronomy software out there. It would fill a gap in KStars’s reliability and would certainly make KStars more popular and appealing to everyone. Thus, my goal is to develop a single KStars executable used to install KStars and any prerequisite libraries needed by KDE5/Qt5.

I’m pretty sure this journey will be amazing and full of challenges. I will post here my latest updates regarding KStars on Windows project.

Best regards,