Page 1 sur 1

[ola]installation essaie d'un PKGBUILD(résolu)

Publié : ven. 11 févr. 2011, 23:40
par bungle
Bonjour

je voudrai installer OLA (Open Lighting Architecture),
http://www.opendmx.net/index.php/Open_L ... chitecture
qui est un framework permettant aux applications développées avec, de recevoir et envoyer du DMX(protocole lumière) avec différent outil usb

donc je me suis lancer dans l'élaboration d'un PKGBUILD (malgré mes faibles connaissances en la matière)

OLA à besoin de protobuf et cppunit >= 1.9.6
CF: http://www.opendmx.net/index.php/OLA_on_Linux
et d'autre dépendances, je l'ai est déjà toutes installer, donc je ne les ai pas renseigné dans le PKGBUILD que voiçi :

Code : Tout sélectionner

# Maintainer: Your Name <youremail@domain.com>
pkgname=ola
pkgver=0.8.6
pkgrel=1
pkgdesc=""
arch=('i686')
url="http://linux-lighting.googlecode.com/files/ola-0.8.6.tar.gz"
license=('GPL')

depends=()
makedepends=()installer packet debian
optdepends=()
provides=()
conflicts=()
replaces=()
backup=()
options=()
install=
changelog=
source=($pkgname-$pkgver.tar.gz)
noextract=()

build() {
  cd "$srcdir/$pkgname-$pkgver"

  ./configure --prefix=/usr
  make
}

package() {
  cd "$srcdir/$pkgname-$pkgver"

  make DESTDIR="$pkgdir/" install
}
md5sums=('b9f11e2736c734d48fc30d8350a24540') #generate with 'makepkg -g'

donc, quand je fait un makepkg (j'ai le: ola-0.8.6.tar.gz dans le même répertoire que le PKGBUILD), tout ce pas bien puis sa plante sur :

Code : Tout sélectionner

../../../common/.libs/libolacommon.so: undefined reference to `google::protobuf::internal::GeneratedMessageReflection::GeneratedMessageReflection(google::protobuf::Descriptor const*, google::protobuf::Message const*, int const*, int, int, int, google::protobuf::DescriptorPool const*, google::protobuf::MessageFactory*, int)'
../../../common/.libs/libolacommon.so: undefined reference to `google::protobuf::internal::WireFormatLite::WriteBool(int, bool, google::protobuf::io::CodedOutputStream*)'
collect2: ld returned 1 exit status
make[4]: *** [e131_transmit_test] Erreur 1
make[4] : on quitte le répertoire « /home/bungle/ProgProj/ola/src/ola-0.8.6/plugins/e131/e131 »
make[3]: *** [all-recursive] Erreur 1
make[3] : on quitte le répertoire « /home/bungle/ProgProj/ola/src/ola-0.8.6/plugins/e131 »
make[2]: *** [all-recursive] Erreur 1
make[2] : on quitte le répertoire « /home/bungle/ProgProj/ola/src/ola-0.8.6/plugins »
make[1]: *** [all-recursive] Erreur 1
make[1] : on quitte le répertoire « /home/bungle/ProgProj/ola/src/ola-0.8.6 »
make: *** [all] Erreur 2
    Abandon...

bon ce qu'il faut retenir (enfin je pense) c'est la ligne :

Code : Tout sélectionner

../../../common/.libs/libolacommon.so: undefined reference to `google::protobuf::io::CodedInputStream::PopLimit(int)'
parce que des comme sa (... 'google::protobuf: ..., j'en ai 8 avant que sa plante :?
pourtant j'ai bien installer protobuf 2.3.0-1 (comme conseiller sur le site d'ola(le deuxième lien))

si quelqu'un à une idée

Re: [ola]installation essaie d'un PKGBUILD(en cour)

Publié : sam. 12 févr. 2011, 10:03
par benjarobin
Comme cela, je tente un peu au hasard, mais a tu le même message d'erreur en mettant au début de build ceci :

Code : Tout sélectionner

export LDFLAGS=""

Re: [ola]installation essaie d'un PKGBUILD(en cour)

Publié : sam. 12 févr. 2011, 10:51
par FoolEcho
Pas tout à fait au hasard quand même, hein ? :chinois: (avec l'export, ça passe :D )
bungle a écrit :et d'autre dépendances, je l'ai est déjà toutes installer, donc je ne les ai pas renseigné dans le PKGBUILD que voiçi :
Pas bien.
Toute dépendance autre que base-devel doit être renseignée.

Petites modifications (dépendances, architecture):

Code : Tout sélectionner

# Maintainer: Your Name <youremail@domain.com>
pkgname=ola
pkgver=0.8.6
pkgrel=1
pkgdesc="An open framework for DMX lighting control. The Open Lighting Architecture (OLA) is part of the Open Lighting Project and provides applications with a mechanism to send and receive DMX512 & RDM commands using hardware devices and DMX over IP protocols"
arch=('i686' 'x86_64')
url="http://www.opendmx.net/index.php/Open_Lighting_Architecture"
license=('GPL')

depends=( 'ncurses' 'cppunit' 'protobuf<=2.4' )
source=(http://linux-lighting.googlecode.com/files/$pkgname-$pkgver.tar.gz)
md5sums=('b9f11e2736c734d48fc30d8350a24540')

build() {
  export LDFLAGS=""
  cd "$srcdir/$pkgname-$pkgver"

  ./configure --prefix=/usr
  make
}

package() {
  cd "$srcdir/$pkgname-$pkgver"

  make DESTDIR="$pkgdir/" install
}
(j'ai pas testé la version git)
La compilation passe et le démon olad à l'air de se lancer correctement.

Y aurait intérêt à faire un .install aussi, pour décrire comment utiliser le programme (ou au moins renvoyer sur le tuto).

Re: [ola]installation essaie d'un PKGBUILD(en cour)

Publié : sam. 12 févr. 2011, 11:07
par bungle
bonjour,

content de vous 'revoir' donc je suis en train de faire le pkg avec vos indication, enfin pour faire simple j'ai fait un copier coller de celui modifier par FoolEcho

cependant, en fouillant dans les source, j'ai trouver un fichier ola.spec :

Code : Tout sélectionner

%define name    ola
%define version 0.3.1
%define release %mkrel 1


Name:      %{name}
Version:   %{version}
Release:   %{release}
Summary:   OLA - Open Lighting Architecture
Group:     Other
License:   GPL
URL:       http://code.google.com/p/linux-lighting
# Other doc found at:
#  http://www.opendmx.net/index.php/LLA_0.3
#  http://www.opendmx.net/index.php/LLA_on_Linux
Source0:   %{name}/%{name}-%{version}.tar.gz
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
BuildRequires: libmicrohttpd-devel >= 0.4.0, libcppunit-devel, protobuf-devel >= 2.1.0
Requires:      libmicrohttpd >= 0.4.0, libcppunit, protobuf >= 2.1.0

%description
The Open Lighting Architecture (OLA) consists of two parts, the daemon olad and the library, libola.


%package -n libola
Group:         Other
Summary:       OLA - Open Lighting Architecture

%description -n libola
The OLA library


%package -n libola-devel
Group:         Other
Summary:       OLA - Open Lighting Architecture

%description -n libola-devel
The OLA library headers


%prep
%setup -q -n %{name}


%build
%define _disable_ld_no_undefined 1
export LDFLAGS="-Wl,-undefined -Wl,dynamic_lookup"
autoreconf -i
%configure
%make

%check
%make check


%install
rm -rf %buildroot
%makeinstall DESTDIR=%buildroot


%clean
rm -rf %buildroot


%files
%defattr(-,root,root,-)
/usr/bin/olad
/usr/bin/olad_test

%files -n libola
%defattr(-,root,root,-)
%{_libdir}/libola.so*
%{_libdir}/olad/*.so*
%{_libdir}/libola*.so*

%files -n libola-devel
%defattr(-,root,root,-)
/usr/include/
%{_libdir}/olad/libola*.a
%{_libdir}/olad/libola*.la
%{_libdir}/libola*.a
%{_libdir}/libola*.la
%{_libdir}/pkgconfig/libola*.pc

%doc AUTHORS ChangeLog COPYING INSTALL NEWS README TODO


%changelog
* Thu Aug 27 2009 Kevin Deldycke <kevin@deldycke.com> 0.3.1.trunk.20090827-1mdv2009.1
- Rename all project from lla to OLA
- Upgrade to the latest OLA 0.3.1 from the master branch of the git repository
- OLA now requires libmicrohttpd, libcppunit, protobuf and libctemplate
- Disable the --no-undefined option and make all undefined symbols weakly bound
- Add check step
- Rebuild RPM for Mandriva 2009.1

* Mon May 12 2008 Kevin Deldycke <kev@coolcavemen.com> 0.2.3.200710210908-1mdv2008.1
- Ported from Fedora Core 8 ( http://rpms.netmindz.net/FC8/SRPMS.netmindz/lla-0.2.3.200710210908-1.fc8.src.rpm ) to Mandriva 2008.1

* Sun Apr 29 2007 Will Tatam <will@netmindz.net> 0.1.3-1
- Fist Build
ce dernier stipule : export LDFLAGS="-Wl,-undefined -Wl,dynamic_lookup"

ne serait-il pas préférable de le renseigner comme sa?

et FoolEcho, quant tu dit faire un .install, est-ce que tu aurais une idée d'où je pourait trouver des info sur comment structuré sa?

merci à vous en tout cas le makepkg a fonctionner ... j'attend votre reponse sur LDFLAGS pour l'installer

Re: [ola]installation essaie d'un PKGBUILD(en cour)

Publié : sam. 12 févr. 2011, 11:31
par FoolEcho
bungle a écrit :et FoolEcho, quant tu dit faire un .install, est-ce que tu aurais une idée d'où je pourait trouver des info sur comment structuré sa?
C'est un "bête" fichier dans lequel tu peux placer des instructions (du shell, par exemple une série d'"echo"), tu as un prototype dans /usr/share/pacman/proto.install et il faut renseigner "install=monfichier.install" dans le PKGBUILD.
https://wiki.archlinux.org/index.php/PKGBUILD

bungle a écrit :ce dernier stipule : export LDFLAGS="-Wl,-undefined -Wl,dynamic_lookup"

ne serait-il pas préférable de le renseigner comme sa?
En tous cas, ça compile. Mais attend plutôt la confirmation de benjarobin (je suis plutôt java que c/c++).

Re: [ola]installation essaie d'un PKGBUILD(en cour)

Publié : sam. 12 févr. 2011, 12:15
par benjarobin
Si en effet c'est mieux de mettre export LDFLAGS="-Wl,-undefined -Wl,dynamic_lookup" s'il le demande et si cela compile
En faite si tu regarde /etc/makepkg cette variable est définie avec --as-needed et c'est ce flag qui provoque le problème :D Donc en effet j'avais ma petite idée mais je ne pouvais pas en être sûre sans tester.

Re: [ola]installation essaie d'un PKGBUILD(résolu)

Publié : sam. 12 févr. 2011, 12:21
par bungle
Cool

merci pour les réponses, donc effectivement sa compil avec le flag, c'est installer et sa fonctionne

:chinois: