Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 62736 - splashutils fails to compile (poss only on gcc 3.4.1)
Summary: splashutils fails to compile (poss only on gcc 3.4.1)
Status: RESOLVED CANTFIX
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Michal Januszewski (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-09-03 11:07 UTC by genbug
Modified: 2004-09-04 09:25 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description genbug 2004-09-03 11:07:10 UTC
When I try to emerge  media-gfx/splashutils-0.9_pre07 it fails . This may be due to my using gcc 3.4.1



Reproducible: Always
Steps to Reproduce:
1.emerge splashutils
2.
3.

Actual Results:  
...........

 CC      kernel/splash_kernel.o
In file included from splash_kernel.c:18:
/usr/portage/tmp/portage/splashutils-0.9_pre07/work/splashutils-0.9-pre07/linux/
include/linux/fb.h:305: error: field `modelist' has incomplete type
make: *** [kernel/splash_kernel.o] Error 1

!!! ERROR: media-gfx/splashutils-0.9_pre07 failed.
!!! Function src_install, Line 57, Exitcode 2
!!! (no error message)

bash-2.05b# gcc -v
Reading specs from /usr/lib/gcc/i686-pc-linux-gnu/3.4.1/specs
Configured with: /usr/portage/tmp/portage/gcc-3.4.1-r1/work/gcc-3.4.1/configure 
--prefix=/usr --bindir=/usr/i686-pc-linux-gnu/gcc-bin/3.4 --includedir=/usr/lib/
gcc/i686-pc-linux-gnu/3.4.1/include --datadir=/usr/share/gcc-data/i686-pc-linux-
gnu/3.4 --mandir=/usr/share/gcc-data/i686-pc-linux-gnu/3.4/man --infodir=/usr/
share/gcc-data/i686-pc-linux-gnu/3.4/info --enable-shared --host=i686-pc-linux-
gnu --target=i686-pc-linux-gnu --with-system-zlib --enable-languages=c,c++ --
enable-threads=posix --enable-long-long --disable-checking --disable-libunwind-
exceptions --enable-cstdio=stdio --enable-version-specific-runtime-libs --with-
gxx-include-dir=/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include/g++-v3 --with-
local-prefix=/usr/local --disable-werror --enable-shared --enable-nls --without-
included-gettext --disable-multilib --enable-__cxa_atexit --enable-clocale=gnu
Thread model: posix
gcc version 3.4.1  (Gentoo Linux 3.4.1-r1, ssp-3.4-2, pie-8.7.6.3)
Comment 1 Michal Januszewski (RETIRED) gentoo-dev 2004-09-04 05:06:43 UTC
This problem is caused by a bug in the kernel headers of 2.6.9_rc1 (I'm guessing you're using development-sources, right?). With the way things are done now I can't do much with it (dev-sources are supposed to be vanilla kernels from kernel.org, without any patches).

A quick and dirty fix that you might find useful is moving '#ifdef __KERNEL__' below the end of 'struct list_head' declaration in /usr/src/linux/include/linux/list.h. 
Comment 2 genbug 2004-09-04 08:41:39 UTC
The following fix was provided by xiphux who maintains xx-sources that I am currently using.

It did enable me to compile splashutils.

Go edit /usr/src/linux/include/linux/fb.h. At line 305, you'll see: 

Code:	
struct list_head modelist;	


Add an asterisk in front of modelist, so: 


Code:	
struct list_head *modelist	


It needs to be a pointer to a list head. But that breaks the other kernel stuff that depends on fb.h, so change it back after you compile splashutils.


xx is mm based so I believe this will show the same under mm sources.

I would appear to be splashutils incorrectly interpretting this variable, but I have not investigated further.
Comment 3 Michal Januszewski (RETIRED) gentoo-dev 2004-09-04 09:25:57 UTC
This is NOT a VALID fix. The fact that it makes splashutils compile doesn't justify using it to 'fix' things. The problem will most likely occur on the -mm kernels as well (as you said), but fbsplash is not supported on mm's.

Even if the hack you're were told about were correct, I couldn't apply anywhere as the problem is not in splashutils, but in the kernel headers.