[devel] Re: sqlite3 -- fixed x86_64 build

Alexey Tourbin =?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Вт Сен 7 09:54:05 MSD 2004


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 на .

> -- 
> С уважением, Денис
> http://freesource.info
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20040907/0afe2606/attachment-0001.bin>


Подробная информация о списке рассылки Devel