Friday, March 30, 2012

Bugfix Packages

Pat has released three bugfix packages to Slackware-Current, following several report on LQ. Hopefully these three packages are able to fix several problems that -Current users experienced on their machines.

Here's some snippet of the latest -Current changelog:
a/e2fsprogs-1.42.2-i486-1.txz:  Upgraded.
a/xz-5.0.3-i486-2.tgz:  Rebuilt.
xap/imagemagick-6.7.6_2-i486-1.txz:  Upgraded.
    Build twice to avoid breakage when the major library versions change.

Wednesday, March 28, 2012

Glibc Patched

Some reports has been flowing after the last batch of updates in -Current. They are missing xz in 32 bit system, failing setup, and glibc problem. Like always, Pat monitored LQ and he acted fast by proving a patched glibc today. Unfortunately, there are still no sign for the rest of the problem report. They will be sorted out eventually, but not on this batch of -Current update at least.

The patch for glibc is taken from GIT repository which was committed by Ulrich Drepper, one of the glibc maintainer that was posted last January. This should fix some problems with some applications that got segmentation fault during execution. The bug was tracked as Bug 13618.

Tuesday, March 27, 2012

Compiling LibreOffice: Still No Success

I'm a huge fans of LibreOffice since i used it a lot in my work (mainly Impress for making presentations and Writer to make some reports). It's way much superior than the default Office Suite included in Slackware (KOffice, soon to be replaced by Calligra).

As we know, LibreOffice has reached version 3.5.1, but there is no 3.5.1 for Slackware-Current yet since the compilation process has changed drastically since previous 3.4.x and Eric is still working to make this version compilable on Slackware. It's not an easy job and i realized that since i used to compile OpenOffice in Windows and i understand the pain of compiling this kind of application. It requires a lot of time and effort to debug and a lot of trial and error with some luck.

Since there hasn't been any progress for the last 2-3 weeks, i offered him to help debugging the problem. He gave me his latest SlackBuild script and i tried to reproduce it on my desktop machine at home. I installed Apache Ant as one of the requirement to build LibreOffice and also Perl Module: Archive/Zip. Once it's finished, i started to build LibreOffice on that machine.

When i compiled OpenOffice.org in Windows in the past, it took me roughly 12-18 hours to complete due to a lot of trial and errors, but on this LibreOffice process, the SlackBuild script has been running for almost three days non stop and it still hasn't stopped yet (either completed or terminated prematurely). My desktop are not a very high end build machine, so it's normal to have longer time compared to Eric's.

Due to this process, i'm unable to upgrade my desktop yet to the latest Slackware-Current updates since it might interfere the compilation process (GCC, GLIBC, ccache, and binuntils are the packages that i think might be related to compilation).

Let's hope it will finish soon enough with good results at the end so that my time is not wasted and LibreOffice package for Slackware will be available in the short time.

Meanwhile, if you are eager to use LibreOffice 3.5.1, you can use Niels Horn's package which is basically a re-packaging of the LibreOffice binary package

Monday, March 26, 2012

New Toolchain

It seems that my prediction about the next batch is partially correct. It was proven after the latest batch of updates on -Current. I have suspected that Slackware-Current will be based on GCC 4.7.0 and GLIBC 2.15, but i was wrong that it will be based on Linux Kernel 3.3 because Pat still trusts Linux Kernel 3.2.x (well, perhaps when the final release is near, Pat will upgrade to Linux Kernel 3.3 because it has wider hardware support and also a lot of improvements on performance on many areas).

Along with these basic toolchain updates, Slackware-Current also upgrades several basic packages, such as bash, acpid, e2progfs, module-init-tools ccache, binutils, gmp, mpfr, virtuoso-ose, bind, rsync, imagemagick, and xine-lib.

More updates are expected soon to be released by Pat.

Enjoy the Slackware-Current with it's new toolchain and kernel :)

Friday, March 23, 2012

NVidia Drivers 295.33 and Linux Kernel 3.3

For those who are using the latest Linux Kernel 3.3 and having problem to compile NVidia Proprietary Driver, there's a good news because NVidia has released a new updated driver which should be compatible with the Linux Kernel 3.3. It was announced on NVNews (NVidia's Forum) and it has been placed on their FTP Servers (32 and 64 bit).

If you still insist of using your current NVidia driver (290.20), then you will have to patch the NVidia driver as the new kernel has moved some of the files which makes the check process failed and resulted in this kind of error messages:
If you are using a Linux 2.4 kernel, please make sure
you either have configured kernel sources matching your
kernel or the correct set of kernel headers installed
on your system.

If you are using a Linux 2.6 kernel, please make sure

you have configured kernel sources matching your kernel
installed on your system. If you specified a separate
output directory using either the "KBUILD_OUTPUT" or
the "O" KBUILD parameter, make sure to specify this
directory with the SYSOUT environment variable or with
the equivalent nvidia-installer command line option.

Depending on where and how the kernel sources (or the

kernel headers) were installed, you may need to specify
their location with the SYSSRC environment variable or
the equivalent nvidia-installer command line option.
ERROR: Installation has failed. Please see the file '/var/log/nvidia-installer.log' for details.
 There are two ways to patch it, the easy and the hard way. Here's the easy part:
  • Go to Go in /lib/modules//source/arch/x86/include/ 
  • cp generated/asm/unistd*.h ./asm/ (as root user)
  • Pretty easy right?
As for the hard part, it requires you to understand a little bit more of Linux Flags, so to make it easier, you can download a simple bash script provided on Weltal's blog (mirrored on my Box account) to make the process automatically. You only need to run the script like this: ./nvidiafixandrun.sh ./NVIDIA-Linux-x86-295.20.run.

It will extract the NVidia driver, patch it, and re-package it again so you can use it afterwards.

My suggestion is still downloading the latest NVidia driver as it adds more hardware support and also fixed a lot of bugs found on previous versions.

Monday, March 19, 2012

VMWare Workstation 8.0.2 and Linux Kernel 3.3

Linux Kernel 3.3 has been released by Linus today and what's interesting about this release? Well, there are a lot of new stuffs as documented by KernelNewbies, so no need for me to write them down here. You can all go to the site and read the whole section.

What really interest me is that latest VMWare Workstation 8.0.2 needs no other patch than the previous patch for Linux Kernel 3.2. This means that if you are new users of VMWare Workstation, you can go to my previous post VMWare Workstation 8.0.2 and Linux Kernel 3.2 Patch and follow the instructions there, but for those who have been running Linux Kernel 3.2 and successfully patched VMWare Workstation 8.0.2, all you have to do is run this code

vmware-modconfig --console --install-all

and you will get your VMWare Workstation running well again after the script recompiled your VMWare Modules against the latest kernel (3.3 in this case).

Well, i do hope that future releases of Linux Kernel will do the same and no more patches required to make VMWare Workstation works with the latest Linux Kernel

Thursday, March 15, 2012

Security Updates: Firefox, Thunderbird, Seamonkey

All Mozilla packages are now being upgraded to the latest version. Firefox 11, Thunderbird 11, and Seamonkey 2.8 all have entered Slackware-Current tree along with a rare bsd-games rebuilt to fix typos and mtr also being upgrade.

Beside above updates, there's nothing particularly new in Slackware-Current development. I have a feeling that Pat might be waiting for Linux Kernel 3.3 to get released so that he could add it to next Slackware. Linux Kernel 3.3 should bring a lot of performance improvements over Linux Kernel 3.2 besides more hardware support and other interesting new features. See Top Features Of The Linux 3.3 Kernel by Phoronix for more information.

GCC 4.7 will also be released in the following weeks (if nothing breaks in the middle of it), so i guess it's kinda good combination to have it on Slackware as it supports the newest processors from Intel, Sandy Bridge, new compiler flags, and other optimizations that might improve Slackware's performance overall.

I believe the next Slackware release will be another great release. It should be the first release of Slackware utilizing Linux Kernel 3.x.

Monday, March 12, 2012

Integrating JavaFX into NetBeans on Slackware

After making sure that the samples are working great on our system based on my previous post, we can continue by integrating JavaFX into NetBeans, a nice and cool IDE suitable to work with many programming languages, mainly Java.

The latest version of NetBeans currently is 7.1.1 as this post is composed. You can download it directly from their download page and you can choose which version of NetBeans that you want to pick. I usually pick the complete version. Although it's quite big in terms of size (210 MB), it's really a good IDE and it's really worthed.

If you haven't got Java Development Kit and NetBeans, i would suggest you to download the bundled package available at Oracle's website directly. That saves your time. This article is assuming that you have NetBeans installed and you wanted to start developing JavaFX applications. Remember that JavaFX requires Java JDK 1.6.0 update 26 or later, or Java 7. I used Java 7 Update 3 (1.7.0_03) in my system.

First, fired up NetBeans and click on the "Try a Sample Project" on the first dialog screen. Pick Samples > JavaFX and pick any random samples (i used FXML-LoginDemo). You will notice that NetBeans complained that there's no JavaFX support

We actually have JavaFX installed correctly, but NetBeans didn't notice changes that we have made previously. So the solution is by creating a new "profile" that has JavaFX installed on our system.

First, open up a new terminal and move the JavaFX directory (javafx-sdk2.1.0-beta) to a directory /usr/local/netbeans-7.1/javafx/ (Change this path according to the path you have chosen to install NetBeans), so that it's now located under /usr/local/netbeans-7.1/javafx/javafx-sdk2.1.0-beta/ on my system.

Next, we go back to the sample dialog and click on Manage Platform. Add a new platform and locate where you installed your JDK (in my system, i placed it under /usr/java/jdk1.7.0_03). You will see a new platform called JDK 1.7 installed on top of the default platform and it has 4 tabs instead of 3 as in the default and the new tab is of course, JavaFX.

Click on JavaFX tab and tick to enable JavaFX. Next, browse to the place where you placed the JavaFX directory above so it looks like this

Once it's done, you can go back to the initial dialog and you will notice that the warning is now gone
You can click on the Finish button to complete the setup and enjoy the JavaFX sample. You can logged in using "demo" as both the username and password.
Basically this tells us that NetBeans is now ready to be used to produce JavaFX-based applications. It's now your turn to produce those amazing products.

Running JavaFX Apps on Slackware

JavaFX is a software platform for creating and delivering rich Internet applications that can run across a wide variety of connected devices. JavaFX is still an old plain Java code that gets compiled into bytecode, so that it can run on many platforms, including desktops, mobile, browsers, gaming console, and many others.

Unfortunately, when we install JDK on Linux, JavaFX SDK is not included and in fact, Oracle hasn't fully supported JavaFX on Linux and Macintosh. The only platform provided on the Download page is for Windows only. So how do we run JavaFX on Linux?

The answer is by using the Developer Preview of JavaFX 2.1. It seems that Oracle is planning to roll out support for Linux and OSX on the next release of JavaFX. You need to download 2 files, JavaFX SDK and JavaFX Samples (the sample is required to test that our installation is working well).

Once you download the SDK, unpack it and go to the directory created
unzip javafx_sdk-2_1_0-beta-b16-linux-i586-06_mar_2012.zip
cd javafx-sdk2.1.0-beta


Next, extract the JavaFX samples inside the JavaFX SDK directory
unzip javafx_samples-2_1_0-beta-b16-linux-i586-06_mar_2012.zip so the structure of the directory is like this:
javafx-sdk2.1.0-beta/
    COPYRIGHT.html
    README.html
    THIRDPARTYLICENSEREADME.txt
    bin/
    docs/
    javafx-samples-2.1.0-beta/
    lib/
    rt/
    tools
Once it's done, you can try running the examples provided by executing the .jar files under javafx-samples-2.1.0-beta/ directory. For example, to run the SwingInterop example, run this command:
java -jar SwingInterop.jar
and voila...........

I will write another post shortly after this to add integration to NetBeans so that you can start developing JavaFX-based applications using NetBeans

Monitor Your System Using Monit

Even a perfect system might have some glitches during normal operations. Human intervention is still required to perform several operations such as restarting a service, until Monit arrvices.

Monit eases sysadmin's job by checking the resources, processes, files, connections, and many other that you have defined in the monit configuration file and perform actions whenever they see any problems.

This is an example of how we monitored HTTPD Server (apache in this case) on Slackware machine:
set daemon 5
set logfile syslog facility log_daemon
check process httpd with pidfile /var/run/httpd/httpd.pid
start program = "/etc/rc.d/rc.httpd start"
stop program = "/etc/rc.d/rc.httpd stop"

set httpd port 8888
allow user:password

Add above lines in /root/.monitrc. Please make sure that the configuration only accessible to you, so give this command : chmod 700 .monitrc to set the permission.

Start monit using monit -d 5 (5 is the interval for checking and -d is for background/daemon mode) and you can start looking at your machine's HTTPD status by going through http://www.domain.com:8888 and login using user and password you defined in the configuration file.

You should also add the above command (monit -d 5) into /etc/rc.d/rc.local to make sure that monit will be executed everytime your machine had to reboot.

Basically, Monit can do more than just process checking. Read the documentation to find out more information about this cool application and what you can do with it.

Thursday, March 8, 2012

KDE 4.8.1 Monthly Update

It's been a month and it's time for KDE monthly update to be released by KDE Team. KDE 4.8.1 is the latest maintenance release that focuses on providing translations update and also bug fixes that were reported after KDE 4.8.0 was released. No new features are implemented on this release since new features will be part of the next major release of KDE which is scheduled be released on August according to the KDE 4.9 release schedule. It will be a perfect timing for me to use KDE 4.9 as new semester begins at the end of August. Hopefully most of the problem should be sorted out before new semester begins.

As always, Eric has compiled KDE 4.8.1 for Slackware-Current users and put them on his KTown repository that is mirrored into several servers, including my UKDW Repo Server.

Full credit should go to Eric, not me. Bug report should go upstream, but you can also post it on Eric's blog to let him know about it. Suggestions and comments about the packages should also be posted on Eric's blog for further enhancement or updates.

Download and enjoy the beautifully free KDE.

For your information, the total size of KDE 4.8.1 is getting bigger compared to previous edition (4.7.x). The x86 is now 785 MB and  x86_64 is 1,1 GB. In total, the KDE 4.8.1 packages + sources consumes around 3,4 GB (for both architecture)

Monday, March 5, 2012

Mirroring Using WGET and LFTP

Mirroring a website is sometime a useful trick to have an offline version of a website. Several ways can be used to get a full copy of the website and what's good about it is that some of the tools are already available at Slackware's default packages. They are wget and lftp.

In wget, you can use -m or --mirror option to turn on recursion which acts like a mirroring program, like this wget -m <host>

In lftp, we can use mirror sub command to perform a mirroring operation and then add several options to make it work like rsync, like this: lftp -e "mirror --delete --only-newer" <host> <target>

Be very cautious with --delete option as it might delete files available on your system, but not on the remote site, so it's safer to run this script in an empty directory and move it later when it's completed.

If you prefer to use GUI application, HTTrack is one of the best tool available. It's also available for other platform as well.

Sunday, March 4, 2012

Fair Bandwidth Usage

In order to provide fair bandwidth usage to community and to the school that provides the bandwidth, i decided to make some changes into the server that i currently manage. I know some people will be annoyed by this change, but it's something i must do since the top priority of the server is to provide facilities for students.

Minimizing rsync connection
In the past, i didn't give any limit to the rsync connection. Some people abuse this service and use all of the bandwidth provided. So, right now, i reduced it to 10 connections max. When that number reached, you will have to wait.


No ISOs at rsync
ISOs are no longer included in the rsync collections. Everything now comes down to repositories only. ISO should be downloaded directly via HTTP which has it's own bandwidth limiter during office hours (7 AM - 5 PM, Indonesian Time)


Monitor Closely
I have added the logging transfer options so that i can monitor what has been transfered to the public. The purpose of this repository is to help people to get packages easier and faster. If there's no one using it, i might shut down the repository and change to others that might be in high demand.


Removed Fedora and sorted repository list
I have removed Fedora on my repository list for some time, but i forgot to delete it from rsync list. Now, it's gone and the list has been sorted in ascending orders.


Renamed repository list
I have changed the slackbuilds.org repository into slackbuilds so that it's simpler and shorter. For those who used this server to sync with SlackBuilds, please update your rsync script as soon as possible.