[devel] Re: sqlite3 -- fixed x86_64 build
Anton Farygin
=?iso-8859-1?q?rider_=CE=C1_altlinux=2Ecom?=
Вт Сен 7 12:10:33 MSD 2004
Alexey Tourbin пишет:
> On Tue, Sep 07, 2004 at 12:25:53AM +0400, Денис Смирнов wrote:
>
>>>>--- RPM/SPECS/sqlite3.spec 2004-08-13 00:38:25 +0000
>>>>+++ tmp/sqlite3.spec.new 2004-09-06 15:44:04 +0000
>>>>@@ -61,13 +61,22 @@ embeddable, zero-configuration SQL datab
>>>> %configure --enable-utf8
>>>> %make_build all libtcl%name.la
>>>>
>>>>-%__subst 's#usr/lib/sqlite#usr/lib/tcl#g' libtcl%name.la
>>>>+%__subst 's#/usr/lib/sqlite#%_libdir/tcl#g' libtcl%name.la
>>>> %make_build tcl%name doc
>>>>
>>>> %install
>>>> %makeinstall
>>>>+
>>>>+if [ "/usr/lib" != "%_libdir" ]; then
>>>>+ mv -f %buildroot/usr/lib %buildroot/%_libdir
>>>>+fi
>>>>+
>>>> %__install -pD -m644 sqlite.1 %buildroot%_man1dir/%name.1
>>>>
>>>>+subst "s#'/usr/lib'#'%_libdir'#g" *.la
>>>>+subst "s#/usr/lib/#%_libdir/#g" *.la
>>>>+
>>>>+
>>>> %__mkdir_p %buildroot%_tcllibdir
>>>> libtool --mode=install %__install libtcl%name.la %buildroot%_tcllibdir
>>>> %__rm -fv %buildroot%_tcllibdir/*.{a,la}
>
>
>> AT> Hi, а зачем это делать?
>> AT> Ведь %_libdir подставляется в %configure и должен влиять на всё остальное:
>> AT> $ rpm --eval %configure | grep libdir
>> AT> --libdir=/usr/lib \
>> AT> $
>> AT> По идее просто так должно работать...
>>
>>Судя по всему, из-за того что авторы sqlite ламеры и не везде используют
>>этот libdir. У меня без того патчика не собралось :-(
>
>
> --- Makefile.in~ 2004-07-19 23:16:19 +0000
> +++ Makefile.in 2004-09-07 05:26:37 +0000
> @@ -32,6 +32,7 @@
> #
> prefix = @prefix@
> exec_prefix = @exec_prefix@
> +libdir = @libdir@
> INSTALL = @INSTALL@
> LIBTOOL = ./libtool
> RELEASE = @ALLOWRELEASE@
> @@ -545,14 +546,14 @@
> mv $(DOC) doc
>
> install: sqlite3 libsqlite3.la sqlite3.h
> - $(INSTALL) -d $(DESTDIR)$(exec_prefix)/lib
> - $(LTINSTALL) libsqlite3.la $(DESTDIR)$(exec_prefix)/lib
> + $(INSTALL) -d $(DESTDIR)$(libdir)
> + $(LTINSTALL) libsqlite3.la $(DESTDIR)$(libdir)
> $(INSTALL) -d $(DESTDIR)$(exec_prefix)/bin
> $(LTINSTALL) sqlite3 $(DESTDIR)$(exec_prefix)/bin
> $(INSTALL) -d $(DESTDIR)$(prefix)/include
> $(INSTALL) -m 0644 sqlite3.h $(DESTDIR)$(prefix)/include
> - $(INSTALL) -d $(DESTDIR)$(exec_prefix)/lib/pkgconfig;
> - $(INSTALL) -m 0644 sqlite3.pc $(DESTDIR)$(exec_prefix)/lib/pkgconfig;
> + $(INSTALL) -d $(DESTDIR)$(libdir)/pkgconfig;
> + $(INSTALL) -m 0644 sqlite3.pc $(DESTDIR)$(libdir)/pkgconfig;
>
> clean:
> rm -f *.lo *.la *.o sqlite3 на TARGET_EXEEXT@ libsqlite3.la
>
> С этим патчем собирается до следующего места:
>
> $ rpm --define '_libdir /usr/lib64' -bb ~/RPM/SPECS/sqlite3.spec
> ...
> + /bin/mkdir -p /home/at/tmp/sqlite3-buildroot/usr/lib64/tcl
> + libtool --mode=install /bin/install libtclsqlite3.la /home/at/tmp/sqlite3-buildroot/usr/lib64/tcl
> libtool-default: install: error: cannot install `libtclsqlite3.la' to a directory not ending in /usr/lib/tcl
> $
>
> По-видимому, в этом есть смысл. Т.е. нужно сначала пересобрать tcl под
> lib64, а потом уже расширения к tcl собирать. Просто так перекладывать
> из lib в lib64 -- плохо.
>
> Думаю, что работу по портированию на x86_64 нужно уже сделать доступной
> (особенно базовую систему для сборки). Поэтому делаю CC в devel на .
Да, согласен. IMHO уже пора выкладывать все что есть - наравне с Sisyphus.
А точнее - надо делать NMU для всех пакетов, которые исправлялись,
выкладывать из в Sisyphus и проводить ежедневные пересборки Sisyphus под
x86_64, а все что собралось - выкладывать в отдельный репозитарий.
Rgds,
Rider
Подробная информация о списке рассылки Devel