[OE-core] [PATCH] waf.bbclass: explicitly pass libdir

Stefan Agner stefan at agner.ch
Mon Dec 11 14:16:44 UTC 2017


On 2017-12-11 15:01, Burton, Ross wrote:

> On 11 December 2017 at 13:57, Stefan Agner <stefan at agner.ch> wrote:
> 
>> From: Stefan Agner <stefan.agner at toradex.com>
>> 
>> On some build hosts distros (e.g. Fedora 26) waf tries to be
>> smart about libdir detection and defaults to [EXEC_PREFIX/lib64].
>> This obviously is not what we want for 32-bit targets and usually
>> fails in the do_package phase:
>> WARNING: gstreamer1.0-plugins-imx-0.13.0-r0 do_package: QA Issue: gstreamer1.0-plugins-imx: Files/directories were installed but not shipped in any package:
>> /usr/lib64/libgstimxcommon.so.0
>> 
>> Explicitly pass libdir to waf reliably resolves the issue.
> 
> What happens if the wscript doesn't recognise --libdir, does it silently ignore it or throw an error? 

Hm, isn't this a "base" option which is always supported?

> 
> If waf supports prefix and libdir and doesn't error on unknown options, does it also support datadir/sysconfdir and so on?  We should pass as much as possible.  The gnu_dirs module suggests yes, so you could copy what autotools passes. 
> 

There are a bunch of others. But most seem to derive from PREFIX, which
we set...

  Installation prefix:                                                  
                                                                   
    By default, "waf install" will put the files in "/usr/local/bin",
"/usr/local/lib" etc. An installation prefix other than               
    "/usr/local" can be given using "--prefix", for example
"--prefix=$HOME"                                                        
       
                                                                        
                                                                   
    --prefix=PREFIX     installation prefix [default: '/usr/local/']  
    --destdir=DESTDIR   installation root [default: '']               
    --exec-prefix=EXEC_PREFIX      
                        installation prefix for binaries [PREFIX] 

  Installation directories:        
    --bindir=BINDIR     user commands [EXEC_PREFIX/bin]               
    --sbindir=SBINDIR   system binaries [EXEC_PREFIX/sbin]            
    --libexecdir=LIBEXECDIR        
                        program-specific binaries [EXEC_PREFIX/libexec] 
                                                                   
    --sysconfdir=SYSCONFDIR        
                        host-specific configuration [PREFIX/etc]      
    --sharedstatedir=SHAREDSTATEDIR                                   
                        architecture-independent variable data
[PREFIX/com]                                                            
    
    --localstatedir=LOCALSTATEDIR  
                        variable data [PREFIX/var]                    
    --libdir=LIBDIR     object code libraries [EXEC_PREFIX/lib64]     
    --includedir=INCLUDEDIR        
                        header files [PREFIX/include]                 
    --oldincludedir=OLDINCLUDEDIR  
                        header files for non-GCC compilers
[/usr/include]                                                          
        
    --datarootdir=DATAROOTDIR      
                        architecture-independent data root
[PREFIX/share]                                                          
        
    --datadir=DATADIR   architecture-independent data [DATAROOTDIR]   
    --infodir=INFODIR   GNU "info" documentation [DATAROOTDIR/info]   
    --localedir=LOCALEDIR          
                        locale-dependent data [DATAROOTDIR/locale]    
    --mandir=MANDIR     manual pages [DATAROOTDIR/man]                
    --docdir=DOCDIR     documentation root [DATAROOTDIR/doc/PACKAGE]  
    --htmldir=HTMLDIR   HTML documentation [DOCDIR]                   
    --dvidir=DVIDIR     DVI documentation [DOCDIR]                    
    --pdfdir=PDFDIR     PDF documentation [DOCDIR]                    
    --psdir=PSDIR       PostScript documentation [DOCDIR]   

--
Stefan



More information about the Openembedded-core mailing list