[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