[uClibc 0003254]: Build: dlfcn.h removed when it shouldn't be

bugs at busybox.net bugs at busybox.net
Mon Jun 2 23:47:23 UTC 2008


The following issue has been CLOSED 
====================================================================== 
http://busybox.net/bugs/view.php?id=3254 
====================================================================== 
Reported By:                frabar666
Assigned To:                uClibc
====================================================================== 
Project:                    uClibc
Issue ID:                   3254
Category:                   Shared Library Support
Reproducibility:            always
Severity:                   major
Priority:                   normal
Status:                     closed
Resolution:                 open
Fixed in Version:           
====================================================================== 
Date Submitted:             05-06-2008 12:29 PDT
Last Modified:              06-02-2008 16:47 PDT
====================================================================== 
Summary:                    Build: dlfcn.h removed when it shouldn't be
Description: 
Product version: svn-HEAD

svn-r20475 added logic to rm <dlfcn.h> during build (in "Makefile.in") and
remove its inclusion (in "include/link.h") when "not supporting" shared
libraries. However the two conditionals are not the same: the first one
tests "!HAVE_SHARED", while the second one tests "HAVE_NO_SHARED".
The problem is that "HAVE_NO_SHARED" is not always "!HAVE_SHARED" (AFAIK
first one is auto-detected from ARCH, whereas second one is a user config
choice if "!HAVE_NO_SHARED"). In this case:
- HAVE_NO_SHARED is not defined (ARCH supports shared libs),
- HAVE_SHARED is not defined (user doesn't want shared lib support),
<dlfcn.h> is rm'd by "Makefile.in", yet is still included by
"include/link.h", which obviously doesn't compile.
(problem seen when using buildroot with uClibc-snapshot, during
compilation of gcc's crtbegin*.o and crtend*.o -- I can provide more info
(arch, versions, config, ...) if needed)

I'm not sure which one of the two conditions is the right one, but I'd go
with "HAVE_NO_SHARED"? That's what the attached patch does, it fixed the
problem in my case.
====================================================================== 

---------------------------------------------------------------------- 
 vda - 06-02-08 16:47  
---------------------------------------------------------------------- 
Fixed in rev 22193, thanks. 

Issue History 
Date Modified   Username       Field                    Change               
====================================================================== 
05-06-08 12:29  frabar666      New Issue                                    
05-06-08 12:29  frabar666      Status                   new => assigned     
05-06-08 12:29  frabar666      Assigned To               => uClibc          
05-06-08 12:29  frabar666      File Added: uClibc-dlfcn.patch                   

06-02-08 16:47  vda            Status                   assigned => closed  
06-02-08 16:47  vda            Note Added: 0007964                          
======================================================================




More information about the uClibc-cvs mailing list