Пользователь Федоры 11 написал, что у него при сборке бинарного пакета из src-пакета система пытается получить доступ к / (корневой директории). У меня на сусях такого не возникает, но в обсуждении здесь проскакивало подобное. Я сейчас ставлю федору чтобы воспроизвести ситуацию, но может кто-нибудь уже знает решение?
Пользователь Федоры 11 написал, что у него при сборке бинарного пакета из src-пакета система пытается получить доступ к / (корневой директории). У меня на сусях такого не возникает, но в обсуждении здесь проскакивало подобное. Я сейчас ставлю федору чтобы воспроизвести ситуацию, но может кто-нибудь уже знает решение?
В Mandriva лезет, лечится для 8.0.1 вот этим патчем
P.S. Еще бы починить cuneiform, а том там косяк с заданием директории устанвоки - если собирать cmake с заданием пути, то не находит библиотеки и не цепляет ImageMagick, а иначе ставится в /usr/local что требует "изворотов" при сборке.
Уфффффф!
Решил проблему с генерацией RPM под Федорой. Думаю, и для Мандривы сработает. Всего-то надо было заменить одну строчку в spec-файле.
Приаттачить spec-файл не могу, почему-то, так что смотрите код:
Summary: Yet Another Graphic Front-end for Cuneiform
Name: yagf
Version: 0.8.1
Release: 1%{?dist}
License: GPL
Group: Productivity/Graphics/Other
Summary: Graphical frontend for Cuneiform OCR tool
URL: http://symmetrica.net/cuneiform-linux/yagf-en.html
Source: http://symmetrica.net/cuneiform-linux/yagf-%{version}.tar.gz
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
BuildRequires: qt-devel aspell-devel cmake
Requires: qt > 4.2 aspell
%description
YAGF is a graphical front-end for cuneiform OCR tool.
With YAGF you can open already scanned image files or obtain new images
via XSane (scanning results are automatically passed to YAGF).
Once you have a scanned image you can prepare it for recognition,
select particular image areas for recognition,
set the recognition language and so no.
Recognized text is displayed in a editor window where it can be corrected,
saved to disk or copied to clipboard.
YAGF also provides some facilities for a multi-page recognition
(see the online help for more details).
Authors:
--------
Andrei Borovsky <anb@symmetrica.net>
%prep
%setup -q
%build
cmake ./
%{__make}
%install
%{__rm} -rf %{buildroot}
mkdir %{buildroot}
make install DESTDIR=%{buildroot}
#%find_lang %{name}
strip %{buildroot}/usr/bin/yagf
strip %{buildroot}%{_libdir}/yagf/libxspreload.so
%clean
%{__rm} -rf %{buildroot}
%files
%defattr (-,root,root)
%{_bindir}/yagf
%{_libdir}/yagf/libxspreload.so
%{_datadir}/yagf/translations/*.qm
%{_datadir}/pixmaps/yagf.png
%{_datadir}/icons/hicolor/96x96/apps/yagf.png
%{_datadir}/applications/YAGF.desktop
%defattr(-, root, root, 0755)
%doc README COPYING DESCRIPTION AUTHORS ChangeLog
%changelog
* Mon Aug 17 2009 Andrei Borovsky <anb@symmetrica.net> - 0.8.1-1
- fixed RPM generation issues on Fedora 11 and related distros.
* Sun Aug 16 2009 Andrei Borovsky <anb@symmetrica.net> - 0.8.1
- batch recognition added
* Wed Aug 5 2009 Andrei Borovsky <anb@symmetrica.net> - 0.8.0
- text selection blocks are now resizable
- images management bar is added
* Sat Jul 25 2009 Andrei Borovsky <anb@symmetrica.net> - 0.7.1
- scaling and rotation is kept between images in the series
- images and text may be scaled by Ctrl + mouse wheel or by Ctrl + [+]/[-] keys.
* Sun Jul 19 2009 Andrei Borovsky <anb@symmetrica.net> - 0.7.0
- spell-checking is added
- saving to html with images is added
* Fri Jul 17 2009 Andrei Borovsky <anb@symmetrica.net> - 0.6.2
- merged the patches with the appropriate files
- removed unnessesary ldconfig call
* Wed Jul 15 2009 Kyrill Detinov <lazy.kent.suse@gmail.com> - 0.6.1
- update to 0.6.1
- fixed build in x86-64
- corrected build requires
* Sat Jun 20 2009 Kyrill Detinov <lazy.kent.suse@gmail.com> - 0.5.0
- change compiling outside of the source tree
* Mon Jun 15 2009 Kyrill Detinov <lazy.kent.suse@gmail.com> - 0.5.0
- fix requires Qt version
* Mon Jun 08 2009 Kyrill Detinov <lazy.kent.suse@gmail.com> - 0.5.0
- correct build requires: libqt4-devel <= 4.4.3, cmake >= 2.6
* Fri Jun 05 2009 Kyrill Detinov <lazy.kent.suse@gmail.com> - 0.5.0
- initial package created
В SUSE применяется макрос %makeinstall, и нормально собирается.
В Федоре тоже, в принципе, но полиси требует не использовать его, если нормально работает make install.
В Mandriva по описанию тоже должен прокатывать make DESTDIR=$RPM_BUILD_ROOT install. Но почему то не прокатывает (точнее прокатывает когда и так из CMakeList удаляешь задание директории установки).
Поэтому приходится полностью убирать наличие CMAKE_PATH в CMAKELIST.txt, тогда передается в cmake правильный параметр сборки.
Не понял... Какую именно переменную приходится убирать? CMAKE_PATH - это переменная, в которой cmake хранит пути к своим внутренним вещам. Она в CMakeLists.txt и не прописана. CMAKE_PREFIX_PATH - пути, по которым cmake ищет пакеты тоже не прописана вCMakeLists.txt. CMAKE_INSTALL_PREFIX - если ее убрать, то по умолчанию префиксом установки будет /usr/local. Так написано в доках и так оно работает в suse и fedora.
Я все-таки хочу сделать такой CMakeLists.txt, который не придется редактировать для разных дистров
Слабое распознавание, чуть текст нечеткий - одни иероглифы. у меня scx-4100, xsane один раз сработал и потом стал вылетать, хотя с xsane было бы удобнее, чем с samsung-овской прогой, которая не прикручена к yagf или ее можно как-то вместо xsane прикрутить?
Поробовал собрать yagf, выдает это:
[root@localhost yagf-0.8.1]# make
Scanning dependencies of target xspreload
[ 4%] Building C object CMakeFiles/xspreload.dir/src/preload.c.o
/home/alex/yagf-0.8.1/src/preload.c: В функции ‘fwrite’
/home/alex/yagf-0.8.1/src/preload.c:41: предупреждение: возврат значения преобразует указатель в целое без приведения типа
Linking C shared library libxspreload.so
[ 4%] Built target xspreload
[ 9%] Generating yagf_lt.qm
make[2]: QT_LRELEASE_EXECUTABLE-NOTFOUND: Команда не найдена
make[2]: *** [yagf_lt.qm] Ошибка 127
make[1]: *** [CMakeFiles/yagf.dir/all] Ошибка 2
make: *** [all] Ошибка 2
[root@localhost yagf-0.8.1]#
Ставил rpm(yagf) из EduMandriva, устанавливается, но при запуске выдает ошибку:
[alex@localhost yagf-0.8.1]# yagf
yagf: symbol lookup error: yagf: undefined symbol: _Z13qFlagLocationPKc
[alex@localhost yagf-0.8.1]#
версия cmake - 2.6.4
make - 3.8.1
gcc - 4.2.3
стоит мандрива 2008.1(One)
Поробовал собрать yagf, выдает это:
...
make[2]: QT_LRELEASE_EXECUTABLE-NOTFOUND: Команда не найдена
...
версия cmake - 2.6.4
make - 3.8.1
gcc - 4.2.3
стоит мандрива 2008.1(One)