bug-global
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: gtags.conf.in ignores custom --libdir if set


From: Kevin Farshaw
Subject: Re: gtags.conf.in ignores custom --libdir if set
Date: Sat, 10 Oct 2015 14:34:35 +0200

> Sent: Wednesday, October 07, 2015 at 2:30 AM
> From: "Shigio YAMAGUCHI"
> Hi,
> > gtags.conf.in lists the location of the shlibs for the bundles plugins,
> > namely ctags and pygments. The paths used are of the form
> >
> > @prefix_QUOTED@/lib
> >
> > where this should acutally be set according to $libdir which
> > may be customize by the user when invoking configure.
>  
> There is a problem with using 'libdir'.
> Without --libdir=xxx, configure script converts "@libdir@" into
> "${exec_prefix}/lib". It is valid in Makefile; it is invalid
> in gtags.conf.
> Do you have a method to settle this?
 
Why not use the same approach used for "$prefix" in configure.ac?
 
  case "$prefix" in
  NONE)   prefix_QUOTED=`echo $ac_default_prefix | sed 's/:/\\\\:/g'`;;
  *)      prefix_QUOTED=`echo $prefix | sed 's/:/\\\\:/g'`;;
  esac
 
If libdir is set, use it, if not, use a defualt value.
 
> > As a separate issue, I'm don't understand why gtags.conf has
> > paths to the libtool .la files instead of the .so files.
>  
> Why do you want to use .so instead of .la?
> The purpose of libtool library is to reduce OS dependence,
> and .la is a common extension for every OS.
>  

I am not an expert on libtool by any means, but what I've read about .la files
suggest they're not as useful as you suggest:

https://autotools.io/libtool/lafiles.html:
  One of the most commonly misunderstood features of libtool, especially
  in modern days, is the presence of the *.la files, the so-called
  libtool archives. These files are simple textual file descriptors of a
  library built with libtool and are consumed only by libtool and, in
  some circumstances, libltdl.
 
You may not care (and have every right not to) but the fedora packaging
guidelines prohibit .la files:
 
https://fedoraproject.org/wiki/Packaging:Guidelines#Packaging_Static_Libraries
  libtool archives, foo.la files, should not be included. Packages using
  libtool will install these by default even if you configure with
  --disable-static, so they may need to be removed before packaging. Due
  to bugs in older versions of libtool or bugs in programs that use it,
  there are times when it is not always possible to remove *.la files
  without modifying the program. In most cases it is fairly easy to work
  with upstream to fix these issues.
 
I also tried to dig up what the debian packaging guidelines have to say on the 
subject,
but those make "War & Peace" look like a pamphlet and I grew despondant and 
gave up.
 
IIUC, the files referenced by gtags.conf end up as arguments to a dlopen() call.
Why not name the .so files directly,  or their platform-specific equivalent
depending on the compilation target?
 
> > For reference, here's the associated issue on the fedora bugzilka:
> > https://bugzilla.redhat.com/show_bug.cgi?id=1268763
 
Thanks,
Kevin Farshaw



reply via email to

[Prev in Thread] Current Thread [Next in Thread]