Linux за българи: Форуми

Linux секция за начинаещи => Настройка на програми => Темата е започната от: Nik123 в Mar 10, 2007, 20:50



Титла: Проблем при билд на rpm от сорс
Публикувано от: Nik123 в Mar 10, 2007, 20:50
Здравейте! Опитвам се да си направя рпм от сорса на amsn -amsn-0.96.tar.bz2. Написах си спец файла и го стартирах, с rpm -bi за да мога да видя при make install кои файлове къде отиват и да ги прибавя в секцията %files на .spec файла, само че изплю следното:


checking tcl build dir... using tcl library in /usr/lib
./configure: line 2904: /usr/lib/tclConfig.sh: No such file or directory
error: Bad exit status from /home/nik/rpm/tmp/rpm-tmp.71080 (%build)


RPM build errors:
    Bad exit status from /home/nik/rpm/tmp/rpm-tmp.71080 (%build)

А същия месинджър от същия сорс се прекомпилира и инсталира нормално с ./configure, make, su, make install.

ето .spec файла- само секцията %files не съм довършил:
%define name   amsn
%define version   0.96
%define release   %mkrel 1

Name:      %{name}
Version:   %{version}
Release:   %{release}

Summary:   Free open source MSN messenger clone
Source:      http://mesh.dl.sourceforge.net/%{name}-%{version}.tar.bz2
URL:      http://amsn-project.net/index.php
Group:      Applications/Internet/Instant Messaging
BuildRoot:   %{_tmppath}/%{name}-%{version}-%{release}-buildroot
License:   GPL

%description
Linux clone of the Microsoft MSN messenger

%prep
%setup -q
%build
%configure
%make
%install
rm -rf $RPM_BUILD_ROOT
%makeinstall
%clean
rm -rf $RPM_BUILD_ROOT
%files



%defattr(0755,root,root)
%doc README NEWS COPYING AUTHORS
%{_mandir}/man1/*

Имам инсталирани tcl и tcl-tcllib. Някакви идеи? Благодаря предварително


Титла: Проблем при билд на rpm от сорс
Публикувано от: Nik123 в Mar 12, 2007, 09:44
Проблема в горния пост го оправих, но се появи нещо по-сложно- малко след стартирането на spec файла, и след като се компилира успешно, на make install стъпката, вади следната грешка:

+ '[' 1 -eq 1 ']'
+ rm -rf /home/nik/rpm/tmp/amsn-0.96-1mdv2007.0-buildroot
+ make prefix=/home/nik/rpm/tmp/amsn-0.96-1mdv2007.0-buildroot/usr exec_prefix=/home/nik/rpm/tmp/amsn-0.96-1mdv2007.0-buildroot/usr bindir=/home/nik/rpm/tmp/amsn-0.96-1mdv2007.0-buildroot/usr/bin sbindir=/home/nik/rpm/tmp/amsn-0.96-1mdv2007.0-buildroot/usr/sbin sysconfdir=/home/nik/rpm/tmp/amsn-0.96-1mdv2007.0-buildroot/etc datadir=/home/nik/rpm/tmp/amsn-0.96-1mdv2007.0-buildroot/usr/share includedir=/home/nik/rpm/tmp/amsn-0.96-1mdv2007.0-buildroot/usr/include libdir=/home/nik/rpm/tmp/amsn-0.96-1mdv2007.0-buildroot/usr/lib libexecdir=/home/nik/rpm/tmp/amsn-0.96-1mdv2007.0-buildroot/usr/lib localstatedir=/home/nik/rpm/tmp/amsn-0.96-1mdv2007.0-buildroot/var/lib sharedstatedir=/home/nik/rpm/tmp/amsn-0.96-1mdv2007.0-buildroot/usr/com mandir=/home/nik/rpm/tmp/amsn-0.96-1mdv2007.0-buildroot/usr/share/man infodir=/home/nik/rpm/tmp/amsn-0.96-1mdv2007.0-buildroot/usr/share/info install
rm -Rf /usr/share/amsn
mkdir --parents /usr/share/amsn
mkdir: cannot create directory `/usr/share/amsn': Permission denied
make: *** [install] Error 1
error: Bad exit status from /home/nik/rpm/tmp/rpm-tmp.83384 (%install)


RPM build errors:
    Bad exit status from /home/nik/rpm/tmp/rpm-tmp.83384 (%install)
[nik@localhost SOURCES]$

Като се има предвид, че mkdir е стартирано от моя юзър, а директорията rpm със съответните й поддиректории BUILD, SOURCES   и т.н, са поддиректории на /home папката ми, би следвало mkdir да може да прави поддиректории в /home/nik/rpm/tmp??? Ето и съдържанието на файловете .rpmrc и .rpmmacros:
.rpmrc

buildarchtranslate: i386: i586
buildarchtranslate: i486: i586
buildarchtranslate: i586: i586
buildarchtranslate: i686: i586

.rpmmacros

%_topdir /home/nik/rpm
%_tmppath /home/nik/rpm/tmp

%_signature gpg
%_gpg_name Mandrivalinux
%_gpg_path ~/.gnupg

%distribution Mandriva Linux
%vendor Mandriva
%packager Nik123

Някакви идеи, как да оправя това с правата за писане?


Титла: Проблем при билд на rpm от сорс
Публикувано от: Gaara в Mar 12, 2007, 12:44
Примерен код

mkdir: cannot create directory `/usr/share/amsn': Permission denied

изпълни като root make install


Титла: Проблем при билд на rpm от сорс
Публикувано от: Nik123 в Mar 12, 2007, 13:20
Да, по принцип при инсталация от сорс е така, но тук става въпрос за билдване на рпм, инсталацията протича във "фалшиви" системни директории, поддиректории на /home/nik/rpm/tmp, не в истинските- досега съм направил няколко пакета и този проблем го нямаше, а и в How-to за правене на рпм в Мандрива не се препоръчва билдване като руут - а и поддиректорията, която иска да създаде mkdir е всъщност поддиректория на /home/nik/rpm/tmp, която е моята собствена home директория-
datadir=/home/nik/rpm/tmp/amsn-0.96-1mdv2007.0-buildroot/usr/share -
това е префикса, а mkdir би следвало да има право да пише в която и да е поддиректория на юзъра, който го стартира?