Bug 195742 - Static lib not in sqlite-devel rpm
Static lib not in sqlite-devel rpm
Product: Fedora
Classification: Fedora
Component: sqlite3 (Show other bugs)
All Linux
medium Severity medium
: ---
: ---
Assigned To: Paul Nasrat
Depends On:
  Show dependency treegraph
Reported: 2006-06-16 19:10 EDT by Joe Smith
Modified: 2013-01-09 22:56 EST (History)
1 user (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2006-06-26 14:47:56 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description Joe Smith 2006-06-16 19:10:36 EDT
Description of problem:
The sqlite-devel package should include the libsqlite.a static library, however
there is an error which prevents the file from being included in the rpm.
This breaks the building of other components that need to link against the
static library.

Version-Release number of selected component (if applicable):

How reproducible:

Steps to Reproduce:

# Check a fresh download (looking for libsqlite3.a):
$ wget ftp:...Fedora/RPMS/sqlite-devel-3.3.3-1.2.i386.rpm
$ $ rpm -qlp sqlite-devel-3.3.3-1.2.i386.rpm | grep lib

# Check a freshly built (looking for libsqlite3.a):
$ rpm -i ../SRPMS/sqlite-3.3.3-1.2.src.rpm
$ rpmbuild -ba sqlite.spec
$ rpm -qlp ../RPMS/i386/sqlite-devel-3.3.3-1.2.i386.rpm | grep lib
Actual results:
No libsqlite3.a installed with sqlite-devel-3.3.3-1.2.i386.rpm
No libsqlite3.a included in sqlite-devel-3.3.3-1.2.i386.rpm

Expected results:
libsqlite3.a should be included in -devel rpm and installed in /usr/lib

Additional info:
The static lib is built and the -devel rpm builds without error, but the static
lib is not included in the rpm. I tried adding this line to the spec:

 %files devel
 %defattr(-, root, root)
 %doc doc/

Which caused the rpm build to fail:
RPM build errors:
    File not found by glob: /var/tmp/sqlite-root/usr/lib/*.a

I'm afraid I don't have the brain cells to analyze the build and figure out
exactly why the lib isn't packaged; hopefully it will be obvious to someone.

As a workaround, I simply copied the libsqlite3.a file from the BUILD tree to
/usr/local/lib and it works fine from there.
Comment 1 Paul Nasrat 2006-06-26 14:00:18 EDT
We deliberately don't ship static libraries see in the spec:

rm -f $RPM_BUILD_ROOT/%{_libdir}/*.{la,a}



Specifically what other Core/Extras components require to build against sqlite
Comment 2 Joe Smith 2006-06-26 14:35:15 EDT
> Specifically what other Core/Extras components require to build 
> against sqlite statically?

I needed it to build the unstable branch of Audacity.


I have no idea why it links against the static lib (possibly to simplify
building under Windows?), and it seems that sqlite is only required to build an
intermediate testing tool, not for Audacity itself. The comments I found on the
Audacity mailing list, rather than tracking down the source of the build
failure, simply disabled the component that depended on the tool. I wanted to
"fix" the problem.

But I can understand the policy (sorry I didn't think to check that) and it
seems like the right thing is to fix it on the project end, rather than
requiring the .a.

I will pass this along to the Audacity devs, anticipating that this issue will
be closed.
Comment 3 Paul Nasrat 2006-06-26 14:47:56 EDT
OK - if it helps you can rebuild tomorrows rawhide sqlite src.rpm with --with
static to enable including of the static library which will help if you need an
interim measure.

I'm going to close it for now, please feel free to add additional comments as
need be.

Note You need to log in before you can comment on or make changes to this bug.