glibc i rpm vs db3
Jakub Bogusz
qboosh w prioris.mini.pw.edu.pl
Czw, 19 Paź 2000, 22:18:23 CEST
Zachciało mi się w końcu przejść na nowszego rpm (mam 3.0.5-1,
używający db2, bez automatyki kompresji/stripowania).
Łączyło się to z kompilacją db3 i rekompilacją glibc (podpakiety
glibc-db?), żeby nie rozwalać zależności.
Spece ściągnąłem wczoraj z CVS. I tak:
glibc.spec: $Revision: 1.124 $, $Date: 2000/09/27 14:34:41 $
db3.spec: $Revision: 1.14 $, $Date: 2000/10/10 16:32:21 $
rpm.spec: $Revision: 1.125 $, $Date: 2000/10/14 14:39:40 $
W glibc.spec jest taka linijka:
%{_infodir}/libc.inf*.gz
IMO powinno być libc.info*, powyższe chyba nie ma w ogóle sensu???
(działa tylko z automatyką w rpm, bez tego budowanie się wywaliło)
Natomiast ważniejsze są problemy na linii db3 - glibc i rpm.
glibc 2.1.3 i rpm 3.0.6 nie są przygotowane na te poprawki:
Revision 1.13 2000/09/26 16:30:53 baggins
[...]
- added libdb.so and libndbm links
- moved headers from %%{_includedir}/db3 to %{__includedir}
[...]
Efekt - przy próbie instalacji db3-devel jest coś takiego:
# rpm -ihv /comp/rpm/RPMS/db3-devel-3.1.17-2.i586.rpm
file /usr/include/db.h from install of db3-devel-3.1.17-2 conflicts \
with file from package glibc-devel-2.1.3-21
file /usr/include/db_185.h from install of db3-devel-3.1.17-2 \
conflicts with file from package glibc-devel-2.1.3-21
file /usr/include/db.h from install of db3-devel-3.1.17-2 conflicts \
with file from package glibc-db2-devel-2.1.3-21
file /usr/include/db_185.h from install of db3-devel-3.1.17-2 \
conflicts with file from package glibc-db2-devel-2.1.3-21
file /usr/lib/libdb.so from install of db3-devel-3.1.17-2 conflicts \
with file from package glibc-db2-devel-2.1.3-21
file /usr/lib/libndbm.so from install of db3-devel-3.1.17-2 conflicts \
with file from package glibc-db2-devel-2.1.3-21
(BTW, widać też nachodzące pliki glibc-devel i glibc-db2-devel, po
rpm -e glibc-db2-devel zostają 2 z powyższych błędów, więc db3-devel
w takiej postaci bez --replacefiles się nie zainstaluje)
Czyli jeżeli db3 ma być bezpośrednio w /usr/include, to pliki z
glibc-db2-devel powinny iść do /usr/include/db2 (a w glibc-devel chyba
nie powinno być ich w ogóle? ale może się mylę)
Natomiast przy próbie zbudowania rpm:
gcc -DHAVE_CONFIG_H -I. -I. -I.. -I.. -I../build -I../popt \
-I/usr/local/include -O2 -march=i586 -D_GNU_SOURCE -Wall -Wpointer-arith \
-Wstrict-prototypes -Wmissing-prototypes -Wno-char-subscripts \
-Wp,-MD,.deps/dbindex.pp -c dbindex.c -fPIC -DPIC -o .libs/dbindex.lo \
In file included from rpmlib.h:9,
from dbindex.c:3:
dbindex.h:4: db3/db_185.h: No such file or directory
^^^^^^^^^^^^
make[2]: *** [dbindex.lo] Error 1
make[2]: Leaving directory `/mnt/hdb1/build/rpm-3.0.6/lib'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/mnt/hdb1/build/rpm-3.0.6'
make: *** [all-recursive-am] Error 2
Bad exit status from /var/tmp/rpm-tmp.14828 (%build)
Jak widać rpm oczekuje nagłówków do db3 w /usr/include/db3 - czyli
jeżeli mają być bezpośrednio w /usr/include, to potrzebna poprawka
do rpm-db3.patch.
--
Jakub Bogusz
http://prioris.mini.pw.edu.pl/~qboosh/
Więcej informacji o liście dyskusyjnej pld-devel-pl