[uClibc 0001297]: getopt-susv3 excludes include/getopt.h but installs include/bits/getopt.h

bugs at busybox.net bugs at busybox.net
Fri Sep 26 15:40:03 UTC 2008


A NOTE has been added to this issue. 
====================================================================== 
http://busybox.net/bugs/view.php?id=1297 
====================================================================== 
Reported By:                ynglingatal
Assigned To:                uClibc
====================================================================== 
Project:                    uClibc
Issue ID:                   1297
Category:                   Standards Compliance
Reproducibility:            sometimes
Severity:                   minor
Priority:                   normal
Status:                     closed
Resolution:                 fixed
Fixed in Version:           0.9.30
====================================================================== 
Date Submitted:             03-29-2007 04:57 PDT
Last Modified:              09-26-2008 08:40 PDT
====================================================================== 
Summary:                    getopt-susv3  excludes  include/getopt.h but
installs  include/bits/getopt.h
Description: 
I deliberately constructed in Buildroot a situation where getopt-susv3
would
replace GNU-getopt. All things went well except that include/getopt.h was
not
installed. Once I inserted per hand

        ls -s bits/getopt. include/getopt.h

the compilation procedure proceeds as expected. Since the error directly
concerns the choice of getopt-susv3 in uClibc, I'd rather say the bug is
with the library than with Buildroot.
====================================================================== 

---------------------------------------------------------------------- 
 bernhardf - 09-24-08 07:46  
---------------------------------------------------------------------- 
Thanks for pointing this out. Fixed in r23469. 

---------------------------------------------------------------------- 
 bernhardf - 09-26-08 08:40  
---------------------------------------------------------------------- 
On second thought this patch was reverted:
- revert r23469. If gnu getopt is disabled, then there is no getopt.h.
  In these cases the getopt stuff comes from unistd.h (which includes
bits/getopt.h for us)

Look at the manpage of getopt. For the normal case you get the getopt
definitions via unistd.h and _ONLY_ for #define __GNU_SOURCE and
getopt_long stuff the <getopt.h> is to be used.

Generally speaking there are only a few packages that cope with getopt* in
a sensible way, umong them busybox where you can turn off getopt_long
support alltogether.
If you deliberately turn off GNU-getopt and a package that expects
GNU-getopt breaks then this is not a uClibc problem. 

Issue History 
Date Modified   Username       Field                    Change               
====================================================================== 
03-29-07 04:57  ynglingatal    New Issue                                    
03-29-07 04:57  ynglingatal    Status                   new => assigned     
03-29-07 04:57  ynglingatal    Assigned To               => uClibc          
09-24-08 07:46  bernhardf      Status                   assigned => closed  
09-24-08 07:46  bernhardf      Note Added: 0011884                          
09-24-08 07:46  bernhardf      Resolution               open => fixed       
09-24-08 07:46  bernhardf      Fixed in Version          => 0.9.30          
09-26-08 08:40  bernhardf      Note Added: 0012224                          
======================================================================




More information about the uClibc-cvs mailing list