You are not logged in.

#1 2008-11-15 22:43:17

TPJ
Member
From: Gliwice, Poland
Registered: 2005-12-21
Posts: 33

*.la files (possibly a lame newbie question)

I'm a newbie packager. I have successfully installed a lot of software from source, but I have never made my own Arch packages so far. Now, I have decided to try.

I have read the guide, and my package is correctly built. Now, it's time to make it well. When I was installing software from sources, I had many .la files. There are some files of this type in my package too. The problem is, there are no .la files in /usr/lib, on my Arch system. I have also found this news saying that I should get rid of all .la files from my package. The news is outdated though...

The question is: should I get rid of .la files from my package? Will it work correctly after that?

Offline

#2 2008-11-15 23:03:03

tomk
Forum Fellow
From: Ireland
Registered: 2004-07-21
Posts: 9,839

Re: *.la files (possibly a lame newbie question)

Yes you should, and it will still work as intended. Use the OPTIONS array in makepkg.conf to make it the default setting - read man makepkg.conf for more details.

Offline

#3 2008-11-16 03:22:03

Snowman
Developer/Forum Fellow
From: Montreal, Canada
Registered: 2004-08-20
Posts: 5,212

Re: *.la files (possibly a lame newbie question)

There is a minority of packages that needs the .la files to work properly.  You should remove the files and see first  if your app works correctly without them.  For that reason, I wouldn't make it the default setting in /etc/makepkg.conf. The default makepkg.conf has the option set to keep these files. They should be removed on a PKGBUILD-by-PKGBUILD basis with the !libtool option.

Offline

#4 2008-11-16 13:03:24

Profjim
Member
From: NYC
Registered: 2008-03-24
Posts: 658

Re: *.la files (possibly a lame newbie question)

Snowman wrote:

There is a minority of packages that needs the .la files to work properly.  You should remove the files and see first  if your app works correctly without them.  For that reason, I wouldn't make it the default setting in /etc/makepkg.conf. The default makepkg.conf has the option set to keep these files. They should be removed on a PKGBUILD-by-PKGBUILD basis with the !libtool option.

What's wrong with making !libtool the default and having the packages that need them specify options=(libtool). Won't that also work? In fact, shouldn't that be the preferred way to write PKGBUILDs for packages that require the .la files, so that it's not dependent on how the user has configured makepkg's defaults?

Searching my install, I see:

gnutls, libarchive, subversion have .la files and have options=(libtool...) in their PKGBUILDs

fam has .la files but doesn't have libtool in its options. But it does have a comment saying 'Don't !libtool'. Why then doesn't it list libtool in the options?

libdmx, libsasl, libvorbis, and neon have .la files, but either don't list libtool in their options line, or lack an options line altogether. Shouldn't we be able to construe that as a statement that they don't require the .la files? Does anyone reading this thread have knowledge of whether any of these specific packages does require their .la files?

Last edited by Profjim (2008-11-16 13:27:46)

Offline

#5 2008-11-17 01:11:14

Snowman
Developer/Forum Fellow
From: Montreal, Canada
Registered: 2004-08-20
Posts: 5,212

Re: *.la files (possibly a lame newbie question)

Profjim wrote:
Snowman wrote:

There is a minority of packages that needs the .la files to work properly.  You should remove the files and see first  if your app works correctly without them.  For that reason, I wouldn't make it the default setting in /etc/makepkg.conf. The default makepkg.conf has the option set to keep these files. They should be removed on a PKGBUILD-by-PKGBUILD basis with the !libtool option.

What's wrong with making !libtool the default and having the packages that need them specify options=(libtool). Won't that also work? In fact, shouldn't that be the preferred way to write PKGBUILDs for packages that require the .la files, so that it's not dependent on how the user has configured makepkg's defaults?

That would also work. Probably, the default is to keep the the libtool files because when we started the libtool-slay, we proceded by removing the libtool files from the packages where they weren't necessary. If you don't want it to be dependant on the makepkg.conf default, then ideally each PKGBUILD should specify if it needs the libtool files or not.

Profjim wrote:

Searching my install, I see:

gnutls, libarchive, subversion have .la files and have options=(libtool...) in their PKGBUILDs

fam has .la files but doesn't have libtool in its options. But it does have a comment saying 'Don't !libtool'. Why then doesn't it list libtool in the options?

It wouldn't hurt to have libtool in its options. You can submit a bug report.

Profjim wrote:

libdmx, libsasl, libvorbis, and neon have .la files, but either don't list libtool in their options line, or lack an options line altogether. Shouldn't we be able to construe that as a statement that they don't require the .la files? Does anyone reading this thread have knowledge of whether any of these specific packages does require their .la files?

The default /etc/makepkg.conf keeps the libtool file.  Either they need the libtool file (I think neon needs it) or
the maintainer forgot to libtool-slay it.

libvorbis doesn't have a libtool file on x86_64 so you might want to submit a bug report to have the i686 package libtool-slayed. For libdmx and libsasl: you can check if they work without libtool files and bug report if they do.

Offline

#6 2008-11-17 05:03:40

Profjim
Member
From: NYC
Registered: 2008-03-24
Posts: 658

Re: *.la files (possibly a lame newbie question)

Bug reports : FS#12152, FS#12153, FS#12154, FS#12155

Offline

Board footer

Powered by FluxBB