Здравствуйте!
У меня образовалась проблема:
Я скачал библиотеку, согласно приложенному README, запустил makefile, темсамым скомпилировал ее, при помощи приложенного же скрипта записал ее в папку /usr/lib/
Запустил приложение, которое должно эту библиотеку использовать и получил:
error while loading shared libraries: libcyusb.so: cannot open shared object file: No such file or directoryХотя библиотека на месте есть.
Подскажите, с чем это может быть связано:
прикладываю текст make-файла:
all:
g++ -fPIC -o lib/libcyusb.o -c lib/libcyusb.c
g++ -shared -Wl,-soname,libcyusb.so -o lib/libcyusb.so.1 lib/libcyusb.o -l usb-1.0 -l rt
cd lib; ln -sf libcyusb.so.1 libcyusb.so
rm -f lib/libcyusb.o
clean:
rm -f lib/libcyusb.so lib/libcyusb.so.1
help:
@echo 'make would compile and create the library and create a link'
@echo 'make clean would remove the library and the soft link to the library (soname)'и скрипта:
#!/bin/bash
# This is the main installer for CyUSB Suite for Linux
# Run this script as root (superuser).
# (C) Cypress Semiconductor Company / ATR-LABS ([url=http://www.atr-labs.com]www.atr-labs.com[/url]) - 2012
# Author - V. Radhakrishnan
#
CURDIR=`pwd`
echo "Your current directory is $CURDIR. This is where the cyusb_suite software will be installed..."
A=`whoami`
create_udev_rules() {
echo "# Cypress USB driver for FX2 and FX3 (C) Cypress Semiconductor Corporation / ATR-LABS" > configs/88-cyusb.rules
echo "# Rules written by V. Radhakrishnan ( rk@atr-labs.com )" >> configs/88-cyusb.rules
echo "# Cypress USB vendor ID = 0x04b4" >> configs/88-cyusb.rules
echo 'KERNEL=="*", SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ACTION=="add", ATTR{idVendor}=="04b4", MODE="666", TAG="cyusb_dev", RUN+="'"/usr/bin/cy_renumerate.sh A"'"' >> configs/88-cyusb.rules
echo 'KERNEL=="*", SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ACTION=="remove", TAG=="cyusb_dev", RUN+="'"/usr/bin/cy_renumerate.sh R"'"' >> configs/88-cyusb.rules
}
if [ $A != 'root' ]; then
echo "You have to be root to run this script"
exit 1;
fi
create_udev_rules
cp configs/cyusb.conf /etc/
cp configs/88-cyusb.rules /etc/udev/rules.d/
make
# Remove stale versions of the libcyusb library
rm -f /usr/lib/libcyusb.so* /usr/local/lib/libcyusb.so*
# Copy the libcyusb library into the system library folders.
cp lib/libcyusb.so.1 /usr/local/lib
ln -s /usr/local/lib/libcyusb.so.1 /usr/local/lib/libcyusb.so
cp lib/libcyusb.so.1 /usr/lib
ln -s /usr/lib/libcyusb.so.1 /usr/lib/libcyusb.so
cp $CURDIR/configs/cy_renumerate.sh /usr/bin
chmod 777 /usr/bin/cy_renumerate.sh
cd $CURDIR/gui_src/
qmake
make clean
make
cp $CURDIR/bin/cyusb_linux /usr/local/bin