Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 270372

Summary: app-cdr/cdrkit-1.1.9-r1 fails to build with glibc-2.10
Product: Gentoo Linux Reporter: gent_bz
Component: Current packagesAssignee: Gentoo Optical Media project <media-optical>
Status: RESOLVED FIXED    
Severity: normal CC: desintegr, diego.stamigni, eric_chaligny, peter.saaf, rion4ik, rob
Priority: High    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 270353    
Attachments: Allow cdrkit to be compiled with glibc 2.10
ebuild to make use of the patch

Description gent_bz 2009-05-19 05:19:43 UTC
[  0%] Building C object wodim/CMakeFiles/wodimstuff.dir/cd_misc.o                                                           
[  0%] [  1%] Building C object libusal/CMakeFiles/usal.dir/usalsettarget.o                                                  
In file included from /var/tmp/portage/app-cdr/cdrkit-1.1.9-r1/work/cdrkit-1.1.9/wodim/cd_misc.c:38:                         
/var/tmp/portage/app-cdr/cdrkit-1.1.9-r1/work/cdrkit-1.1.9/wodim/../include/schily.h:193: error: conflicting types for ‘getline’                                                                                                                          
/usr/include/stdio.h:651: note: previous declaration of ‘getline’ was here                                                   
Building C object libunls/CMakeFiles/unls.dir/nls_base.o                                                                     
make[2]: *** [wodim/CMakeFiles/wodimstuff.dir/cd_misc.o] Error 1                                                             
make[1]: *** [wodim/CMakeFiles/wodimstuff.dir/all] Error 2                                                                   
make[1]: *** Waiting for unfinished jobs....                                                                                 
[  1%] Building C object libusal/CMakeFiles/usal.dir/usaltimes.o                                                             
[  2%] Building C object libunls/CMakeFiles/unls.dir/nls_config.o                                                            
[  3%] Building C object libusal/CMakeFiles/usal.dir/scsierrs.o                                                              
In file included from /var/tmp/portage/app-cdr/cdrkit-1.1.9-r1/work/cdrkit-1.1.9/libusal/scsierrs.c:39:                      
/var/tmp/portage/app-cdr/cdrkit-1.1.9-r1/work/cdrkit-1.1.9/libusal/../include/schily.h:119: error: conflicting types for ‘fexecve’                                                                                                                        
/usr/include/unistd.h:524: note: previous declaration of ‘fexecve’ was here                                                  
/var/tmp/portage/app-cdr/cdrkit-1.1.9-r1/work/cdrkit-1.1.9/libusal/../include/schily.h:193: error: conflicting types for ‘getline’                                                                                                                        
/usr/include/stdio.h:651: note: previous declaration of ‘getline’ was here                                                   
[  3%] Building C object libusal/CMakeFiles/usal.dir/scsihack.o                                                              
make[2]: *** [libusal/CMakeFiles/usal.dir/scsierrs.o] Error 1                                                                
make[2]: *** Waiting for unfinished jobs....                                                                                 
[  3%] Building C object libunls/CMakeFiles/unls.dir/nls_cp10000.o                                                           
In file included from /var/tmp/portage/app-cdr/cdrkit-1.1.9-r1/work/cdrkit-1.1.9/libusal/scsihack.c:66:                      
/var/tmp/portage/app-cdr/cdrkit-1.1.9-r1/work/cdrkit-1.1.9/libusal/../include/schily.h:119: error: conflicting types for ‘fexecve’                                                                                                                        
/usr/include/unistd.h:524: note: previous declaration of ‘fexecve’ was here                                                  
/var/tmp/portage/app-cdr/cdrkit-1.1.9-r1/work/cdrkit-1.1.9/libusal/../include/schily.h:193: error: conflicting types for ‘getline’                                                                                                                        
/usr/include/stdio.h:651: note: previous declaration of ‘getline’ was here
Comment 1 gent_bz 2009-05-19 05:30:12 UTC
Looks like the same problems with fexecve and getdelim.

In file included from /var/tmp/portage/app-cdr/cdrkit-1.1.9-r1/work/cdrkit-1.1.9/libusal/scsierrs.c:39:                      
/var/tmp/portage/app-cdr/cdrkit-1.1.9-r1/work/cdrkit-1.1.9/libusal/../include/schily.h:119: error: conflicting types for ‘fexecve’                                                                                                                        
/usr/include/unistd.h:524: note: previous declaration of ‘fexecve’ was here    

and

Building C object wodim/CMakeFiles/wodim.dir/cue.o
/var/tmp/portage/app-cdr/cdrkit-1.1.9-r1/work/cdrkit-1.1.9/wodim/cue.c:256: error: conflicting types for ‘getdelim’
/usr/include/stdio.h:641: note: previous declaration of ‘getdelim’ was here


The terribly hacky solution of modifying function names seems to work around the problem.  Updating prototypes to match the Real Thing would probably be better (using actual libc routines would be better...).
Comment 2 Curtis Magyar 2009-05-20 21:22:09 UTC
Created attachment 191945 [details, diff]
Allow cdrkit to be compiled with glibc 2.10

This patch is from the Paldo distribution: http://www.paldo.org/index-section-packages-page-main-releaseid-125068.html
Comment 3 Lars Wendler (Polynomial-C) (RETIRED) gentoo-dev 2009-05-21 09:24:44 UTC
*** Bug 270629 has been marked as a duplicate of this bug. ***
Comment 4 Michael Skiba 2009-05-22 18:34:40 UTC
With this patch I'm able to compile 1.1.9-r1 with glibc 2.10, thank you very much.

I'll attach a modified ebuild, which can be used for an local overlay to apply the patch.
Comment 5 Michael Skiba 2009-05-22 18:42:24 UTC
Created attachment 192139 [details]
ebuild to make use of the patch

Newb tut:
echo PORTAGE_OVERLAY=/usr/local/portage/overlay/ >> /etc/make.conf
mkdir -p /usr/local/portage/overlay/app-cdr/cdrkit/files

place this ebuild in /usr/local/portage/overlay/app-cdr/cdrkit/

run 'ebuild /usr/local/portage/overlay/app-cdr/cdrkit/cdrkit-1.1.9-r1.ebuild digest'

place the patch from this bugzilla entry into /usr/local/portage/overlay/app-cdr/cdrkit/files

emerge cdrkit :)
Comment 6 Peter Alfredsen (RETIRED) gentoo-dev 2009-05-24 14:27:38 UTC
+  24 May 2009; Peter Alfredsen <loki_val@gentoo.org> cdrkit-1.1.9-r1.ebuild,
+  +files/cdrkit-1.1.9-glibc-2.10.patch:
+  Fix build with glibc-2.10, bug 191945. Thanks to Curtis Magyar
+  <curtm4n@gmail.com> for getting us the patch from Paldo linux and to
+  Jonathan Adamczewski <jadamcze@utas.edu.au> for reporting.
+