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