Ah, the joy of living next to Asia. Plenty of DVDs on "promotion". Good samaritan that I am, I offered a work colleague to backup some of his movie DVDs. I didn't want to carry them all home, so I decided to rip as many as I could to my notebook and carry the rest home.
After fiddling a lot with dvd::rip, trying to get all its dependencies to work, I found this. The little program, dvdbackup.c, compiles and works beautifully, just as the instructions advertise. I only had only little problem with the libdvdread - the intructions says it will work with version 0.93 and above, which is not true because function prototypes have changed. I downloaded version 0.93 and it worked like a charm.
The program creates a DVD structure on the output directory, which I'm hoping to burn when I get home, where I have a fully-equipped DVD "backup" station.