[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