Remove `*.la` files from ecosystem
See original GitHub issueIt turns out that the libtool created *.la
files can cause extraneous overlinkage. This is where every shared object file gets directly linked to each of its dependencies, even if they are far upstream in the dependency chain and not actually a direct dependency.
As discussed in https://github.com/conda-forge/glib-feedstock/pull/31, conda-forge/libxcb-feedstock#9, and conda-forge/staged-recipes#673, the decision is to remove these files. However, this has been done in an incomplete and inconsistent way. We also have no way currently of preventing folks from adding these files to packages in the future.
The following is a listing of all packages which need to have the *.la
files removed. Please check them off as the *.la
files are removed. Additionally, we need to add docs to this repo explaining why these files are not OK. Finally, an option should be added to conda-build to prevent *.la
files from being added to a package.
The command for removing the *.la
files should be:
find $PREFIX -name '*.la' -delete
CC @jakirkham @ocefpaf @mingwandroid @pkgw
- adept
- alsa-lib
- argtable2
- backtrace
- bdw-gc
- binutils
- brial
- cairo
- cairomm
- cddlib
- check
- cliquer
- cloog
- coincbc
- coinmp
- cppunit
- cunit
- curl
- cyrus-sasl
- czmq
- dbus
- eclib
- ecm
- ecmwf_grib
- exempi
- expat
- fflas-ffpack
- fftw
- flex
- fontconfig
- fplll
- freetds
- freetype
- freexl
- fswatch
- gdal
- gdb
- gdk-pixbuf
- geoip
- geos
- gettext
- gf2x
- giac
- giflib
- givaro
- glib
- glibmm
- glog
- glpk
- gmp
- gnutls
- gobject-introspection
- gperftools
- graphviz
- gsl
- gst-plugins-base
- gstreamer
- gtk2
- harfbuzz
- harminv
- hdf4
- hdf5
- hdfeos2
- hdfeos5
- hunspell
- igraph
- imagemagick
- iml
- inkscape
- inotify-tools
- iperf
- ipopt
- isl
- jags
- jansson
- jasper
- jpeg
- jq
- json-c
- judy
- lal
- lalframe
- lalmetaio
- lalsimulation
- lalxml
- leptonica
- lftp
- libarchive
- libassuan
- libatomic_ops
- libblitz
- libbrial
- libcf
- libcmaes
- libconfig
- libctl
- libdap4
- libedit
- libev
- libevent
- libffi
- libflac
- libframe
- libgap
- libgcrypt
- libgd
- libgdal
- libglu
- libgpg-error
- libgsasl
- libhwloc
- libiconv
- libidn11
- libjpeg-turbo
- libksba
- libmad
- libmagic
- libmatio
- libmemcached
- libmo_unpack
- libntlm
- libogg
- libpng
- libprotobuf
- libsecret
- libsemigroups
- libsigcpp
- libsigsegv
- libsndfile
- libsodium
- libspatialindex
- libspatialite
- libtasn1
- libtheora
- libtiff
- libtool
- libunistring
- libunwind
- libuuid
- libuv
- libvorbis
- libwebp
- libxcb
- libxml2
- libxmlpp
- libxslt
- lighttpd
- linbox
- log4cpp
- lrcalc
- m4ri
- m4rie
- mesalib
- metaio
- moab
- modsecurity
- mono
- mpb
- mpc
- mpfi
- mpfr
- mpg123
- mpich
- mpir
- nco
- netcdf-cxx4
- netcdf-fortran
- neuron
- nfft
- nlopt
- npth
- ntbtls
- ntl
- numcosmo
- ocl-icd
- octave
- oniguruma
- openfst
- openmotif-dev
- openmpi
- ossuuid
- pango
- pcre
- pcre2
- pixman
- planarity
- pocketsphinx
- popt
- postgis
- ppl
- primesieve
- proj4
- protobuf
- pygobject
- pymeep
- pynac
- python-ecmwf_grib
- qd
- qpdf
- qt
- qtlocation
- qtwebkit
- rw
- sdl2
- sdl2_gfx
- sdl2_image
- sdl2_mixer
- sdl2_net
- sdl2_ttf
- singular
- singularity
- smpeg2
- snappy
- source-highlight
- sox
- speex
- sphinxbase
- sqlite
- sstp-client
- tesseract
- texinfo
- texlive-core
- trmm_rsl
- udunits
- udunits2
- unixodbc
- xerces-c
- xorg-libice
- xorg-libsm
- xorg-libx11
- xorg-libxau
- xorg-libxaw
- xorg-libxaw3d
- xorg-libxcb
- xorg-libxcursor
- xorg-libxdmcp
- xorg-libxext
- xorg-libxfixes
- xorg-libxft
- xorg-libxi
- xorg-libxmu
- xorg-libxp
- xorg-libxpm
- xorg-libxrandr
- xorg-libxrender
- xorg-libxt
- xorg-libxtst
- xraylib
- xz
- yaml
- zbar
- zeromq
- zookeeper-c
Issue Analytics
- State:
- Created 5 years ago
- Comments:23 (20 by maintainers)
Top GitHub Comments
I’m considering adding a check to see that lib packages identified as run requirements are contributing a .so that’s actually linked to, issuing a warning otherwise.
Sounds all nice. What do I do if my builds now fail with
?
Best I can come up with is manually creating the missing
.la
file. 😦