30

Lionel Debroux (./29) :
Hmm, ça complique plutôt PedroM... ça n'est pas le but que je recherchais grin

Il est fort possible que ticonnect ait les mêmes limitations.

31

Mouais, en effet...

Au fait:
+\loopFile              move.b  (a0)+,d1 
+                       beq.s   \EndFile 
+                       move.b  d1,(a1)+ 
+                       dbf     d0,\loopFile 
+\EndFile       clr.b   (a1)

N'y a-t-il pas moyen de faire la boucle en utilisant un move de mémoire à mémoire et dbeq (ou dbne, je ne sais jamais dans quel sens la condition est interprétée) ?
avatar
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Co-admin de TI-Planet.

32

Ah !!! Je me pose exactement la même question quand je crée mes SYM_STR, j'ai déjà pensé au dbeq/dbne aussi, mais sans arriver à qqchose. Si qqun a une solution, je prends !

33

D'après le 68000 Family Programmer's Reference Manual, cette instruction fait:
Syntax: DBcc Dn, < label >
Operation: If Condition False
Then (Dn – 1 → Dn; If Dn ≠ – 1 Then PC + dn → PC)

asm volatile("
lea 0x300.w,%a0
lea 8(%a0),%a1
move.l #0x31323334,(%a0)
clr.b 4(%a0)
moveq #8,%d0
0:
move.b (%a0)+,(%a1)+
dbeq %d0, 0b
");

copie, comme attendu, les octets 0x300-0x304 vers 0x308-0x30C.

On doit donc pouvoir simplifier un morceau du dernier hunk du patch de ./28 en
\loopFile              move.b  (a0)+(a1)+
+                       dbeq     d0,\loopFile
+\EndFile       clr.b   -1(a1)

(-2 octets)
avatar
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Co-admin de TI-Planet.

34

Quant au fait que la variable system\stdlib soit considérée par TILP comme étant en RAM, et à la valeur 100 pour le "flag" de stdlib... même si je ne suis pas sûr de ce que "flag" veut dire, je pense qu'il s'agit de deux implémentations partielles, ou peut-être bugs, de PedroM wink

Trace dans la console de l'obtention du contenu de tous les répertoires, puis d'un backup, déclenché sur PedroM 0.82 RC8 fraîchement resetté:
ticalcs-INFO: Vérification du status:
ticalcs-INFO:  PC->TI: RDY?
ticalcs-INFO:  TI->PC: ACK
ticalcs-INFO: Obtention des dossiers & variables & applications:
ticalcs-INFO:  PC->TI: REQ (size=0x1F000000=520093696, id=1A, name=)
ticalcs-INFO:  TI->PC: ACK
ticalcs-INFO:  TI->PC: VAR (size=0x0E00001C=234881052, id=1A, name=main, flag=3)
ticalcs-INFO:  PC->TI: ACK
ticalcs-INFO:  PC->TI: CTS
ticalcs-INFO:  TI->PC: ACK
ticalcs-INFO:  TI->PC: XDP (0020=32 bytes)
ticalcs-INFO:  PC->TI: ACK
ticalcs-INFO:  TI->PC: EOT
ticalcs-INFO:  PC->TI: ACK
ticalcs-INFO: Nom:   system | Type:      DIR | Attr: 0  | Size: 00000001
ticalcs-INFO: Nom:     main | Type:      DIR | Attr: 0  | Size: 00000000
ticalcs-INFO: Listage du dossier dans   system...
ticalcs-INFO:  PC->TI: REQ (size=0x1B000000=452984832, id=1A, name=system)
ticalcs-INFO:  TI->PC: ACK
ticalcs-INFO:  TI->PC: VAR (size=0x0E00001C=234881052, id=1A, name=main, flag=3)
ticalcs-INFO:  PC->TI: ACK
ticalcs-INFO:  PC->TI: CTS
ticalcs-INFO:  TI->PC: ACK
ticalcs-INFO:  TI->PC: XDP (0020=32 bytes)
ticalcs-INFO:  PC->TI: ACK
ticalcs-INFO:  TI->PC: EOT
ticalcs-INFO:  PC->TI: ACK
ticalcs-INFO: Nom:   stdlib | Type:      ASM | Attr: 0  | Size: 00005B79
ticalcs-INFO:
ticalcs-INFO: Listage du dossier dans     main...
ticalcs-INFO:  PC->TI: REQ (size=0x1B000000=452984832, id=1A, name=main)
ticalcs-INFO:  TI->PC: ACK
ticalcs-INFO:  TI->PC: VAR (size=0x0E00000E=234881038, id=1A, name=main, flag=3)
ticalcs-INFO:  PC->TI: ACK
ticalcs-INFO:  PC->TI: CTS
ticalcs-INFO:  TI->PC: ACK
ticalcs-INFO:  TI->PC: XDP (0012=18 bytes)
ticalcs-INFO:  PC->TI: ACK
ticalcs-INFO:  TI->PC: EOT
ticalcs-INFO:  PC->TI: ACK
ticalcs-INFO:
+------------------+----------+----+----+----------+----------+
|Nom Bin.          |Nom Trad. |Attr|Type| Taille   | Parent   |
+------------------+----------+----+----+----------+----------+
| 73797374656D0020 |   system |  0 | 1F | 00000001 |          |
| 7374646C69620073 |   stdlib |  0 | 21 | 00005B79 |   system |
| 6D61696E00686F6D |     main |  0 | 1F | 00000000 |          |
+------------------+----------+----+----+----------+----------+
+------------------+----------+----+----+----------+----------+
|Nom Bin.          |Nom Trad. |Attr|Type| Taille   | Parent   |
+------------------+----------+----+----+----------+----------+
+------------------+----------+----+----+----------+----------+
ticalcs-INFO: Vérification du status:
ticalcs-INFO:  PC->TI: RDY?
ticalcs-INFO:  TI->PC: ACK
ticalcs-INFO:  PC->TI: REQ (size=0x1F000000=520093696, id=1A, name=)
ticalcs-INFO:  TI->PC: ACK
ticalcs-INFO:  TI->PC: VAR (size=0x0E00001C=234881052, id=1A, name=main, flag=3)
ticalcs-INFO:  PC->TI: ACK
ticalcs-INFO:  PC->TI: CTS
ticalcs-INFO:  TI->PC: ACK
ticalcs-INFO:  TI->PC: XDP (0020=32 bytes)
ticalcs-INFO:  PC->TI: ACK
ticalcs-INFO:  TI->PC: EOT
ticalcs-INFO:  PC->TI: ACK
ticalcs-INFO: Nom:   system | Type:      DIR | Attr: 0  | Size: 00000001
ticalcs-INFO: Nom:     main | Type:      DIR | Attr: 0  | Size: 00000000
ticalcs-INFO: Listage du dossier dans   system...
ticalcs-INFO:  PC->TI: REQ (size=0x1B000000=452984832, id=1A, name=system)
ticalcs-INFO:  TI->PC: ACK
ticalcs-INFO:  TI->PC: VAR (size=0x0E00001C=234881052, id=1A, name=main, flag=3)
ticalcs-INFO:  PC->TI: ACK
ticalcs-INFO:  PC->TI: CTS
ticalcs-INFO:  TI->PC: ACK
ticalcs-INFO:  TI->PC: XDP (0020=32 bytes)
ticalcs-INFO:  PC->TI: ACK
ticalcs-INFO:  TI->PC: EOT
ticalcs-INFO:  PC->TI: ACK
ticalcs-INFO: Nom:   stdlib | Type:      ASM | Attr: 0  | Size: 00005B79
ticalcs-INFO:
ticalcs-INFO: Listage du dossier dans     main...
ticalcs-INFO:  PC->TI: REQ (size=0x1B000000=452984832, id=1A, name=main)
ticalcs-INFO:  TI->PC: ACK
ticalcs-INFO:  TI->PC: VAR (size=0x0E00000E=234881038, id=1A, name=main, flag=3)
ticalcs-INFO:  PC->TI: ACK
ticalcs-INFO:  PC->TI: CTS
ticalcs-INFO:  TI->PC: ACK
ticalcs-INFO:  TI->PC: XDP (0012=18 bytes)
ticalcs-INFO:  PC->TI: ACK
ticalcs-INFO:  TI->PC: EOT
ticalcs-INFO:  PC->TI: ACK
ticalcs-INFO:
ticalcs-INFO:  PC->TI: RDY?
ticalcs-INFO:  TI->PC: ACK
ticalcs-INFO:  PC->TI: REQ (size=0x00000000=0, id=21, name=system\stdlib)
ticalcs-INFO:  TI->PC: ACK
ticalcs-INFO:  TI->PC: VAR (size=0x00005B79=23417, id=21, name=system\stdlib, flag=100)
ticalcs-INFO:  TI->PC: VAR: the variable name contains a folder name, stripping it.
ticalcs-INFO:  PC->TI: ACK
ticalcs-INFO:  PC->TI: CTS
ticalcs-INFO:  TI->PC: ACK
ticalcs-INFO:  TI->PC: XDP (5B7D=23421 bytes)
ticalcs-INFO:  PC->TI: ACK
ticalcs-INFO:  TI->PC: EOT
ticalcs-INFO:  PC->TI: ACK


1) dans la liste des directories, on voir que l'attribut de stdlib, tel qu'il est lu depuis le link port par get_dirlist() (calc_89.c de libticalcs) est 0 (ATTRB_NONE). Il devrait être 3 (ATTRB_ARCHIVED, voir enum FileAttr). Si je force la valeur de cet attribut à 3, à la ligne 277 de calc_89.c, toutes les variables sont considérées comme archivées, ce qui est attendu.

2) si j'ajoute d'autres variables, par exemple avec "0->a", "1->b", etc., le backup mentionne diverses valeurs bizarres pour "flag": j'ai vu 100, 92, 105. Plusieurs variables peuvent avoir la même valeur bizarre pour flag.
avatar
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Co-admin de TI-Planet.

35

Un petit script pour compiler libti* et tilp. Son cousin qui s'occupe de libti* et tiemu est en cours d'écriture, il est bien entendu très proche de celui-ci.

[EDIT: suppression du script dépassé, voir plus bas pour une version plus à jour.]
avatar
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Co-admin de TI-Planet.

36

\o/

37

Et son cousin pour TIEmu:

[EDIT: suppression du script dépassé, voir plus bas pour une version plus à jour.]

Conformément à tes souhaits (qui sont les mêmes que les miens, d'ailleurs grin), GDB est désactivé smile
avatar
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Co-admin de TI-Planet.

38

Now, you can type 'make' and 'make install'.                                                                                                                 
Building libtifiles                                                                                                                                          
make  all-recursive                                                                                                                                          
make[1]: entrant dans le répertoire « /home/Folco/lpg/tilp/libtifiles »                                                                                      
Making all in build/mingw                                                                                                                                    
make[2]: entrant dans le répertoire « /home/Folco/lpg/tilp/libtifiles/build/mingw »                                                                          
make[2]: Rien à faire pour « all ».                                                                                                                          
make[2]: quittant le répertoire « /home/Folco/lpg/tilp/libtifiles/build/mingw »                                                                              
Making all in po                                                                                                                                             
make[2]: entrant dans le répertoire « /home/Folco/lpg/tilp/libtifiles/po »                                                                                   
test ! -f ./libtifiles2.pot || \                                                                                                                             
          test -z "fr.gmo" || make fr.gmo                                                                                                                    
make[3]: entrant dans le répertoire « /home/Folco/lpg/tilp/libtifiles/po »                                                                                   
: --update fr.po libtifiles2.pot                                                                                                                             
rm -f fr.gmo && : -c --statistics -o fr.gmo fr.po                                                                                                            
mv: ne peut évaluer `t-fr.gmo': Aucun fichier ou dossier de ce type                                                                                          
make[3]: *** [fr.gmo] Erreur 1                                                                                                                               
make[3]: quittant le répertoire « /home/Folco/lpg/tilp/libtifiles/po »                                                                                       
make[2]: *** [stamp-po] Erreur 2
make[2]: quittant le répertoire « /home/Folco/lpg/tilp/libtifiles/po »
make[1]: *** [all-recursive] Erreur 1
make[1]: quittant le répertoire « /home/Folco/lpg/tilp/libtifiles »
make: *** [all] Erreur 2
[Folco@folco scripts]$

Info : faut installer les paquets libti*-devel avant de compiler.

cross -> merci !!!

39

J'ai le même problème avec le script de TiEmu

40

OK. Ca, c'était une première version du script, qui ne contient aucune instruction de troubleshooting et dépendances pré-requises grin
avatar
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Co-admin de TI-Planet.

41

Folco, as-tu quelque chose contre mes RPMs?
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

42

Riens ! Strictement rien, il m'ont toujours rendu grand service et je t'en remercie ! Mais :
=> Je me suis fait baisé pour Fedora 8, j'avais pas sauvegardé tes paquets (ça arrivera plus pour F11 cependant). Donc je suis content s'il existe un autre moyen pour moi d'installer que les rpm.
=> Je pourrai copiler et déboguer sur autre chose que sur Fedora
=> Lionel est en train de faier des correctifs de bugs qui m'intéressent.
=> Lionel propose un moyen simple pour ne pas avoir GDB que je n'utilise jamais.

43

C'est pour Martial que je faisais ces scripts, pour qu'il puisse tester le fix ./27.
Tout simplement, parce que si un fix a été testé par une personne qui n'est pas le mainteneur, c'est encore mieux smile

Quoi qu'il en soit, ./27 est maintenant committé dans libticalcs.
avatar
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Co-admin de TI-Planet.

44

C'est commité aussi dans libcalcprotocols (plus d'une heure avant ton commit tongue).
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

45

Tiens, j'avais parié que tu viendrais poster que tu avais commité dans tes forks la partie fonctionnelle des patches que j'ai faits grin
J'ai analysé les problèmes et fait les patches grâce à des traces et grâce à Doxygen (j'ai envoyé le Doxyfile à Contra), mais pas grâce à toi wink
avatar
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Co-admin de TI-Planet.

46

Nouvelle version des scripts. Pas de changements fonctionnels, mais j'ai parcouru les "control" (Debian) et les specfiles (RPM) pour ajouter la mention des dépendances.

Martial: est-ce que tu as toujours le problème décrit en ./38 ?

Je pense que ces scripts ont leur place dans les repositories et/ou sur les sites Web de TILP et TIEmu. Je vais les tester de mon côté sur quelques environnements autres que mon hôte habituel de travail, mais je compte aussi sur vous pour les tester sur vos environnements wink



TILP:
#! /bin/sh

# This scripts automates the compilation and installation of tilp & gfm
# from its SVN repository.
# See below for prerequisites (dependencies).
# libti* and tilp are compiled with a proposed set of configuration options,
# but you may wish to use others. The complete list is available through
# `./configure --help` run in $SRCDIR/tilp/libticonv, $SRCDIR/tilp/libtifiles,
# $SRCDIR/tilp/libticables, $SRCDIR/tilp/libticalcs, $SRCDIR/tilp/tilp and $SRCDIR/tilp/gfm.


# The place where the sources will be stored.
SRCDIR="$HOME/lpg"

# The prefix where the binaries will be installed, e.g. $HOME, /usr, /usr/local, /usr/share.
# If installing to e.g. $HOME or /usr/local, you'll certainly have to execute
# export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:$HOME/lib/pkgconfig
# (or the equivalent setenv command for csh derivatives).
# and put it in your ~/.bashrc (~/.cshrc, etc.), before executing this script.
PREFIX="$HOME"


# Mandatory dependencies for compiling and running libti* and tilp:
# (Debian and Fedora package names are given)
# * pkg-config
# * GNU autoconf, automake, libtool
# * glib 2.x development files (libglib2.0-dev, glib2-devel)
# * zlib development files (zlib1g-dev, zlib-devel)
# * libusb development files (libusb-dev, libusb-devel)
# * GTK+ 2.x and Glade development files (libgtk2.0-dev + libglade2-dev, gtk2-devel + libglade2-devel)
# * SDL 1.2 development files (libsdl1.2-dev, SDL-devel)
# * GNU gettext
# * GNU bison, flex
# * GNU groff, texinfo
# * XDG utils
#
# Optional dependencies:
# * KDE 3.x development files (kdelibs4-dev, kdelibs3-devel), if you want to compile tilp with support for the KDE file dialog.
#   (this implies Qt development files)


# Checkout/update, `configure`, `make` and `make install` the given module
handle_one_module() {
  if [ -d "$1" -a -d "$1/.svn" ]; then
    echo "Updating $1"
    cd "$1"
    svn up || return 1
    cd ..
  else
    echo "Checking out $1"
    svn co "http://svn.tilp.info/repos/tilp/$1/trunk" "$1" || return 1
  fi

  cd "$1"
  echo "Configuring $1"
  ./configure "--prefix=$PREFIX" "$2" "$3" "$4" "$5" "$6" || return 1
  echo "Building $1"
  make || return 1
  echo "Installing $1"
  make install || return 1
  cd ..
}

echo "Creating output folder if necessary"
mkdir -p "$SRCDIR/tilp" || exit 1

cd "$SRCDIR/tilp"
handle_one_module libticonv || exit 1
handle_one_module libtifiles || exit 1
handle_one_module libticables --enable-logging || exit 1
handle_one_module libticalcs || exit 1

handle_one_module gfm || exit 1
handle_one_module tilp || exit 1


TIEmu:
#! /bin/sh

# This scripts automates the compilation and installation of tiemu
# from its SVN repository.
# See below for prerequisites (dependencies).
# libti* and tiemu are compiled with a proposed set of configuration options,
# but you may wish to use others. The complete list is available through
# `./configure --help` run in $SRCDIR/tilp/libticonv, $SRCDIR/tilp/libtifiles,
# $SRCDIR/tilp/libticables, $SRCDIR/tilp/libticalcs, $SRCDIR/tiemu/tiemu.


# The place where the sources will be stored.
SRCDIR="$HOME/lpg"

# The prefix where the binaries will be installed, e.g. $HOME, /usr, /usr/local, /usr/share.
# If installing to e.g. $HOME or /usr/local, you'll certainly have to execute
# export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:$HOME/lib/pkgconfig
# (or the equivalent setenv command for csh derivatives).
# and put it in your ~/.bashrc (~/.cshrc, etc.), before executing this script.
PREFIX="$HOME"


# Mandatory dependencies for compiling and running libti* and tiemu:
# (Debian and Fedora package names are given)
# * pkg-config
# * GNU autoconf, automake, libtool
# * glib 2.x development files (libglib2.0-dev, glib2-devel)
# * zlib development files (zlib1g-dev, zlib-devel)
# * libusb development files (libusb-dev, libusb-devel)
# * GTK+ 2.x and Glade development files (libgtk2.0-dev + libglade2-dev, gtk2-devel + libglade2-devel)
# * SDL 1.2 development files (libsdl1.2-dev, SDL-devel)
# * libncurses 5 development files (libncurses5-dev, ncurses-devel)
# * GNU gettext
# * GNU bison, flex
# * GNU groff, texinfo
# * XDG utils
#
# Optional dependencies:
# * KDE 3.x development files (kdelibs4-dev, kdelibs3-devel), if you want to compile TIEmu with support for the KDE file dialog.
#   (this implies Qt development files)
# * DBus-Glib development files (libdbus-glib-1-dev, dbus-devel + dbus-glib-devel), if you want to compile TIEmu with D-Bus support.


# Checkout/update, `configure`, `make` and `make install` the given module
handle_one_module() {
  if [ -d "$1" -a -d "$1/.svn" ]; then
    echo "Updating $1"
    cd "$1"
    svn up || return 1
    cd ../..
  else
    echo "Checking out $1"
    svn co "http://svn.tilp.info/repos/$1/trunk" "$1" || return 1
  fi

  cd "$1"
  echo "Configuring $1"
  ./configure "--prefix=$PREFIX" "$2" "$3" "$4" "$5" "$6" || return 1
  echo "Building $1"
  make || return 1
  echo "Installing $1"
  make install || return 1
  cd ../..
}

echo "Creating output folder if necessary"
mkdir -p "$SRCDIR/tilp" || exit 1
mkdir -p "$SRCDIR/tiemu" || exit 1

cd "$SRCDIR"
handle_one_module tilp/libticonv || exit 1
# Useful configure options include --disable-nls.
handle_one_module tilp/libtifiles || exit 1
# Useful configure options include --disable-nls, --enable-logging.
handle_one_module tilp/libticables --enable-logging || exit 1
# Useful configure options include --disable-nls.
handle_one_module tilp/libticalcs || exit 1

# Useful configure options include --disable-gdb, --with-dbus and --without-kde.
handle_one_module tiemu/tiemu --disable-gdb --with-dbus || exit 1
avatar
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Co-admin de TI-Planet.

47

Log pour le build de TiEmu :
log
Creating output folder if necessary
Updating tilp/libticonv
À la révision 4278.
Configuring tilp/libticonv
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether to enable maintainer-specific portions of Makefiles... no
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking for style of include used by make... GNU
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables... 
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking dependency style of gcc... gcc3
checking for a sed that does not truncate output... /bin/sed
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for /usr/bin/ld option to reload object files... -r
checking for BSD-compatible nm... /usr/bin/nm -B
checking whether ln -s works... yes
checking how to recognise dependent libraries... pass_all
checking how to run the C preprocessor... gcc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking dlfcn.h usability... yes
checking dlfcn.h presence... yes
checking for dlfcn.h... yes
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... gcc3
checking how to run the C++ preprocessor... g++ -E
checking for g77... no
checking for xlf... no
checking for f77... no
checking for frt... no
checking for pgf77... no
checking for cf77... no
checking for fort77... no
checking for fl32... no
checking for af77... no
checking for xlf90... no
checking for f90... no
checking for pgf90... no
checking for pghpf... no
checking for epcf90... no
checking for gfortran... no
checking for g95... no
checking for xlf95... no
checking for f95... no
checking for fort... no
checking for ifort... no
checking for ifc... no
checking for efc... no
checking for pgf95... no
checking for lf95... no
checking for ftn... no
checking whether we are using the GNU Fortran 77 compiler... no
checking whether  accepts -g... no
checking the maximum length of command line arguments... 32768
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for objdir... .libs
checking for ar... ar
checking for ranlib... ranlib
checking for strip... strip
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC
checking if gcc PIC flag -fPIC works... yes
checking if gcc static flag -static works... no
checking if gcc supports -c -o file.o... yes
checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no
configure: creating libtool
appending configuration tag "CXX" to libtool
checking for ld used by g++... /usr/bin/ld -m elf_x86_64
checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld... yes
checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking for g++ option to produce PIC... -fPIC
checking if g++ PIC flag -fPIC works... yes
checking if g++ static flag -static works... no
checking if g++ supports -c -o file.o... yes
checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
appending configuration tag "F77" to libtool
checking for gcc... (cached) gcc
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to accept ISO C89... (cached) none needed
checking dependency style of gcc... (cached) gcc3
checking for a BSD-compatible install... /usr/bin/install -c
checking whether make sets $(MAKE)... (cached) yes
checking whether ln -s works... yes
checking for library containing strerror... none required
checking for gawk... (cached) gawk
checking for tfdocgen... no
checking for windres... no
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for GLIB... yes
checking for ANSI C header files... (cached) yes
checking for inttypes.h... (cached) yes
checking for stdint.h... (cached) yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking for an ANSI C-conforming const... yes
checking for size_t... yes
checking whether struct tm is in sys/time.h or time.h... time.h
checking whether gcc needs -traditional... no
checking whether lstat dereferences a symlink specified with a trailing slash... yes
checking whether stat accepts an empty string... no
checking for memset... yes
checking for strcasecmp... yes
checking for strchr... yes
checking for strdup... yes
checking for strrchr... yes
checking whether gcc accepts -fvisibility... -fvisibility=hidden
checking whether to enable experimental iconv interface... no
configure: creating ./config.status
config.status: creating Makefile
config.status: creating build/mingw/Makefile
config.status: creating docs/Makefile
config.status: creating src/Makefile
config.status: creating tests/Makefile
config.status: creating ticonv.pc
config.status: creating config.h
config.status: config.h is unchanged
config.status: executing depfiles commands
Now, you can type 'make' and 'make install'.
Building tilp/libticonv
make  all-recursive
make[1]: entrant dans le répertoire « /home/Folco/lpg/tilp/libticonv »
Making all in build/mingw
make[2]: entrant dans le répertoire « /home/Folco/lpg/tilp/libticonv/build/mingw »
make[2]: Rien à faire pour « all ».
make[2]: quittant le répertoire « /home/Folco/lpg/tilp/libticonv/build/mingw »
Making all in src
make[2]: entrant dans le répertoire « /home/Folco/lpg/tilp/libticonv/src »
make[2]: Rien à faire pour « all ».
make[2]: quittant le répertoire « /home/Folco/lpg/tilp/libticonv/src »
Making all in tests
make[2]: entrant dans le répertoire « /home/Folco/lpg/tilp/libticonv/tests »
make[2]: Rien à faire pour « all ».
make[2]: quittant le répertoire « /home/Folco/lpg/tilp/libticonv/tests »
make[2]: entrant dans le répertoire « /home/Folco/lpg/tilp/libticonv »
make[2]: quittant le répertoire « /home/Folco/lpg/tilp/libticonv »
make[1]: quittant le répertoire « /home/Folco/lpg/tilp/libticonv »
Installing tilp/libticonv
Making install in build/mingw
make[1]: entrant dans le répertoire « /home/Folco/lpg/tilp/libticonv/build/mingw »
make[2]: entrant dans le répertoire « /home/Folco/lpg/tilp/libticonv/build/mingw »
make[2]: Rien à faire pour « install-exec-am ».
make[2]: Rien à faire pour « install-data-am ».
make[2]: quittant le répertoire « /home/Folco/lpg/tilp/libticonv/build/mingw »
make[1]: quittant le répertoire « /home/Folco/lpg/tilp/libticonv/build/mingw »
Making install in src
make[1]: entrant dans le répertoire « /home/Folco/lpg/tilp/libticonv/src »
make[2]: entrant dans le répertoire « /home/Folco/lpg/tilp/libticonv/src »
test -z "/home/Folco/lib" || /bin/mkdir -p "/home/Folco/lib"
 /bin/sh ../libtool --mode=install /usr/bin/install -c  'libticonv.la' '/home/Folco/lib/libticonv.la'
/usr/bin/install -c .libs/libticonv.so.3.0.4 /home/Folco/lib/libticonv.so.3.0.4
(cd /home/Folco/lib && { ln -s -f libticonv.so.3.0.4 libticonv.so.3 || { rm -f libticonv.so.3 && ln -s libticonv.so.3.0.4 libticonv.so.3; }; })
(cd /home/Folco/lib && { ln -s -f libticonv.so.3.0.4 libticonv.so || { rm -f libticonv.so && ln -s libticonv.so.3.0.4 libticonv.so; }; })
/usr/bin/install -c .libs/libticonv.lai /home/Folco/lib/libticonv.la
PATH="$PATH:/sbin" ldconfig -n /home/Folco/lib
----------------------------------------------------------------------
Libraries have been installed in:
   /home/Folco/lib

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
   - add LIBDIR to the `LD_LIBRARY_PATH' environment variable
     during execution
   - add LIBDIR to the `LD_RUN_PATH' environment variable
     during linking
   - use the `-Wl,--rpath -Wl,LIBDIR' linker flag
   - have your system administrator add LIBDIR to `/etc/ld.so.conf'

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
test -z "/home/Folco/include/tilp2" || /bin/mkdir -p "/home/Folco/include/tilp2"
 /usr/bin/install -c -m 644 'ticonv.h' '/home/Folco/include/tilp2/ticonv.h'
 /usr/bin/install -c -m 644 'export4.h' '/home/Folco/include/tilp2/export4.h'
 /usr/bin/install -c -m 644 'charset.h' '/home/Folco/include/tilp2/charset.h'
 /usr/bin/install -c -m 644 'stdints4.h' '/home/Folco/include/tilp2/stdints4.h'
make  install-data-hook
make[3]: entrant dans le répertoire « /home/Folco/lpg/tilp/libticonv/src »
sed -e 's/#define TICONV_ICONV_INTERFACE/#undef TICONV_ICONV_INTERFACE/g' /home/Folco/include/tilp2/ticonv.h >/home/Folco/include/tilp2/ticonv.h.tmp && mv -f /home/Folco/include/tilp2/ticonv.h.tmp /home/Folco/include/tilp2/ticonv.h;
make[3]: quittant le répertoire « /home/Folco/lpg/tilp/libticonv/src »
make[2]: quittant le répertoire « /home/Folco/lpg/tilp/libticonv/src »
make[1]: quittant le répertoire « /home/Folco/lpg/tilp/libticonv/src »
Making install in tests
make[1]: entrant dans le répertoire « /home/Folco/lpg/tilp/libticonv/tests »
make[2]: entrant dans le répertoire « /home/Folco/lpg/tilp/libticonv/tests »
make[2]: Rien à faire pour « install-exec-am ».
make[2]: Rien à faire pour « install-data-am ».
make[2]: quittant le répertoire « /home/Folco/lpg/tilp/libticonv/tests »
make[1]: quittant le répertoire « /home/Folco/lpg/tilp/libticonv/tests »
make[1]: entrant dans le répertoire « /home/Folco/lpg/tilp/libticonv »
make[2]: entrant dans le répertoire « /home/Folco/lpg/tilp/libticonv »
make[2]: Rien à faire pour « install-exec-am ».
test -z "/home/Folco/lib/pkgconfig" || /bin/mkdir -p "/home/Folco/lib/pkgconfig"
 /usr/bin/install -c -m 644 'ticonv.pc' '/home/Folco/lib/pkgconfig/ticonv.pc'
make[2]: quittant le répertoire « /home/Folco/lpg/tilp/libticonv »
make[1]: quittant le répertoire « /home/Folco/lpg/tilp/libticonv »
Updating tilp/libtifiles
À la révision 4278.
Configuring tilp/libtifiles
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether to enable maintainer-specific portions of Makefiles... no
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking for style of include used by make... GNU
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables... 
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking dependency style of gcc... gcc3
checking for a sed that does not truncate output... /bin/sed
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for /usr/bin/ld option to reload object files... -r
checking for BSD-compatible nm... /usr/bin/nm -B
checking whether ln -s works... yes
checking how to recognize dependent libraries... pass_all
checking how to run the C preprocessor... gcc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking dlfcn.h usability... yes
checking dlfcn.h presence... yes
checking for dlfcn.h... yes
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... gcc3
checking how to run the C++ preprocessor... g++ -E
checking for g77... no
checking for xlf... no
checking for f77... no
checking for frt... no
checking for pgf77... no
checking for cf77... no
checking for fort77... no
checking for fl32... no
checking for af77... no
checking for xlf90... no
checking for f90... no
checking for pgf90... no
checking for pghpf... no
checking for epcf90... no
checking for gfortran... no
checking for g95... no
checking for xlf95... no
checking for f95... no
checking for fort... no
checking for ifort... no
checking for ifc... no
checking for efc... no
checking for pgf95... no
checking for lf95... no
checking for ftn... no
checking whether we are using the GNU Fortran 77 compiler... no
checking whether  accepts -g... no
checking the maximum length of command line arguments... 1966080
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for objdir... .libs
checking for ar... ar
checking for ranlib... ranlib
checking for strip... strip
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC
checking if gcc PIC flag -fPIC works... yes
checking if gcc static flag -static works... no
checking if gcc supports -c -o file.o... yes
checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no
configure: creating libtool
appending configuration tag "CXX" to libtool
checking for ld used by g++... /usr/bin/ld -m elf_x86_64
checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld... yes
checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking for g++ option to produce PIC... -fPIC
checking if g++ PIC flag -fPIC works... yes
checking if g++ static flag -static works... no
checking if g++ supports -c -o file.o... yes
checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking dynamic linker characteristics... GNU/Linux ld.so
(cached) (cached) checking how to hardcode library paths into programs... immediate
appending configuration tag "F77" to libtool
checking for gcc... (cached) gcc
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to accept ISO C89... (cached) none needed
checking dependency style of gcc... (cached) gcc3
checking for a BSD-compatible install... /usr/bin/install -c
checking whether make sets $(MAKE)... (cached) yes
checking whether ln -s works... yes
checking for library containing strerror... none required
checking for gawk... (cached) gawk
checking for tfdocgen... no
checking for windres... no
checking whether NLS is requested... yes
checking for msgfmt... no
checking for gmsgfmt... :
checking for xgettext... no
checking for msgmerge... no
checking for ld used by GCC... /usr/bin/ld -m elf_x86_64
checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld... yes
checking for shared library run path origin... done
checking for CFPreferencesCopyAppValue... no
checking for CFLocaleCopyCurrent... no
checking for GNU gettext in libc... yes
checking whether to use NLS... yes
checking where the gettext function comes from... libc
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for GLIB... yes
checking for TICONV... yes
checking zlib.h usability... no
checking zlib.h presence... no
checking for zlib.h... no
checking for compress in -lz... no
checking for ANSI C header files... (cached) yes
checking for inttypes.h... (cached) yes
checking for stdint.h... (cached) yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking for an ANSI C-conforming const... yes
checking for size_t... yes
checking whether struct tm is in sys/time.h or time.h... time.h
checking whether gcc needs -traditional... no
checking whether lstat dereferences a symlink specified with a trailing slash... yes
checking whether stat accepts an empty string... no
checking for memset... yes
checking for strcasecmp... yes
checking for strchr... yes
checking for strdup... yes
checking for strrchr... yes
checking whether gcc accepts -fvisibility... -fvisibility=hidden
configure: creating ./config.status
config.status: creating Makefile
config.status: creating build/mingw/Makefile
config.status: creating docs/Makefile
config.status: creating po/Makefile.in
config.status: creating src/Makefile
config.status: creating tests/Makefile
config.status: creating tifiles2.pc
config.status: creating config.h
config.status: config.h is unchanged
config.status: executing depfiles commands
config.status: executing po-directories commands
config.status: creating po/POTFILES
config.status: creating po/Makefile
Now, you can type 'make' and 'make install'.
Building tilp/libtifiles
make  all-recursive
make[1]: entrant dans le répertoire « /home/Folco/lpg/tilp/libtifiles »
Making all in build/mingw
make[2]: entrant dans le répertoire « /home/Folco/lpg/tilp/libtifiles/build/mingw »
make[2]: Rien à faire pour « all ».
make[2]: quittant le répertoire « /home/Folco/lpg/tilp/libtifiles/build/mingw »
Making all in po
make[2]: entrant dans le répertoire « /home/Folco/lpg/tilp/libtifiles/po »
test ! -f ./libtifiles2.pot || \
	  test -z "fr.gmo" || make fr.gmo
make[3]: entrant dans le répertoire « /home/Folco/lpg/tilp/libtifiles/po »
: --update fr.po libtifiles2.pot
rm -f fr.gmo && : -c --statistics -o fr.gmo fr.po
make[3]: quittant le répertoire « /home/Folco/lpg/tilp/libtifiles/po »
make[2]: quittant le répertoire « /home/Folco/lpg/tilp/libtifiles/po »
make[1]: quittant le répertoire « /home/Folco/lpg/tilp/libtifiles »

plus les warnings :
configure: WARNING: you should use --build, --host, --target
+ l'erreur finale :
mv: ne peut évaluer `t-fr.gmo': Aucun fichier ou dossier de ce type
make[3]: *** [fr.gmo] Erreur 1
make[2]: *** [stamp-po] Erreur 2
make[1]: *** [all-recursive] Erreur 1
make: *** [all] Erreur 2

48

Il te manque gettext wink

Ces warnings sont "normaux", ils viennent du fait que "$2", "$3" et les autres n'existent pas.
Je ne peux pas juste utiliser "$@", parce que ça comprend "$1", qu'on ne veut pas passer au configure.


• Lionel Debroux goes fishing again in the Advanced Bash Scripting Guide...


[EDIT: oui, la réponse y est: shift permet de faire ce que je veux. Napu de warnings "configure: WARNING: you should use --build, --host, --target".].
#! /bin/sh

# This scripts automates the compilation and installation of tilp & gfm
# from the SVN repository.
# See below for prerequisites (dependencies).
# libti* and tilp are compiled with a proposed set of configuration options,
# but you may wish to use others. The complete list is available through
# `./configure --help` run in $SRCDIR/tilp/libticonv, $SRCDIR/tilp/libtifiles,
# $SRCDIR/tilp/libticables, $SRCDIR/tilp/libticalcs, $SRCDIR/tilp/tilp and $SRCDIR/tilp/gfm.


# The place where the sources will be stored.
SRCDIR="$HOME/lpg"

# The prefix where the binaries will be installed, e.g. $HOME, /usr, /usr/local, /usr/share.
#
# NOTES:
# * if installing to e.g. $HOME or /usr/local, you'll certainly have to execute
# $ export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:$HOME/lib/pkgconfig
# (or the equivalent setenv command for csh derivatives).
# and put it in your ~/.bashrc (~/.cshrc, etc.), before executing this script.
#
# * after successful installation, you may have to add $PREFIX/bin to $PATH,
# and $PREFIX/lib to $LD_LIBRARY_PATH, for the SVN versions of libti*, tilp & gfm
# to get picked up.
PREFIX="$HOME"


# Mandatory dependencies for compiling and running libti* and tilp:
# (Debian and Fedora package names are given)
# * pkg-config
# * GNU autoconf, automake, libtool
# * glib 2.x development files (libglib2.0-dev, glib2-devel)
# * zlib development files (zlib1g-dev, zlib-devel)
# * libusb development files (libusb-dev, libusb-devel)
# * GTK+ 2.x and Glade development files (libgtk2.0-dev + libglade2-dev, gtk2-devel + libglade2-devel)
# * SDL 1.2 development files (libsdl1.2-dev, SDL-devel)
# * GNU gettext
# * GNU bison, flex
# * GNU groff, texinfo
# * XDG utils
#
# Optional dependencies:
# * KDE 3.x development files (kdelibs4-dev, kdelibs3-devel), if you want to compile tilp with support for the KDE file dialog.
#   (this implies Qt development files)


# Checkout/update, `configure`, `make` and `make install` the given module
handle_one_module() {
  module_name="$1"
  shift # Kick the first argument, so as to be able to pass the rest to configure.

  if [ -d "$module_name" -a -d "$module_name/.svn" ]; then
    echo "Updating $module_name"
    cd "$module_name"
    svn up || return 1
    cd ..
  else
    echo "Checking out $module_name"
    svn co "http://svn.tilp.info/repos/tilp/$module_name/trunk" "$module_name" || return 1
  fi

  cd "$module_name"
  echo "Configuring $module_name"
  ./configure "--prefix=$PREFIX" $@ || return 1
  echo "Building $module_name"
  make || return 1
  echo "Installing $module_name"
  make install || return 1
  cd ..
}

echo "Creating output folder if necessary"
mkdir -p "$SRCDIR/tilp" || exit 1

cd "$SRCDIR/tilp"
handle_one_module libticonv || exit 1
# Useful configure options include --disable-nls.
handle_one_module libtifiles || exit 1
# Useful configure options include --disable-nls, --enable-logging.
handle_one_module libticables --enable-logging || exit 1
# Useful configure options include --disable-nls.
handle_one_module libticalcs || exit 1

handle_one_module gfm || exit 1
handle_one_module tilp || exit 1



#! /bin/sh

# This scripts automates the compilation and installation of tiemu
# from the SVN repository.
# See below for prerequisites (dependencies).
# libti* and tiemu are compiled with a proposed set of configuration options,
# but you may wish to use others. The complete list is available through
# `./configure --help` run in $SRCDIR/tilp/libticonv, $SRCDIR/tilp/libtifiles,
# $SRCDIR/tilp/libticables, $SRCDIR/tilp/libticalcs, $SRCDIR/tiemu/tiemu.


# The place where the sources will be stored.
SRCDIR="$HOME/lpg"

# The prefix where the binaries will be installed, e.g. $HOME, /usr, /usr/local, /usr/share.
#
# NOTES:
# * if installing to e.g. $HOME or /usr/local, you'll certainly have to execute
# $ export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:$HOME/lib/pkgconfig
# (or the equivalent setenv command for csh derivatives).
# and put it in your ~/.bashrc (~/.cshrc, etc.), before executing this script.
#
# * after successful installation, you may have to add $PREFIX/bin to $PATH,
# and $PREFIX/lib to $LD_LIBRARY_PATH, for the SVN versions of libti* and tiemu
# to get picked up.
PREFIX="$HOME"


# Mandatory dependencies for compiling and running libti* and tiemu:
# (Debian and Fedora package names are given)
# * pkg-config
# * GNU autoconf, automake, libtool
# * glib 2.x development files (libglib2.0-dev, glib2-devel)
# * zlib development files (zlib1g-dev, zlib-devel)
# * libusb development files (libusb-dev, libusb-devel)
# * GTK+ 2.x and Glade development files (libgtk2.0-dev + libglade2-dev, gtk2-devel + libglade2-devel)
# * SDL 1.2 development files (libsdl1.2-dev, SDL-devel)
# * libncurses 5 development files (libncurses5-dev, ncurses-devel)
# * GNU gettext
# * GNU bison, flex
# * GNU groff, texinfo
# * XDG utils
#
# Optional dependencies:
# * KDE 3.x development files (kdelibs4-dev, kdelibs3-devel), if you want to compile TIEmu with support for the KDE file dialog.
#   (this implies Qt development files)
# * DBus-Glib development files (libdbus-glib-1-dev, dbus-devel + dbus-glib-devel), if you want to compile TIEmu with D-Bus support.


# Checkout/update, `configure`, `make` and `make install` the given module
handle_one_module() {
  module_name="$1"
  shift # Kick the first argument, so as to be able to pass the rest to configure.

  if [ -d "$module_name" -a -d "$module_name/.svn" ]; then
    echo "Updating $module_name"
    cd "$module_name"
    svn up || return 1
    cd ../..
  else
    echo "Checking out $module_name"
    svn co "http://svn.tilp.info/repos/$module_name/trunk" "$module_name" || return 1
  fi

  cd "$module_name"
  echo "Configuring $module_name"
  ./configure "--prefix=$PREFIX" $@ || return 1
  echo "Building $module_name"
  make || return 1
  echo "Installing $module_name"
  make install || return 1
  cd ../..
}

echo "Creating output folder if necessary"
mkdir -p "$SRCDIR/tilp" || exit 1
mkdir -p "$SRCDIR/tiemu" || exit 1

cd "$SRCDIR"
handle_one_module tilp/libticonv || exit 1
# Useful configure options include --disable-nls.
handle_one_module tilp/libtifiles || exit 1
# Useful configure options include --disable-nls, --enable-logging.
handle_one_module tilp/libticables --enable-logging || exit 1
# Useful configure options include --disable-nls.
handle_one_module tilp/libticalcs || exit 1

# Useful configure options include --disable-gdb, --with-dbus and --without-kde.
handle_one_module tiemu/tiemu --disable-gdb --with-dbus || exit 1
avatar
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Co-admin de TI-Planet.

49

Ca marche pour TiLP, impeccable ! Je compile aussi TiEmu.

Mais TiEmu crash au boot :
Application : TiEmu (tiemu), signal SIGABRT
0x000000375b4a3e61 in nanosleep () from /lib64/libc.so.6
[Current thread is 1 (Thread 0x7f3e2581d800 (LWP 1682))]

Thread 1 (Thread 0x7f3e2581d800 (LWP 1682)):
[KCrash Handler]
#5  0x000000375b4332f5 in raise () from /lib64/libc.so.6
#6  0x000000375b434b20 in abort () from /lib64/libc.so.6
#7  0x0000003633841d27 in g_logv () from /lib64/libglib-2.0.so.0
#8  0x0000003633841db3 in g_log () from /lib64/libglib-2.0.so.0
#9  0x000000363384031c in g_malloc () from /lib64/libglib-2.0.so.0
#10 0x00000000004cd8d3 in ti68k_state_parse (filename=<value optimized out>, rom_file=0x7fffb1e4d228, tib_file=0x7fffb1e4d220) at core/state.c:84
#11 0x00000000004cdae0 in ti68k_state_load (filename=0x27c81a0 "/home/Folco/.tiemu/images/PedroM-9x.sav") at core/state.c:200
#12 0x00000000004e16f7 in main (argc=1, argv=0x7fffb1e4d378) at gui/main.c:334

50

Entre autres causes possibles, la cause immédiate du déclenchement de SIGABRT par g_malloc() peut être un "vrai" OOM (tu as déjà trop de choses qui tournent sur ta machine) ou un "faux" OOM (essai infructueux d'allouer une quantité énorme de mémoire).
Je vois, dans core/state.{c,h}, que "long" est utilisé - c'est à dire qu'il y a un problème de compatibilité entre 32 et 64 bits. J'en ai déjà corrigé un comme ça sur les .img, quand je l'ai rencontré après mon passage de 32 à 64 bits... il faut donc faire le même genre de fixes sur les .sav.

Envoie-moi STP le .sav ET le .img (il faut la paire), pour que je puisse voir ce qui se passe (ça commence par la vérification de mon hypothèse).
Je n'ai pas d'explication au fait que ce problème ne se déclenchait pas avec le package Fedora TIEmu 3.02 dépassé de Kevin...
avatar
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Co-admin de TI-Planet.

51

Lionel Debroux (./50) :
la cause immédiate du déclenchement de SIGABRT par g_malloc() peut être un "vrai" OOM (tu as déjà trop de choses qui tournent sur ta machine)

Oh non, IRC, FF, deux Konsole et un Dolphin sur une KDE 4 sans trop de services et 2GB de RAM, ça doit pas être ça.

Pour info, le TiEmu compilé a dû utiliser le .tiemu de mon home, créé par le paquet TiEmu de Kevin.

Je t'envoie les fichiers par mail.

52

Merci smile
Ca crashe ici aussi, à cause d'un appel g_malloc(0), qui, d'après la doc, serait censé retourner NULL.
avatar
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Co-admin de TI-Planet.

53

Par contre, après avoir viré le ~/.tiemu, ça marche impec. smile

Merci Lionel, t'es mon libérateur, je suis déjà en train de re-dl Fedora 8. \o/

54

Je n'y crois pas du tout, mais est-ce que par hasard, tu as créé ce .sav avec TIEmu 32 bits (le .img a été créé avec TIEmu 64 bits, comme l'indique la trace que j'avais ajoutée), ou avec une version précédente de PedroM ?

L'analyse du .sav montre que ce n'est pas le cas.
avatar
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Co-admin de TI-Planet.

55

Tout a été créé avec ma F11 64 bits, et le dernier PedroM : même OS de calc et de PC pour les deux.

56

Il y a bien un problème de format: lecture par TIEmu SVN HEAD d'un IMG_INFO (= IMG_INFO32, pour des raisons de compatibilité avec les .img créés sur des plate-formes 32 bits), alors qu'un IMG_INFO64 a été écrit par la version de TIEmu contenue dans le package dépassé (grin) de Kevin, version antérieure au bugfix.
De la même façon, il faut que je duplique SAV_INFO en SAV_INFO32 et SAV_INFO64.

[EDIT: j'en suis arrivé à un état où TIEmu ne crashe plus, mais où il ne comprend pas encore que ce .sav et ce .img correspondent l'un à l'autre. Il faut encore faire pas mal de nettoyage dans state.c.
EDIT2: génération de doc avec Doxygen terminée.]
avatar
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Co-admin de TI-Planet.

57

Bon bah, je sens que je vais devoir inverser vos modifications aux .img et .sav de votre SVN HEAD dans Emu-TIGCC avant de pouvoir faire un paquetage. Franchement, je n'ai ranafout de la compatibilité des .img et .sav entre plateformes, la compatibilité antérieure est plus importante!

À titre d'information, je prévois sauter la dernière release (surtout pour TiEmu parce qu'il y a pas mal de régressions, non seulement cette histoire de compatibilité des savefiles, mais aussi l'histoire des bookmarks) et passer directement à Emu-TIGCC pour mes paquetages.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

58

59

De toute façon, les .img et .sav sont dépendants de la plateforme hôte, essaie d'utiliser ton .img little endian sur une plateforme big endian et tu verras que ça foire aussi. C'est normal que ces formats dépendent de la plateforme hôte, c'était une erreur de changer ça.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

60

Tu ferais bien d'attendre un peu (par exemple, l'arrivée du bugfix des SAV_INFO... même si c'est pas dit que j'aie le temps ce soir, parce que j'ai une vie hors de l'ordinateur...) avant d'inverser le bugfix des IMG_INFO...
Mais bon, tu fais ce que tu veux avec ton logiciel, puisque tu es le mainteneur, comme tu nous l'as déjà écrit.

Tu n'as rien à foutre de la compatibilité entre x86 32 bits et x86-64 en mode 64 bits... plus grand bien te fasse grin
Tu préfères décréter que les problèmes rencontrés par les utilisateurs sont des utilisations non supportées du logiciel, et ainsi éviter ainsi de résoudre le problème (laissant le soin aux utilisateurs de se démerder).
Je préfère travailler à lisser l'expérience utilisateur, lors du passage (en cours, dans le marché des PC !) de 32 bits à 64 bits: pas besoin de réimporter les images (travail effectué il y a plusieurs mois), et si possible, pas besoin de réimporter les save states (travail en cours).

Et comme je viens de te l'écrire sur #tigcc, où tu as posté la même chose qu'ici: c'est facile de critiquer... mais tu n'as pas détecté le problème.
Il n'y a que ceux qui ne font rien qui ne risquent pas de se tromper.


Je pourrais corriger bêtement le bug, en copiant-collant du code depuis images.c vers state.c, mais ça n'est évidemment pas ça qu'il faut faire. De plus, re-parser deux fois le IMG_INFO est bête. Donc, je suis en train de faire autrement.
avatar
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Co-admin de TI-Planet.