[PKGBUILD] TA3D

Mise à jour / Création /debug de paquetages
Avatar de l’utilisateur
DarkBaboon
Daikyu
Messages : 89
Inscription : mar. 24 juin 2008, 11:48
Localisation : Rennes

[PKGBUILD] TA3D

Message par DarkBaboon »

Voilà le PKGBUILD d'un paquet que j'ai adopté et dont j'ai contacté les développeurs pour avoir les nouvelles versions des sources. C'est avec surprise que j'ai appris que le principal développeur était désormais sous Archlinux :D
Les sources de la nouvelle version ont été mise à disposition
Le nouveau PKGBUILD est le suivant :

Code : Tout sélectionner

# Contributor: Christoph Zeiler <rabyte*gmail>
# Contributor: Ronan Rabouin <darkbaboon@gmail.com>

pkgname=ta3d
pkgver=0.5.4
pkgrel=1
pkgdesc='A recreation of the "Total Annihilation" engine in real 3D'
arch=('i686' 'x86_64')
url="http://ta3d.org"
license=('GPL')
depends=('allegrogl' 'libgl' 'mesa' 'fmodex')
makedepends=('cmake>=2.6')
source=(http://downloads.ta3d.org/sources/$pkgname-v-0-5-4-src.tar.gz)
md5sums=('0f8efbef3d5fc126198253c7bac414ce')

build() {
  cd $pkgname
  cmake . -DCMAKE_INSTALL_PREFIX:PATH=/usr
  make || return 1
  make DESTDIR=$pkgdir install
}

# vim:set ts=2 sw=2 et:
Le problème c'est que j'ai une erreur lors de la compilation :

Code : Tout sélectionner

Scanning dependencies of target hpi
[  1%] Building CXX object src/CMakeFiles/hpi.dir/TA3D_hpi.cpp.o
In file included from /usr/include/allegrogl/gl_ext.h:27,
                 from /usr/include/alleggl.h:73,
                 from /tmp/yaourt-tmp-baboon/aur-ta3d/ta3d/src/ta3d/src/stdafx.h:117,
                 from /tmp/yaourt-tmp-baboon/aur-ta3d/ta3d/src/ta3d/src/TA3D_hpi.cpp:7:
/usr/include/allegrogl/GLext/gl_ext_api.h:1827: erreur: ‘<anonymous>’ has incomplete type
/usr/include/allegrogl/GLext/gl_ext_api.h:1827: erreur: invalid use of ‘GLvoid’
/tmp/yaourt-tmp-baboon/aur-ta3d/ta3d/src/ta3d/src/TA3D_hpi.cpp: In member function ‘sint32 TA3D::UTILS::HPI::cHPIHandler::ReadAndDecrypt(sint32, byte*, sint32, TA3D::UTILS::HPI::cHPIHandler::HPIFILEDATA*)’:
/tmp/yaourt-tmp-baboon/aur-ta3d/ta3d/src/ta3d/src/TA3D_hpi.cpp:37: erreur: ‘fseek’ was not declared in this scope
/tmp/yaourt-tmp-baboon/aur-ta3d/ta3d/src/ta3d/src/TA3D_hpi.cpp:38: erreur: ‘fread’ was not declared in this scope
/tmp/yaourt-tmp-baboon/aur-ta3d/ta3d/src/ta3d/src/TA3D_hpi.cpp: In member function ‘void TA3D::UTILS::HPI::cHPIHandler::CloseHPIFile(TA3D::UTILS::HPI::cHPIHandler::HPIFILEDATA*)’:
/tmp/yaourt-tmp-baboon/aur-ta3d/ta3d/src/ta3d/src/TA3D_hpi.cpp:311: erreur: ‘fclose’ was not declared in this scope
/tmp/yaourt-tmp-baboon/aur-ta3d/ta3d/src/ta3d/src/TA3D_hpi.cpp: In member function ‘void TA3D::UTILS::HPI::cHPIHandler::AddArchive(const TA3D::String&, bool)’:
/tmp/yaourt-tmp-baboon/aur-ta3d/ta3d/src/ta3d/src/TA3D_hpi.cpp:417: erreur: ‘fread’ was not declared in this scope
/tmp/yaourt-tmp-baboon/aur-ta3d/ta3d/src/ta3d/src/TA3D_hpi.cpp: In member function ‘void TA3D::UTILS::HPI::cHPIHandler::PutInCache(const TA3D::String&, uint32, const byte*)’:
/tmp/yaourt-tmp-baboon/aur-ta3d/ta3d/src/ta3d/src/TA3D_hpi.cpp:563: erreur: ‘fwrite’ was not declared in this scope
/tmp/yaourt-tmp-baboon/aur-ta3d/ta3d/src/ta3d/src/TA3D_hpi.cpp:564: erreur: ‘fclose’ was not declared in this scope
/tmp/yaourt-tmp-baboon/aur-ta3d/ta3d/src/ta3d/src/TA3D_hpi.cpp: In member function ‘byte* TA3D::UTILS::HPI::cHPIHandler::IsInDiskCache(const TA3D::String&, uint32*)’:
/tmp/yaourt-tmp-baboon/aur-ta3d/ta3d/src/ta3d/src/TA3D_hpi.cpp:614: erreur: ‘fread’ was not declared in this scope
/tmp/yaourt-tmp-baboon/aur-ta3d/ta3d/src/ta3d/src/TA3D_hpi.cpp:616: erreur: ‘fclose’ was not declared in this scope
/tmp/yaourt-tmp-baboon/aur-ta3d/ta3d/src/ta3d/src/TA3D_hpi.cpp: In member function ‘byte* TA3D::UTILS::HPI::cHPIHandler::PullFromHPI(const TA3D::String&, uint32*)’:
/tmp/yaourt-tmp-baboon/aur-ta3d/ta3d/src/ta3d/src/TA3D_hpi.cpp:680: erreur: ‘fread’ was not declared in this scope
/tmp/yaourt-tmp-baboon/aur-ta3d/ta3d/src/ta3d/src/TA3D_hpi.cpp:682: erreur: ‘fclose’ was not declared in this scope
/tmp/yaourt-tmp-baboon/aur-ta3d/ta3d/src/ta3d/src/TA3D_hpi.cpp:737: erreur: ‘fread’ was not declared in this scope
/tmp/yaourt-tmp-baboon/aur-ta3d/ta3d/src/ta3d/src/TA3D_hpi.cpp:739: erreur: ‘fclose’ was not declared in this scope
/tmp/yaourt-tmp-baboon/aur-ta3d/ta3d/src/ta3d/src/TA3D_hpi.cpp: In member function ‘byte* TA3D::UTILS::HPI::cHPIHandler::PullFromHPI_zone(const TA3D::String&, uint32, uint32, uint32*)’:
/tmp/yaourt-tmp-baboon/aur-ta3d/ta3d/src/ta3d/src/TA3D_hpi.cpp:802: erreur: ‘fread’ was not declared in this scope
/tmp/yaourt-tmp-baboon/aur-ta3d/ta3d/src/ta3d/src/TA3D_hpi.cpp:804: erreur: ‘fclose’ was not declared in this scope
/tmp/yaourt-tmp-baboon/aur-ta3d/ta3d/src/ta3d/src/TA3D_hpi.cpp:827: erreur: ‘fread’ was not declared in this scope
/tmp/yaourt-tmp-baboon/aur-ta3d/ta3d/src/ta3d/src/TA3D_hpi.cpp:829: erreur: ‘fclose’ was not declared in this scope
make[2]: *** [src/CMakeFiles/hpi.dir/TA3D_hpi.cpp.o] Erreur 1
make[1]: *** [src/CMakeFiles/hpi.dir/all] Erreur 2
make: *** [all] Erreur 2
==> ERREUR: La compilation a échoué.
    Abandon...
Error: Makepkg n'a pas pu construire le paquetage ta3d.
Un peu d'aide serait le bienvenu
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17235
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [PKGBUILD] TA3D

Message par benjarobin »

Bon je préviens c'est pas jolie jolie... Le paquet est mal fait et il n'a jamais pu compiler. A moins d'avoir utiliser une autre librairie que stdio.h. Je m'explique il manque en effet stdio.h mais cela provoque d'autre erreur.
Je poste ici toute les corrections faites:

Code : Tout sélectionner

--- fbi.cpp	2009-09-05 07:29:34.000000000 +0200
+++ TA3D/src/ta3d/src/fbi.cpp	2009-09-02 12:08:57.000000000 +0200
@@ -312,7 +312,7 @@
 
         for (String::List::iterator file = file_list.begin(); file != file_list.end(); ++file) // Cherche un fichier pouvant contenir des informations sur l'unité unit_name
         {
+            const char *f = NULL; //benjarobin
-            char *f = NULL;
             for (int i = 0; i < nb_unit; ++i)
             {
                 String fileUp = String::ToUpper(*file);

Code : Tout sélectionner

--- 3dmeditor.cpp	2009-09-05 07:29:48.000000000 +0200
+++ TA3D/src/ta3d/src/3dmeditor.cpp	2009-09-02 12:08:57.000000000 +0200
@@ -1075,14 +1075,11 @@
         if (painter_area.get_state("paint.b_resolution")) 								// Change the texture size
         {
             String new_res = GetVal( I18N::Translate( "New texture resolution" ) );
+			char *new_res_copy = new char [new_res.size()+1];
+			strcpy (new_res_copy, new_res.c_str()); //benjarobin
+			
+            char *new_separator = strstr(new_res_copy,"x");
-            char *new_separator = strstr(new_res.c_str(),"x");
             if (new_separator)
             {
                 *new_separator=0;
+                int n_w = atoi(new_res_copy);
-                int n_w = atoi(new_res.c_str());
                 *new_separator='x';
                 new_separator++;
                 int n_h = atoi(new_separator);
@@ -1102,10 +1099,8 @@
 
                 destroy_bitmap(tmp);
             }
+            else {
-            else
                 Popup( I18N::Translate( "Error" ), I18N::Translate( "The resolution must be widthxheight" ));
+			}
+			delete new_res_copy;
         }
         if (painter_area.get_state("paint.b_cubic_mapping"))    CubeTexturing(cur_part);
         if (painter_area.get_state("paint.b_optimize"))         obj_geo_optimize(cur_part);

Code : Tout sélectionner

Et dans src/ta3d/config.h ajouter #include <stdio.h> entre #ifndef __CONFIG_H__ et #endif
De plus on est obliger de le lancer comme ceci LD_PRELOAD=/usr/local/lib/libagl.so /usr/games/ta3d en faite il faudrait rajouter dans le patch la lib, mais la flemme... De toute façon je vais désinstaller le paquet

Bonne chance, je vais me coucher il se fait tard
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Répondre