Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 551922 - dev-db/sqlite: Executables statically include code from sqlite3.c
Summary: dev-db/sqlite: Executables statically include code from sqlite3.c
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Library (show other bugs)
Hardware: All All
: Normal normal (vote)
Assignee: Arfrever Frehtes Taifersar Arahesis
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-06-12 19:59 UTC by Nikoli
Modified: 2016-03-03 03:54 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Nikoli 2015-06-12 19:59:52 UTC
After enabling USE tools dev-db/sqlite-3.8.10.1 package size increased from 1.81 to 6.10 MiB, please use shared libsqlite3 copy if possible.

$ du -s /usr/bin/sqlite3* 
82      /usr/bin/sqlite3
898     /usr/bin/sqlite3-diff
886     /usr/bin/sqlite3-show-db
870     /usr/bin/sqlite3-show-journal
870     /usr/bin/sqlite3-show-stat4
878     /usr/bin/sqlite3-show-wal

$ objdump -p /usr/bin/sqlite3|grep NEEDED|sort
  NEEDED               libc.so.6
  NEEDED               libpthread.so.0
  NEEDED               libreadline.so.6
  NEEDED               libsqlite3.so.0

$ objdump -p /usr/bin/sqlite3-*|grep NEEDED|sort -u
  NEEDED               libc.so.6
  NEEDED               libdl.so.2
  NEEDED               libicui18n.so.55
  NEEDED               libicuuc.so.55
  NEEDED               libpthread.so.0
Comment 1 Arfrever Frehtes Taifersar Arahesis 2016-03-03 03:54:52 UTC
In vanilla SQLite 3.11.0 even /usr/bin/sqlite3 would statically include code from sqlite3.c.

I added my patches to SQLite 3.11.0 (sqlite-3.11.0-full_tarball-build.patch, sqlite-3.11.0-nonfull_tarball-build.patch), which make some executables be linked against libsqlite3.so.0:

$ du /usr/bin/sqlite*
84      /usr/bin/sqlite3
76      /usr/bin/sqlite3-analyzer
40      /usr/bin/sqlite3-diff
12      /usr/bin/sqlite3-rbu
28      /usr/bin/sqlite3-show-db
12      /usr/bin/sqlite3-show-journal
12      /usr/bin/sqlite3-show-stat4
16      /usr/bin/sqlite3-show-wal
$ scanelf -qF "%F: %n" /usr/bin/sqlite*
/usr/bin/sqlite3: libsqlite3.so.0,libreadline.so.6,libc.so.6
/usr/bin/sqlite3-analyzer: libsqlite3.so.0,libtcl8.6.so,libc.so.6
/usr/bin/sqlite3-diff: libsqlite3.so.0,libc.so.6
/usr/bin/sqlite3-rbu: libsqlite3.so.0,libc.so.6
/usr/bin/sqlite3-show-db: libsqlite3.so.0,libpthread.so.0,libc.so.6
/usr/bin/sqlite3-show-journal: libc.so.6
/usr/bin/sqlite3-show-stat4: libsqlite3.so.0,libc.so.6
/usr/bin/sqlite3-show-wal: libc.so.6

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=259d8bab051acba85157426d1df7c03d0c9d97bf