[grisbi-devel] go-optionmenu.c:456:5: error: use of undeclared identifier 'tmp_filename'

Pierre Biava pierre.biava at orange.fr
Thu Sep 22 21:32:07 CEST 2016


Ludovic Rousseau a écrit le 22/09/2016 à 20:59 :
>
>
> Le 21 septembre 2016 à 16:47, Pierre Biava <pierre.biava at orange.fr 
> <mailto:pierre.biava at orange.fr>> a écrit :
>
>     Ludovic Rousseau a écrit le 21/09/2016 à 09:50 :
>
>     Bonjour Ludovic,
>
>         Bonjour,
>
>         La compilation de la branche master échoue (sur macOS en tout
>         cas) avec:
>
>           CC       go-optionmenu.lo
>         go-optionmenu.c:456:5: error: use of undeclared identifier
>         'tmp_filename'
>             tmp_filename = g_build_filename (gsb_dirs_get_pixmaps_dir
>         (), "arrow...
>             ^
>         go-optionmenu.c:457:5: error: use of undeclared identifier
>         'arrow_left'
>             arrow_left = gtk_image_new_from_file (tmp_filename);
>             ^
>         go-optionmenu.c:457:43: error: use of undeclared identifier
>         'tmp_filename'
>             arrow_left = gtk_image_new_from_file (tmp_filename);
>                                                   ^
>         go-optionmenu.c:458:13: error: use of undeclared identifier
>         'tmp_filename'
>             g_free (tmp_filename);
>                     ^
>         go-optionmenu.c:485:4: warning: missing field 'value_table'
>         initializer
>               [-Wmissing-field-initializers]
>                                 };
>
>
>     Un oubli malheureux lors d'un copié collé. Ce qui est curieux
>     c'est que je compile toujours avant de pousser un commit.
>
>
> J'ai corrigé 2 erreurs de compilation.
>
> Maintenant j'ai une erreur au link:
>   CCLD     grisbi
> duplicate symbol _default_couleur_bet_transfert in:
>     ./.libs/libgrisbi.a(gsb_color.o)
>     ./.libs/libgrisbi.a(gsb_rgba.o)
> duplicate symbol _couleur_bet_transfert in:
>     ./.libs/libgrisbi.a(gsb_color.o)
>     ./.libs/libgrisbi.a(gsb_rgba.o)
> duplicate symbol _default_couleur_bet_division in:
>     ./.libs/libgrisbi.a(gsb_color.o)
>     ./.libs/libgrisbi.a(gsb_rgba.o)
> duplicate symbol _couleur_bet_division in:
>     ./.libs/libgrisbi.a(gsb_color.o)
>     ./.libs/libgrisbi.a(gsb_rgba.o)
> duplicate symbol _default_couleur_bet_future in:
>     ./.libs/libgrisbi.a(gsb_color.o)
>     ./.libs/libgrisbi.a(gsb_rgba.o)
> duplicate symbol _couleur_bet_future in:
>     ./.libs/libgrisbi.a(gsb_color.o)
>     ./.libs/libgrisbi.a(gsb_rgba.o)
> duplicate symbol _default_couleur_bet_solde in:
>     ./.libs/libgrisbi.a(gsb_color.o)
>     ./.libs/libgrisbi.a(gsb_rgba.o)
> duplicate symbol _couleur_bet_solde in:
>     ./.libs/libgrisbi.a(gsb_color.o)
>     ./.libs/libgrisbi.a(gsb_rgba.o)
> ld: 8 duplicate symbols for architecture x86_64
>
>
> Il semble que gsb_rgba.c soit une  version améliorée de gsb_color.c.
> Si l'enlève gsb_color.c de Makefile.am je n'ai plus les symboles 
> dupliqués mais du coup il m'en manque :

En fait GdkRGBA remplace GdkColor declaré obsolète . Pour l'instant j'ai 
gardé les deux en // car je n'ai pas encore terminé le nettoyage.

Ça risque d'être long car il faut réécrire la partie "impression" des 
rapports et des tableaux ce qui ne me parait pas prioritaire. De plus je 
n'y ai pratiquement pas touché et j'ai un peu de mal à comprendre 
comment ça fonctionne.

Par ailleurs chez moi ça ne provoque pas d'erreur de compilation avec 
GCC. Peut-être un problème d'option à modifier. Si pas possible il 
faudra changer le nom des couleurs, ce qui ne devrait pas être trop long.

>
> Undefined symbols for architecture x86_64:
>   "_gsb_color_get_strings_to_save", referenced from:
>       _gsb_file_save_save_file in libgrisbi.a(gsb_file_save.o)
>   "_gsb_color_initialise_couleurs_par_defaut", referenced from:
>       _main in main.o
>   "_gsb_color_set_colors_to_default", referenced from:
>       _init_variables in libgrisbi.a(traitement_variables.o)
>   "_gsb_color_set_couleur", referenced from:
>       _gsb_file_load_start_element in libgrisbi.a(gsb_file_load.o)
>   "_gsb_color_set_couleur_with_indice", referenced from:
>       _gsb_file_load_start_element in libgrisbi.a(gsb_file_load.o)
> ld: symbol(s) not found for architecture x86_64
>
>
> Travis-CI trouve d'autres erreurs :
>
> ./.libs/libgrisbi.a(accueil.o): In function 
> `gsb_main_page_get_table_for_accounts':
> /home/travis/build/grisbi/grisbi/src/accueil.c:860: undefined 
> reference to `gtk_widget_set_margin_start'
> /home/travis/build/grisbi/grisbi/src/accueil.c:861: undefined 
> reference to `gtk_widget_set_margin_end'
> ./.libs/libgrisbi.a(accueil.o): In function `creation_onglet_accueil':
> /home/travis/build/grisbi/grisbi/src/accueil.c:1793: undefined 
> reference to `gtk_widget_set_margin_start'
> /home/travis/build/grisbi/grisbi/src/accueil.c:1794: undefined 
> reference to `gtk_widget_set_margin_end'
> ./.libs/libgrisbi.a(gsb_form.o): In function `gsb_form_create_widgets':
> /home/travis/build/grisbi/grisbi/src/gsb_form.c:230: undefined 
> reference to `gtk_widget_set_margin_end'
> ./.libs/libgrisbi.a(utils.o): In function `utils_labels_set_alignement':
> /home/travis/build/grisbi/grisbi/src/utils.c:1053: undefined reference 
> to `gtk_label_set_xalign'
> ./.libs/libgrisbi.a(utils.o): In function `utils_widget_set_padding':
> /home/travis/build/grisbi/grisbi/src/utils.c:1072: undefined reference 
> to `gtk_widget_set_margin_start'
> /home/travis/build/grisbi/grisbi/src/utils.c:1073: undefined reference 
> to `gtk_widget_set_margin_end'
> ./.libs/libgrisbi.a(utils.o): In function `utils_labels_set_alignement':
> /home/travis/build/grisbi/grisbi/src/utils.c:1054: undefined reference 
> to `gtk_label_set_yalign'
> ./.libs/libgrisbi.a(fenetre_principale.o): In function 
> `gsb_gui_create_general_widgets':
> /home/travis/build/grisbi/grisbi/src/fenetre_principale.c:111: 
> undefined reference to `gtk_widget_set_margin_end'
> collect2: error: ld returned 1 exit status

Quelle version de gtk utilises-tu ? Il faut la 3.16 bien que 
gtk_widget_set_margin_start par exemple soit venu avec la 3.12
>
> La différence est que je compile sous Mac OS X alors que Travis-CI 
> utilise Ubuntu.
>
> Je ne sais pas trop quoi faire maintenant. Pierre, tu dois avoir des 
> modifications que tu n'as pas poussé.

Oui j'ai une dizaine de commits que je n'ai pas poussé mais rien sur 
gsb_color.
>
>     Je dois avoir un problème de nettoyage du code avant compilation
>     complète. Il faut que je regarde ça.
>
>
> On dirait bien :-)

en fait j'ai pas du faire un make clean && make distclean avant de 
compiler ce que je fais à la main d'habitude. Il faudrait que je regarde 
si je peux l'ajouter à Anjuta pour le nettoyage général.

Bonne soirée.

Nota on peut discuter sur le canal #grisbi si tu es disponible.

-- 

A+

Pierre Biava

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listes.grisbi.org/pipermail/devel/attachments/20160922/c8da4b96/attachment.htm>


More information about the devel mailing list