Note for English Readers
Thank you for reading my blogs.
Saturday, November 28, 2009
New Project: Digital Music Studio on Slackware
Itu dulu yang bisa saya ceritakan ... Semoga akhir Desember nanti saya bisa cerita lebih banyak, mulai dari patching kernel, instalasi software, sampai pada aplikasinya di gereja.
Summary:
Since last year, I wanted to start this project, unfortunately, I had a lot of job to do so that I decided to postpone the project. However, in the mid of this month (November), I needed to write and analyze my song arrangements that I have been worked for this Christmas in the church. The arrangements are very complex; many songs have to play and there are 5 songs that have to play in medley with different rhythm styles, pitch, and tempo. Actually, nowadays, there are some distros that are built for digital studio such as 64Studio, Ubuntu Studio, etc. But, I love Slackware ... :) ... so that I will try to make Slackware64 on my Laptop to accommodate ideal system resources for digital studio. Today, I can use my Laptop, with Slackware64 running on it, as digital studio, but I have not explored all features and still get some problems such as connection problem between RD-700SX and Laptop via USB (Midi). I have used hydrogen, a drum programming software, for helping my drummer playing in a ballad style's song.
That's all that I can share now ... I hope, I can share more details from patching the kernel, software compilation and installation, until the application of digital studio in the church.
Thursday, October 29, 2009
Opini: Menggunakan Linux dan Open Source Software adalah suatu pilihan
Artikel ini merupakan opini saya tentang penggunaan Linux dan Open Source Software (OSS) yang adalah pilihan bagi masing-masing individu. Diawali dengan 5 butir pemikiran pribadi berdasarkan pengalaman pribadi saya, saya menyimpulkan bahwa pilihan untuk menggunakan Linux dan OSS tidak dapat dipaksakan, tetapi, walaupun begitu, bagi komunitas pengguna Linux dan OSS, jika kita tidak mengenalkan Linux dan OSS pada komunitas bukan pengguna Linux dan OSS, bagaimana mereka bisa memilih untuk menggunakan Linux dan OSS? Tidak kenal Linux dan OSS, pasti tidak akan memilih Linux dan OSS.
Beberapa waktu yang lalu, saya pernah didebat oleh beberapa rekan kerja saya tentang keuntungan penggunaan Linux dan OSS seperti OpenOffice.org, Blender, Gimp, dll, dalam aplikasi sehari-hari. Mereka beropini, menggunakan Linux dan OSS itu sedikit untungnya tetapi banyak susahnya. Mereka mencontohkan jika mereka ingin menginstall program harus selalu memperhatikan dependencies dari program tersebut; belum lagi masalah konfigurasi yang "njlimet". Selain itu, upgrade programnya juga terlalu sering, sehingga cukup merepotkan. Lalu, mereka membandingkan dengan penggunaan sebuah propriatery operating system dan propriatery software-software lain yang sangat terkenal dan banyak digunakan. Menurut mereka, banyak sekali kemudahan-kemudahan yang dialami seperti instalasi program baru yang sangat mudah dan upgrade yang sangat jarang. Salah satu statement mereka adalah "Hidup kok dibuat susah ... yang gampang-gampang saja ... ngapain susah-susah pakai Linux dan OSS padahal ada yang gampang ..."
Didebat seperti itu, saya, yang sejak akhir tahun 2003 telah secara total menggunakan Linux dan OSS, tidak langsung mendebat keras, tetapi, saya mulai menjelaskan, paling tidak, pemikiran dan opini saya tentang Linux dan OSS, sebenarnya apa sih alasan saya menggunakan Linux dan OSS ...
Pertama, dan juga tidak bisa ditawar-tawar lagi, masalah lisensi. Sebagian besar propriatery operating system dan software dijual dalam harga yang relatif mahal, terutama buat saya. Bisa-bisa, gaji saya sebulan habis untuk beli software ... itupun cuma dapat beberapa software ... Kalau membajak, sudah pasti, melanggar UU HAKI. Nah, solusi bagi siapa saja yang tidak berduit banyak dan ingin tidak melanggar UU HAKI, hanya satu: menggunakan Linux dan OSS. Dengan biaya yang relatif tidak mahal, kita bisa menggunakan Linux dan OSS dengan bebas, dalam koridor lisensi OSS seperti GPL, dsb.
Kedua, berdasarkan pengalaman saya, penggunaan Linux dan OSS membuat penghematan kapasitas hard disk yang sangat luar biasa. Sewaktu masih menggunakan propriatery operating system dan software, saya membutuhkan kapasitas hard disk minimal 20GB, dan itu sangat cepat "habis" jika banyak program yang diinstall. Bahkan, saya pernah mendengar keluh-kesah teman saya, kalau hard disk yang 160GB saja sekarang ini sudah tidak "layak" digunakan lagi karena propriatery operating system dan software yang baru sudah sangat "boros". Ketika saya beralih ke Linux dan OSS, kapasitas hard disk yang saya gunakan untuk operating system dan software tidak lebih dari 12 GB; itu sudah super sangat banyak OSS yang saya install pada Laptop saya. Sisanya, bisa "foya-foya" untuk data.
Ketiga, Linux dan OSS relatif "ringan", relatif tidak banyak menyedot resources PC/Laptop. Propriatery software dan operating system yang baru rata-rata mensyaratkan spesifikasi hardware yang sangat tinggi, entah itu prosesornya atau kapasitas RAM; sekarang ini, sebagian besar mensyaratkan penggunaan minimal prosesor sekelas Pentium 4 dan RAM 1GB, itupun dengan konfigurasi hardware minimal, sangat terasa "lemot"-nya (lemot = lambat). Untuk Linux dan OSS, spesifikasi hardware yang dibutuhkan lebih rendah dari itu; bisa saja prosesor sekelas Pentium II atau III, RAM cuma 512MB (itu jika menggunakan KDE atau Gnome). Bahkan, Linux dan OSS, beberapa masih bisa jalan pada komputer tua; tentu saja jangan menggunakan KDE atau Gnome :) ... Dari penjelasan tersebut, PC/Laptop yang berspesifikasi tinggi --jika menggunakan propriatery operating system dan software ternyata performance-nya biasa-biasa saja-- pasti akan terasa cepat, dengan kata lain, performance-nya akan "sip" jika menggunakan Linux dan OSS, untuk mengerjakan pekerjaan yang levelnya sama, dengan hasil yang sama pula ... so pasti ... hemat waktu mengerjakan dan tidak perlu jengkel menunggu loading software :) ...
Keempat, juga berdasarkan pengalaman saya, penggunaan Linux dan OSS akan membuat penggunanya semakin mengerti proses yang terjadi saat booting, eksekusi program, cara kerja operating system, cara kerja driver, konsep networking, konsep multi user, bahkan, jika pengguna mempunyai skill programming yang baik dan mencoba untuk mengeksplorasi source code dari OSS maka pengguna tersebut akan mendapatkan banyak sekali pengetahuan yang tidak ternilai harganya untuk pengembangan diri. Saya, sebagai seorang dosen, sering mendapatkan hal-hal baru yang dulunya belum pernah saya ketahui, dan pengetahuan baru itu dapat memperkaya saya saat saya mengajar. berdiskusi, serta membimbing mahasiswa-mahasiswa saya dalam hal Arsitektur Komputer, Programming, Networking, dan Embedded System. Hal inilah yang terus-menerus memacu saya untuk mengoprek Linux dan OSS.
Kelima, yang ini akan terasa sangat idealis, penggunaan Linux dan OSS tidak membuat saya terikat pada suatu perusahaan atau sekelompok orang yang eksklusif, tertutup, dan berorientasi total pada profit. Memang, dalam dunia industri dan perdagangan, profit itu yang terutama dan pasti ada usaha-usaha khusus untuk "mengamankan" profit, misalnya, dengan cara meng-"close" akses-akses yang dapat mengurangi peningkatan profit seperti menutup source code, memasang dongle hardware, dsb. Itu wajar. Akan tetapi, sebagai anggota suatu komunitas sosial, apa salahnya jika share kepada orang lain yang memang membutuhkan tetapi mengalami keterbatasan untuk mendapatkan. Pemikiran saya, misalnya, suatu perusahaan pengembang software membebaskan penggunaan software untuk kalangan pelajar dan organisasi sosial, perusahaan tersebut masih tetap dapat memperoleh profit pada beberapa waktu yang akan datang; karena pelajar yang terbiasa menggunakan software tersebut, saat bekerja di suatu perusahaan lain, pasti akan menyarankan atasannya untuk menggunakan software tersebut, sehingga perusahaan tersebut akan membeli lisensi penggunaan software dari perusahaan pengembang software itu --> ini kan menghasilkan profit! Contoh lain, karena pelajar tersebut telah menyarankan penggunaan software tersebut, perusahaan tempat pelajar tersebut bekerja bisa membeli jasa technical support dari perusahaan pengembang --> profit lagi! Jadi, perusahaan-perusahaan pengembang software yang tidak sekedar mengutamakan profit, kelihatannya rugi di awal-awal, tetapi, setelah beberapa waktu lamanya, mereka akan menuai profit yang besar. Konsep inilah yang diterapkan oleh perusahaan-perusahaan pengembang OSS dan free software seperti Trolltech (kelihatannya sekarang telah diakuisisi oleh Nokia) dengan Qt-nya, RedHat dengan RHEL, Fedora-nya, Novell dengan SUSE Enterprise-nya, Sun dengan Java, Open Solaris, OpenOffice.org, Virtual Box-nya, dsb. Perusahaan-perusahaan tersebut tidak bangkrut gara-gara share dengan komunitas, malahan, mereka semakin unjuk gigi sehingga perusahaan pengembang propriatery software perlu mewaspadai mereka dalam persaingan industri software.
Nah ... berdasarkan kelima pemikiran/opini saya itu, saya menyimpulkan bahwa sebenarnya penggunaan Linux dan OSS itu merupakan pilihan individu, tidak dapat dipaksakan, karena tiap individu mempunyai pemikiran sendiri-sendiri tentang apa yang dianggap baik dan bermanfaat. Bagi yang suka menggunakan propriatery software, silakan saja, asal tidak melanggar hukum. Bagi pengguna OSS, silakan menggunakan dengan bebas dalam koridor lisensi yang biasanya disebutkan pada dokumen license.txt.
Logikanya, bagaimana mereka bisa memilih menggunakan OSS jika mereka tidak mengenal OSS?Akhir kata, bagi saya dan pengguna OSS, dalam mempopulerkan OSS, kita perlu mengenalkan OSS kepada semua pengguna propriatery software, minimal, beri kesempatan kepada mereka untuk "mencicipi" OSS, selanjutnya terserah mereka ... Logikanya, bagaimana mereka bisa memilih menggunakan OSS jika mereka tidak mengenal OSS? Hal ini yang saya lakukan di laboratorium. Mahasiswa semester dua saya kenalkan dengan Linux dan OSS; mereka menggunakannya dalam waktu satu semester. Selanjutnya ... terserah mereka. Berdasarkan pengalaman saya, paling tidak sekitar 30% - 40% dari mereka, tertarik untuk mencoba Linux dan OSS lebih dalam. Langkah saya juga diikuti oleh dosen-dosen dari jurusan, fakultas, dan departemen lain yang juga mengenalkan OSS untuk kegiatan perkuliahan dan laboratorium, seperti penggunaan R untuk statistik, Maxima serta wxMaxima untuk matematika, OpenOffice.org untuk dokumentasi laporan mahasiswa, NetKit dan ns-2 untuk networking, dan Scilab untuk aplikasi signal processing.
Wednesday, October 28, 2009
3-in-1 USB Converter
Skema rangkaian dari 3-in-1 USB Converter dapat dilihat pada gambar berikut. Sebagai catatan, hanya gunakan 1 fungsi untuk 1 penggunaan, maksudnya, jika converter ini digunakan sebagai USB to UART Converter, sebaiknya jangan digunakan sebagai USB to ZigBee Converter atau ARM Bootloader. Hal ini dikarenakan jalur komunikasi pada IC FT232RL digunakan secara shared pada ketiga fungsi ini; converter ini hanya menggunakan 1 IC FT232RL dan IC ini hanya mempunyai 1 channel jalur komunikasi. Ada 3 jumper yang digunakan untuk konfigurasi seperti tegangan supply dari I/O --J2-- (+5V atau +3.3V), asal tegangan supply --J1-- (USB-powered atau self-powered), dan aktivasi ARM Bootloader --J3--.
Desain menggunakan gEDA dan pcb:
Hasil akhir dari 3-in-1 USB Converter ini dapat dilihat pada gambar berikut:
Pesan dmesg saat 3-in-1 USB Converter dihubungkan pada Laptop:
Setting minicom dan tampilan pada minicom saat ujicoba:
Program ujicoba yang di-develop menggunakan Code::Blocks dan library wxWidgets dan libftdi:
Jika Anda tertarik untuk memperoleh 3-in-1 USB Converter yang siap pakai, silakan menghubungi saya via e-mail untuk informasi lebih lanjut. Alamat e-mail saya dapat dilihat pada Profile saya.
Referensi:
Summary:
When I see that 2 of my students had difficulty in their undergraduate final project since there was no USB ARM Bootloader that could be used, I decided to develop USB ARM Bootloader using IC FT232RL, manufactured by FTDI Limited. In next step of development, I tried to accomodate the needs of my other students and my colleagues that need USB to UART converter for serial communication between PC/Laptop and microprocessor- or microcontroller-based minimum system and USB to ZigBee converter for image processing applied to mobile robot system that is controlled by PC/Laptop wirelessly. Please note that I totally used Open Source Software, such as gEDA, pcb, minicom, Code::Blocks, wxWidgets, dan libftdi, in phase of development and testing of the 3-in-1 USB Converter.
There are some notes:
- You cannot use all functions in one time, because FT232RL has only one channel. I shared this channel for all functions.
- There are 3 jumpers for configuration: J1 for USB-powered or self-powered I/O selector, J2 for selecting +5V or +3.3V supply of I/O, and J3 for activating ARM Bootloader function.
You can look all of pictures above for schematics, the product, etc. For more information about this product, please do not hesitate to contact me via e-mail (see my profile).
Thursday, October 15, 2009
Slackbuild script untuk AVR Development Software
Yang telah saya kerjakan dengan Slackbuild script, setelah selesai mendownload semuanya, saya mencari versi terbaru pada saat itu. Ternyata, hanya Slackbuild script untuk gcc saja yang perlu diedit karena saya memutuskan menggunakan gcc versi 4.4.1 daripada gcc versi 4.3.4. Jadi, saya edit baris ini dari avr-gcc.SlackBuild:
VERSION=${VERSION:-4.3.4}
menjadi:
VERSION=${VERSION:-4.4.1}
Untuk semua Slackbuild script, karena saya menggunakan Slackware64 13.0, maka baris ini:
ARCH=${ARCH:-i486}
saya edit menjadi:
ARCH=${ARCH:-x86_64}
Catatan: jika Anda menggunakan Slackware 13.0, Anda tidak perlu mengedit baris tersebut.
Setelah selesai menjalankan semua Slackbuild scripts, saya mendapatkan paket-paket berikut ini:
- avr-binutils-2.19.1-x86_64-1_SBo.tgz
- avr-gcc-4.4.1-x86_64-1_SBo.tgz
- avr-gdb-6.8-x86_64-1_SBo.tgz
- avr-libc-1.6.7-x86_64-2_SBo.tgz
- avrdude-5.8-x86_64-1_SBo.tgz
Referensi:
Summary:
For Slackers that want to make experiments on AVR microcontrollers, now, you have all of AVR Development Software running in your Slackware. You can use Slackbuild scripts to build installer packages of these: avr-binutils, avr-gcc, avr-gdb, avr-libc, and avrdude. The only script that you have to edit if you want to build newer version is avr-gcc.SlackBuild, please edit the following line:
VERSION=${VERSION:-4.3.4}
become this:
VERSION=${VERSION:-4.4.1}
For Slackware64 users, as usual, you have to change the following line:
ARCH=${ARCH:-i486}
to be like this line:
ARCH=${ARCH:-x86_64}
The packages that I have been built using Slackbuild scripts:
- avr-binutils-2.19.1-x86_64-1_SBo.tgz
- avr-gcc-4.4.1-x86_64-1_SBo.tgz
- avr-gdb-6.8-x86_64-1_SBo.tgz
- avr-libc-1.6.7-x86_64-2_SBo.tgz
- avrdude-5.8-x86_64-1_SBo.tgz
Wednesday, October 14, 2009
USBasp
Setelah dicetak dan disolder seluruh komponennya, serta, firmware USBasp telah di-download-kan ke ATmega8 yang digunakan pada USBasp ini, maka hasil akhirnya dapat dilihat pada gambar berikut ini:
USBasp in action menggunakan AVRDude sebagai ISP Software:
Jika Anda tertarik untuk memperoleh USBasp yang siap pakai atau masih dalam bentuk belum disolder, silakan menghubungi saya via e-mail untuk informasi lebih lanjut. Alamat e-mail saya dapat dilihat pada Profile saya.
Solusi jika USBasp tidak dapat digunakan oleh user biasa di Linux
Jika pada saat Anda menggunakan USBasp sebagai user biasa di Linux, ternyata USBasp Anda tidak dapat digunakan, tetapi saat Anda sebagai root atau superuser, ternyata USBasp tersebut dapat digunakan, berarti Anda sebagai user biasa tidak mempunyai hak akses ke USBasp. Solusi untuk masalah ini cukup mudah. Anda harus membuat file baru dengan nama 99-usbasp-rules pada direktori /lib/udev/rules.d yang isinya sebagai berikut:
untuk idVendor dan idProduct dapat Anda ketahui melalui command: lsusb (dengan catatan Anda sebagai root atau superuser dan USBasp Anda terhubung ke PC/Laptop). Setelah file tersebut di-save, re-plug USBasp Anda dan Anda akan mempunyai hak akses ke USBasp. Jangan lupa, pastikan user biasa tersebut telah menjadi group member dari plugdev.
Referensi:
- http://www.fischl.de/usbasp/
- http://www.nongnu.org/avrdude/
- http://www.gpleda.org/
- http://pcb.gpleda.org/
Summary:
This article shows USBasp, a USB in-circuit programmer for Atmel AVR Controllers, designed by Thomas Fischl. I have created PCB artwork for USBasp using gEDA and pcb, a GPL'ed Electronic Design Automation Suite that is running on Linux, then have applied it to all activities/projects related to AVR microcontroller in my laboratory, such as laboratory session for my students and intelligent robot developments.
If your USBasp cannot be used by user, but it can be detected and used by root, you have to add an udev rule in directory /lib/udev/rules.d through these steps (as a superuser or root):
- create new file: 99-usbasp-rules
- add these lines below to the file (you can obtain idVendor and idProduct by lsusb command as root and make sure your USBasp connected to your PC/laptop):
- save the file
- copy it to /lib/udev/rules.d (note: you must be a root to do this)
- re-plug your USBasp
Monday, October 12, 2009
Kompilasi dan Instalasi OpenCV 2.0.0 pada Linux -- Compiling & Installing OpenCV 2.0.0 on Linux --
Langkah pertama, sudah pasti, kita harus memastikan semua dependencies dari OpenCV 2.0.0 telah terinstall dengan baik pada PC/Laptop kita. Biasanya, untuk OpenCV, saya inginnya yang lengkap. Ada beberapa program yang merupakan dependencies dari OpenCV 2.0.0 yang "harus ada" (menurut kebutuhan dan mau saya), antara lain: xinelib, ffmpeg, libdc1394, v4l, swig, python, libjpeg, zlib, libpng, libtiff, libjasper. Untuk Slackware/Slackware64 13.0, beberapa dependencies seperti xinelib, swig, python, libjpeg, zlib, libpng, libtiff, dan libjasper telah terinstall; saya hanya perlu menambahkan ffmpeg, libdc1394, dan v4l. Mengenai cara mencari dan menambahkan dependencies, silakan dibaca pada manual distro masing-masing.
Setelah semua dependencies sudah terinstall, langkah kedua adalah kompilasi OpenCV 2.0.0. Untuk versi 2.0.0 ini, ada 2 cara kompilasi, yang pertama, cara klasik, menggunakan configure dan make; cara yang kedua adalah menggunakan cmake dan make. Saya telah mencoba kedua cara tersebut. Untuk yang menggunakan cmake, sebenarnya cara ini lebih mudah dan user-friendly (sejauh yang saya rasakan) tapi saat saya coba, setelah 85% proses kompilasi, muncul error.
Error yang muncul:
Linking CXX shared library ../../lib/libcvaux.so
[ 84%] Built target cvaux
Scanning dependencies of target cvhaartraining
[ 84%] Building CXX object apps/haartraining/CMakeFiles/cvhaartraining.dir/cvboost.o
[ 84%] Building CXX object apps/haartraining/CMakeFiles/cvhaartraining.dir/cvcommon.o
[ 85%] Building CXX object apps/haartraining/CMakeFiles/cvhaartraining.dir/cvhaarclassifier.o
[ 85%] Building CXX object apps/haartraining/CMakeFiles/cvhaartraining.dir/cvhaartraining.o
[ 85%] Building CXX object apps/haartraining/CMakeFiles/cvhaartraining.dir/cvsamples.o
Linking CXX static library ../../lib/libcvhaartraining.a
[ 85%] Built target cvhaartraining
Scanning dependencies of target createsamples
[ 85%] Building CXX object apps/haartraining/CMakeFiles/createsamples.dir/createsamples.o
Linking CXX executable ../../bin/opencv_createsamples
../../lib/libhighgui.so.2.0.0: undefined reference to `cvCreateCameraCapture_V4L(int)'
collect2: ld returned 1 exit status
make[2]: *** [bin/opencv_createsamples] Error 1
make[1]: *** [apps/haartraining/CMakeFiles/createsamples.dir/all] Error 2
make: *** [all] Error 2
Sampai sekarang, saya masih belum tahu sebabnya. Saya telah menanyakan ke forum OpenCV, belum ada jawaban, mungkin tidak ada yang mengalaminya, karena jika saya amati dari respon anggota forum, mayoritas bukan pengguna Linux.
Akhirnya, saya pakai cara klasik:
Jika tidak ada error, lalu:
Kompilasi sukses.
Langkah ketiga, install hasil kompilasi tersebut menggunakan make install. Pastikan Anda telah menjadi root user atau superuser saat menginstall:
Langkah terakhir adalah mencoba OpenCV 2.0.0. Kebetulan, 2 tahun lalu, saya pernah menulis di blog ini tentang cara membuat program dengan library OpenCV pada Linux. Program-program tersebut saya coba untuk di-compile ulang menggunakan library OpenCV versi 2.0.0 dan hasil kompilasinya dapat berjalan mulus pada laptop saya. Sekedar mengingatkan, cara kompilasi menggunakan library OpenCV adalah sebagai berikut:
Contoh:
Referensi:
Summary:
This article describes about compiling and installing OpenCV on Linux in general, not depending on Linux distros. All writings of this article are based on reference at OpenCV wiki site that you can find the link on Referensi. There are 4 steps that I've been worked that I will discuss.
First, make sure all dependencies of OpenCV have been installed properly. By my experience, I need xinelib, ffmpeg, libdc1394, v4l, swig, python, libjpeg, zlib, libpng, libtiff, and libjasper. For how to add dependencies, please consult to each distro's manual.
Second, compiling OpenCV. There are 2 methods, classical method (configure then make) and cmake method. When I tried cmake method using this command:
I found an error when the process has been 85% finished.
Linking CXX shared library ../../lib/libcvaux.so
[ 84%] Built target cvaux
Scanning dependencies of target cvhaartraining
[ 84%] Building CXX object apps/haartraining/CMakeFiles/cvhaartraining.dir/cvboost.o
[ 84%] Building CXX object apps/haartraining/CMakeFiles/cvhaartraining.dir/cvcommon.o
[ 85%] Building CXX object apps/haartraining/CMakeFiles/cvhaartraining.dir/cvhaarclassifier.o
[ 85%] Building CXX object apps/haartraining/CMakeFiles/cvhaartraining.dir/cvhaartraining.o
[ 85%] Building CXX object apps/haartraining/CMakeFiles/cvhaartraining.dir/cvsamples.o
Linking CXX static library ../../lib/libcvhaartraining.a
[ 85%] Built target cvhaartraining
Scanning dependencies of target createsamples
[ 85%] Building CXX object apps/haartraining/CMakeFiles/createsamples.dir/createsamples.o
Linking CXX executable ../../bin/opencv_createsamples
../../lib/libhighgui.so.2.0.0: undefined reference to `cvCreateCameraCapture_V4L(int)'
collect2: ld returned 1 exit status
make[2]: *** [bin/opencv_createsamples] Error 1
make[1]: *** [apps/haartraining/CMakeFiles/createsamples.dir/all] Error 2
make: *** [all] Error 2
Until now, I still don't know how to solve it. There is no response from OpenCV forum, perhaps, nobody got this error when compiling OpenCV 2.0.0.
I switched the method using classical method:
If no error, lalu:
I found no error until compilation finished.
Third, install the compiled OpenCV using (note: make sure you have been a root user or superuser when execute this command):
The last step is try to make a simple program that needs OpenCV library then compile it using:
Thursday, October 8, 2009
OpenCV 2.0.0 telah dirilis
OpenCV merupakan suatu library kumpulan fungsi-fungsi pemrograman yang khusus ditujukan untuk real-time computer vision. Aplikasinya cukup luas, antara lain: Human-Computer Interaction (HCI), Object Identification, Segmentation and Recognition, Face Recognition, Gesture Recognition, Motion Tracking, Ego Motion, Motion Understanding, Structure From Motion (SFM), Stereo and Multi-Camera Calibration and Depth Computation, Mobile Robotics.
Bagi yang berkecimpung dalam bidang computer vision, terutama real-time computer vision, ada kabar yang menggembirakan, yaitu, pada tanggal 30 Sept. 2009, telah dirilis OpenCV versi 2.0.0. Beberapa penambahan fitur pada versi 2.0.0 ini bila dibandingkan dengan OpenCV 1.1pre1 antara lain:
- bug fixed.
- The brand-new C++ interface untuk sebagian besar fungsi pada OpenCV (cxcore, cv, highgui).
- Build system menggunakan CMake.
- Perbaikan pada fungsi-fungsi aljabar linier.
- Support bicubic and Lanczos interpolation.
- Support stereo camera (Linux).
- Image dapat dikompress dan di-dekompress langsung pada buffer memory
- Beberapa fungsi dasar dan operasi image processing (seperti operasi aritmatika, geometric image transformations, filtering, dll) telah mempunyai optimasi SSE2 sehingga fungsi-fungsi tersebut akan bekerja beberapa kali lebih cepat daripada versi sebelumnya.
- dll.
Instalasi OpenCV 2.0.0 for Linux dengan cara meng-compile sendiri dari source akan saya bahas kemudian. So ... be patient! :))
Referensi:
Friday, October 2, 2009
Menambahkan Multilib pada Slackware64 -- Enabling multilib on Slackware64 --
Pada tutorial kali ini, akan dibahas mengenai penambahan multilib pada Slackware64 karena Slackware64 hanya menyediakan library untuk komputasi 64-bit sehingga Slackware64 tidak dapat menjalankan program-program yang hanya support komputasi 32-bit, seperti wine, skype, adobe reader, dan grub, serta tidak dapat meng-compile source code untuk komputasi 32-bit. Jadi, dengan kata lain, jika kita menghendaki Slackware64 yang terinstall pada PC/laptop kita dapat meng-compile dan menjalankan program-program untuk komputasi 32-bit, maka kita harus menyediakan library 32-bit yang dibutuhkan oleh program-program tersebut. Penambahan library 32-bit ini akan membuat Slackware64 kita mempunyai 2 jenis library, 32-bit dan 64-bit, oleh karena itu, kondisi ini disebut multilib, bentuk singkat dari multi-library. Untuk membuat Slackware64 kita menjadi multilib, caranya sangat mudah karena pada dasarnya, Slackware64 sudah multilib-ready, kita hanya tinggal meng-install-kan 32-bit libraries yang dibutuhkan. Eric Hameleers, sebagai pembuat dan maintainer Slackware64, telah menuliskan caranya pada http://alien.slackbook.org/dokuwiki/doku.php?id=slackware:multilib. Tutorial ini akan membahas langkah-langkah yang telah dilakukan penulis untuk me-multilib-kan Slackware64 berdasarkan panduan dari Eric.
Pertama kali, Anda harus men-download paket-paket gcc dan glibc yang versi multilib serta compat32-tools dari website Eric (http://connie.slackware.com/~alien/multilib/). Paket-paket tersebut, pada saat tutorial ini ditulis, adalah sebagai berikut:
gcc-4.3.3_multilib-x86_64-4alien.txz
- gcc-g++-4.3.3_multilib-x86_64-4alien.txz
- gcc-gfortran-4.3.3_multilib-x86_64-4alien.txz
- gcc-gnat-4.3.3_multilib-x86_64-4alien.txz
- gcc-java-4.3.3_multilib-x86_64-4alien.txz
- gcc-objc-4.3.3_multilib-x86_64-4alien.txz
- glibc-2.9_multilib-x86_64-3alien.txz
- glibc-i18n-2.9_multilib-x86_64-3alien.txz
- glibc-profile-2.9_multilib-x86_64-3alien.txz
- glibc-solibs-2.9_multilib-x86_64-3alien.txz
- glibc-zoneinfo-2.9_multilib-noarch-3alien.txz
- compat32-tools-1.0-noarch-12alien.tgz
File-file tersebut disimpan dalam satu directory, lalu jalankan command berikut:
# upgradepkg --reinstall --install-new *.t?z
Selanjutnya, Anda dapat men-download paket-paket compat32 dari website Eric (http://connie.slackware.com/~alien/multilib/slackware64-compat32/), dari directori a-compat32, ap-compat32, d-compat32, l-compat32, n-compat32, dan x-compat32. File-file tersebut merupakan paket slackware 32-bit yang sudah dikonversi menggunakan script yang ada pada compat32-tools, totalnya sekitar 60MB. Tentang cara konversi, bisa dibaca pada website Eric yang tertulis pada bagian referensi di akhir tutorial ini. Kemudian, jalankan command berikut untuk menginstall semua paket tersebut:
# installpkg *-compat32/*.t?z
Sebagai catatan, waktu penulis melakukan instalasi paket-paket ini, muncul pesan error saat instalasi pango-compat32, yaitu:
Executing install script for pango-compat32-1.22.4-x86_64-4.txz.
/usr/bin/pango-querymodules-32: error while loading shared libraries: libXft.so.2: cannot open shared object file: No such file or directory
Jika Anda mengalami error ini, biarkan saja, nanti setelah semua paket terinstall, Anda hanya perlu mengulangi installasi pango-compat32:
# upgradepkg --reinstall pango-compat32-1.22.4-x86_64-4.txz
That's it all. Slackware64 Anda telah benar-benar multilib. Anda bisa menjalankan aplikasi 32-bit dan meng-compile source yang hanya dapat dijalankan pada slackware 32-bit. Gambar-gambar berikut menunjukkan bahwa aplikasi 32-bit seperti Adobe Reader 9.1.2 dan Skype 2.0.0.72 for Linux dapat dijalankan dengan mulus pada Slackware64 di laptop penulis serta pada saat booting, Anda akan melihat beberapa baris tambahan.
# . /etc/profile.d/32dev.sh
Cukup sekian tutorial multilib ini. Informasi lebih detil dapat Anda baca pada website Eric Hamaleers yang tercantum pada bagian referensi.
Referensi:
http://alien.slackbook.org/dokuwiki/doku.php?id=slackware:multilib
- http://connie.slackware.com/~alien/multilib/README
Summary:
This article shows how to enable multilib on Slackware64 in Indonesian based on Eric's work (see referensi). If you want to know more about enabling multilib on Slackware64 in English, I encourage you to read yourself at Eric's writing that is more detail than mine.
Tuesday, September 29, 2009
Instalasi digiKam 1.0.0-beta4 pada Slackware -- digiKam 1.0.0-beta4 Installation on Slackware --
Instalasi digiKam pada Slackware/Slackware64 13.0 cukup mudah, Anda hanya membutuhkan tambahan 1 dependency, yaitu lensfun, sedangkan dependencies yang lain sudah tersedia pada Slackware/Slackware64 13.0. Untuk lensfun -saat tutorial ini dibuat, lensfun sudah versi 0.2.3-, Anda bisa men-download source file-nya, yaitu lensfun-0.2.3.tar.bz2, dari website projeknya, http://lensfun.berlios.de, sedangkan slackbuild script dari lensfun (lensfun.tar.gz) dapat Anda peroleh dari slackbuild.org. Setelah source file dan slackbuild script untuk lensfun telah Anda download, langkah selanjutnya adalah Anda ekstrak slackbuild script (lensfun.tar.gz) lalu source file lensfun-0.2.3.tar.bz2 Anda letakkan pada directory yang sama dengan lensfun.SlackBuild. Sebagai catatan kecil, jika Anda menggunakan slackware64 13.0, kita harus meng-edit file lensfun.SlackBuild pada bagian ARCH=${ARCH:-i486} menjadi ARCH=${ARCH:-x86_64}. Selanjutnya, jalankan script lensfun.SlackBuild pada mode root atau superuser (su) karena slackbuild script membutuhkan akses ke directory /tmp. Jika tidak ada error -seharusnya tidak ada ... :)-, maka Anda akan menemukan file lensfun-0.2.3-i486-1_SBo.tgz (atau lensfun-0.2.3-x86_64-1_SBo.tgz untuk slackware64) pada directory /tmp lalu installpkg. Urutan langkah instalasi lensfun dapat disimpulkan sebagai berikut:
$ tar -xvzf lensfun.tar.gz $ cd lensfun $ cp path-to/lensfun-0.2.3.tar.bz2 ./ $ su # ./lensfun.SlackBuild # installpkg /tmp/lensfun-0.2.3-i486-1_SBo.tgz
That's all for lensfun. Anda bisa copy file /tmp/lensfun-0.2.3-i486-1_SBo.tgz ke directory yang Anda kehendaki sebagai arsip dan hapus file hasil proses slackbuild script dari /tmp/SBo.
Langkah selanjutnya adalah instalasi digiKam 1.0.0-beta4. Source file, digikam-1.0.0-beta4.tar.bz2, dapat di-download dari website http://www.digikam.org. Untuk slackbuild script dari digiKam, tidak tersedia, tetapi Eric Hameleers (alienBOB) menyediakan slackbuild script untuk digiKam versi 0.10.0 yang dapat didownload dari http://connie.slackware.com/~alien/slackbuilds/digikam. Untuk proses kompilasi dan instalasi digiKam, penulis memilih proses kompilasi dan instalasi dari source file. Cara cukup mudah, terutama bagi para slackers ... betul khan ... :). Pertama kali, tentu saja, ekstrak file digikam-1.0.0-beta4.tar.bz2, lalu masuk ke directory hasil ekstrak tersebut (biasanya digikam-1.0.0-beta4). Selanjutnya cmake ., make, dan make install (dalam mode root atau superuser) jika tidak ada error -seharusnya tidak ada ... :)-, digiKam sudah siap pada PC/laptop Anda. Urutan langkah kompilasi dan instalasi digiKam dapat disimpulkan sebagai berikut:
$ tar -xvjf digikam-1.0.0-beta4.tar.bz2 $ cd digikam-1.0.0-beta4 $ cmake . $ make $ su # make install
That's all for digiKam. So easy, isn't it?
Beberapa gambar tampilan digiKam 1.0.0-beta4 pada laptop saya dapat dilihat di bawah ini.
Referensi:
http://www.digikam.org
http://lensfun.berlios.de
http://slackbuild.org
Summary:
digiKam is an advanced, KDE Digital Photo Management Application with support for Digital Cameras. It needs some dependencies software, but, we only add lensfun on Slackware/Slackware64 13.0. First, download the source of lensfun-0.2.3.tar.bz2 then download the SlackBuild script (lensfun.tar.gz) from slackbuild.org. Next, follow the steps below:
Please note that you have to change path-to to correct directory and if you use Slackware64, please change the line ARCH=${ARCH:-i486} to ARCH=${ARCH:-x86_64} before executing lensfun.SlackBuild.
$ tar -xvzf lensfun.tar.gz
$ cd lensfun
$ cp path-to/lensfun-0.2.3.tar.bz2 ./
$ su
# ./lensfun.SlackBuild
# installpkg /tmp/lensfun-0.2.3-i486-1_SBo.tgz
That's all for lensfun.
Now, the main job, compiling digiKam from source and install it. Download the source of digiKam-1.0.0-beta4.tar.bz2, then follow these steps:
$ tar -xvjf digikam-1.0.0-beta4.tar.bz2
$ cd digikam-1.0.0-beta4
$ cmake .
$ make
$ su
# make install
Now, you can run digiKam from your Slackware. That's all for digiKam. So easy, isn't it?
Prosesor Anda 32-bit atau 64-bit? -- What is your processor? 32-bit or 64-bit? --
$ cat /proc/cpuinfo | grep flags
maka akan muncul hasilnya seperti gambar berikut ini:
Lalu, kita cari flag lm. Jika kita temukan flag ini, maka prosesor PC/laptop kita sudah support komputasi 64-bit, sehingga kita bisa menginstall sistem operasi 64-bit.
Catatan: lm singkatan dari Long Mode (64-bit mode)
Referensi:
- http://www.cyberciti.biz/faq/linux-how-to-find-if-processor-is-64-bit-or-not/
- http://www.unixtutorial.org/2009/05/how-to-confirm-if-your-cpu-is-32bit-or-64bit/
- http://www.cyberciti.biz/tips/how-do-i-find-out-if-my-server-cpu-can-run-a-64-bit-kernel-version-apps-or-not.html
Summary:
In id-slackware mailing-list, someone asked me about kind of processor he had, 32-bit or 64-bit. The answer is we can know it from cpuinfo by typing this command at console/terminal:
$ cat /proc/cpuinfo | grep flags
If you find lm flag (Long Mode) in the result, you have a 64-bit capable processor so that you can use 64-bit operating system.
My New-look Slackware
The new-look slackware on my laptop can be seen at the picture below.
Thank's to Eric for realizing the 64-bit official port of Slackware. It is so nice. Great job.
Also, I would like to thank abundantly to Fred Emmott that has been created and maintained Slamd64 very well so that I still could use my favorite Linux distro, Slackware.
It has been long time not to see you in this blog ... :( in 2 years, I didn't write anything ...
I hope, I can write regularly since today. Many things I'd like to share ...
Perhaps, from today, I will write mostly in Indonesian, but don't worry if your language is not Indonesian because I will give a summary in English at the end of my posts if I write them in Indonesian. If you wanna to contact me for some questions after read the English summary, please do not hesitate to e-mail me ...