OpenBSD GCC Fun
Monday, 2009-05-18 16:08, 1242662893 seconds since Unix epoch
First some good news. The cluster I’m building is finally able to stream H264/AVC using RTSP. It’s also able to chain RTSP links in between nodes in order to support tree-shape content distribution within the cluster. All of this functionality is easily accessible from a neat little Ruby API.
require 'vlm'
vlm = VLM.new('127.0.0.1', 4212, 'admin')
vlm.broadcasts.each do |broadcast|
vlm.play(broadcast)
end
I had to fix some things in VLC to make it at least workable for my setup. Some really weird assumptions and race conditions still plague the code base. The weirdest error was the following, while dynamically linking Live555.
undefined symbol ‘__gxx_personality_v0′
This symbol is used by GCC in some Java related internal stuff. What the hell is this error doing in VLC’s output?
Because VLC can’t be built (anymore) using the OpenBSD standard GCC 3 compiler, I had to use GCC 4 from the ports collection. Apparently, when dynamically linking GCC 3 compiled binaries with a GCC 4 product, some symbols are lost in translation. The solution was shipping my own GCC 4 compiled Live555 library.