[Splashy-users] splashy on FC5
rob arnold
rob at loci.net
Fri Jul 28 03:26:50 UTC 2006
Hi,
First off, I'm happy to see splashy exists. Reading all the reasons
why it does was like reading my own thoughts on the subject.
I'm trying to replace rhgb on Fedora Core 5 with splashy, and am
having some problems. Where I'm at now is that splashy segfaults when
run (I'm in vga=792, X isn't running).
Using gdb, I see that it's happening pretty early in the process, in
memcpy():
Program received signal SIGSEGV, Segmentation fault.
0x004a264c in memcpy () from /lib/libc.so.6
I first saw it when trying to run splashy test, but it actually
happens whatever command line for splashy is used.
If I use the init script, I get an explanation, but not sure it's the
right one:
# /etc/init.d/splashy-init start
/etc/init.d/splashy-init: line 973: log_begin_msg: command not found
/etc/init.d/splashy-init: line 104: 2383 Segmentation fault
"$@" >/dev/null 2>&1
Splashy failed because of the following reason(s):
- FIFO file doesn't exist
/etc/init.d/splashy-init: line 180: log_end_msg: command not found
Failed to start Splashy server [FAILED]
Doesn't the program create the FIFO itself? Am I missing a setup step?
I'll dig further, but thought someone might have seen this already
and be able to help.
For reference, in case anyone else is trying FC5, here's what I
recall having to do to get the project to compile.
First off, I had to find or create several static libraries. Most of
the deps were available for FC5 already packaged, but annoyingly they
only had shared libraries.
I ended up having to install DirectFB from a tarball (used 0.9.25.1),
built to generate static libs. I also added a static libjpeg (used
libjpeg-static-6b-36.2.1.cubbi1.i386.rpm). Finally I grabbed the
srpm for procps ( procps-3.2.6-3.5.src.rpm ), and edited the spec
file to use SHARED=0, therefore creating libproc.a. I probably
should have spend more time to create a static rpm version, but I
opted to just copy the libproc.a to the splashy src dir and updated
the Makefile.am to link against it.
A couple of other things I had to do... there were header files I
could find no package for, related to libproc and the proc/*.h
files. I ended up getting them from the procps srpm package and just
copying the proc directory from that package to the splashy src dir
so the compiler could find them.
I had linking errors for sysfs stuff. I looked in the Makefile and
couldn't find where the project was linking vs. sysfs, so I changed
the LDFLAGS as follows:
# (rca) got linker errors for sysfs stuff. Don't see where they
actually link against it (maybe it is computed by a cfg script?) so I
added it...
#splashy_LDFLAGS = -static -all_load -lgcc_s -lpthread -lm -lc $
(DFB) /usr/lib/libglib-2.0.a -lsysfs $(DFBHACK)
# if you need a fully statically compile binary, try using this line
instead:
# (rca) moved libsysfs after the DFBHACK to resolve linker order error.
splashy_LDFLAGS = -static -all_load -lgcc_s $(DFB) /usr/lib/
libglib-2.0.a /usr/lib/libpng.a /usr/lib/libz.a /usr/lib/
libpthread.a /usr/lib/libm.a /usr/
lib/libc.a $(DFBHACK) /usr/lib/libsysfs.a
I didn't try the default line, but instead switch to the fully static
line. I found I had to move the libsysfs.a to the end to resolve
linker errors, so I suspect in the first LDFLAGs entry, -lsysfs might
have to be moved to the end too.
I think that's all the changes I've made so far. Looking forward to
getting this further along.
Thanks for any help that can be provided.
More information about the Splashy-users
mailing list