On Wed, Sep 17, 2008 at 01:14:51PM +0400, Alexander Bokovoy wrote: [...] > > x86_64-alt-linux-gcc -shared .libs/libusb_la-core.o -L/usr/src/RPM/BUILD/libusb-0.9.3/libusb-compat-0.1.0-beta2/libusb -lusb-1.0 -Wl,-soname -Wl,libusb-0.1.so.4 -o .libs/libusb-0.1.so.4.4.4 > > /usr/bin/ld: cannot find -lusb-1.0 > > collect2: ld returned 1 exit status > В сборке libusb 0.9.3 на самом деле происходит сборка двух библиотек, > вторая из которых зависит от первой. При этом первая еще не > установлена в системе. Я делаю некоторые трюки (желающие могут > посмотреть в spec), чтобы собраться без установки в систему, Зря ты так делаешь. Обычно бывает лучше запаковать compat-библиотеку (libusb-0.1.so.4) отдельным пакетом. > но этот > подход почему-то не сработал на x86_64. Может ли кто-нибудь с близко > расположенным x86_64 посмотреть Виновата строка ln -s $(pwd)/tmproot/usr/lib/libusb-1.0.so libusb/libusb-1.0.so в файле libusb.spec, замена /usr/lib на %_libdir исправляет сборку. Но зачем собирать -compat вместе с основной библиотекой, остаётся неясным. -- ldv