strana situazione durante la compilazione di kiba-dock

Forum dedicato alla programmazione.

Moderatore: Staff

Regole del forum
1) Citare in modo preciso il linguaggio di programmazione usato.
2) Se possibile portare un esempio del risultato atteso.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Rispondi
1111The-rockeT1111
Linux 0.x
Linux 0.x
Messaggi: 18
Iscritto il: lun 16 giu 2008, 21:46

strana situazione durante la compilazione di kiba-dock

Messaggio da 1111The-rockeT1111 »

Salve gente, dopo compiz, ora c'è kiba-dock che fa di tutto, pur di non essere installato sulla mia architettura, :lol: , comunque qui mi si presenta una strana anomalia durante la compilazione di kiba-dock, di conseguenza mi si presentano, questi errori, dopo aver digitato make (naturalmente tutte le dipendenze sono state soddisfatte, tranne quelle opzionali, ma penso che ci sono anche loro) :


In file included from ../include/kiba-win.h:28,
from ../include/kiba.h:25,
from main.c:27:
../include/kiba-dock.h:310: error: expected declaration specifiers or '...' before 'KibaDrawableObject'
make[3]: *** [main.o] Error 1
make[3]: Leaving directory `/home/taras/kiba/kiba-dock/src'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/taras/kiba/kiba-dock/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/taras/kiba/kiba-dock'
make: *** [all] Error 2


Dunque, penso proprio che ci sia qualche anomalia nei codici, io in effetti li sto controllando questi codici, ma fino ad ora non riesco a trovare niente di starno, bah!!
L'unica cosa che mi rimane da fara, è postare questi codici qui sul topic:

Codice: Seleziona tutto

********************************kiba-win.h***********************************************

/*
 *  Copyright (C) 2006-2007 Daniel Bessler <danielb@kiba-dock.org>
 *
 *  This program is free software; you can redistribute it and/or modify
 *  it under the terms of the GNU General Public License as published by
 *  the Free Software Foundation; either version 2 of the License, or
 *  (at your option) any later version.
 *
 *  This program is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *  GNU General Public License for more details.
 *
 *  You should have received a copy of the GNU General Public License
 *  along with this program; if not, write to the Free Software
 *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA.
 *
 *  Author : Daniel Bessler <danielb@kiba-dock.org>
*/

#ifndef __KIBA_WIN_H__
#define __KIBA_WIN_H__

#include <gtk/gtk.h>
#include <gdk/gdk.h>
#include <cairo.h>

#include <kiba-dock.h>
#include <kiba-triangle.h>
#include <kiba-progress.h>
#include <kiba-types.h>

G_BEGIN_DECLS

#define KIBA_TYPE_WIN           (kiba_win_get_type ())
#define KIBA_WIN(obj)           (G_TYPE_CHECK_INSTANCE_CAST ((obj), KIBA_TYPE_WIN, KibaWin))
#define KIBA_WIN_CLASS(obj)     (G_TYPE_CHECK_CLASS_CAST ((obj), KIBA_WIN,  KibaWinClass))
#define KIBA_IS_WIN(obj)        (G_TYPE_CHECK_INSTANCE_TYPE ((obj), KIBA_TYPE_WIN))
#define KIBA_IS_WIN_CLASS(obj)  (G_TYPE_CHECK_CLASS_TYPE ((obj), KIBA_TYPE_WIN))
#define KIBA_WIN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), KIBA_TYPE_WIN, KibaWinClass))

#define KIBA_WIN_CHILD(win)      gtk_bin_get_child(GTK_BIN(win))

/* property macros */
#define KIBA_WIN_IS_ABOVE(win) GET_FLAG(win->probs, KIBA_WIN_ABOVE)
#define KIBA_WIN_IS_BELOW(win) GET_FLAG(win->probs, KIBA_WIN_BELOW)

typedef struct _KibaWin KibaWin;
typedef struct _KibaWinClass KibaWinClass;

/**
 * KibaDragReceiveFunc:
 * @Param1: The drag and drop Context.
 * @Param2: The group.
 * @Param3: User data.
 *
 * Callback function to handle drag and drag receive events.
 *
 * Returns: TRUE on succes, otherwhise FALSE
 */
typedef gboolean (*KibaDragReceiveFunc) (GdkDragContext*, const char*, gpointer);

/**
 * KibaDragDestFunc:
 * @Param1: The drag and drop context.
 * @Param2: The group.
 * @Param3: User data.
 * @Param4: The drag action return.
 * @Param5: The drag Icon return.
 *
 * Callback function to check if a drag and drop receive is possible.
 * If multiple KibaDragReceiveFunc's can handle the drag,
 * a menu is created to allow the user choosing the drag action
 */
typedef void (*KibaDragDestFunc) (GdkDragContext*, const char*, gpointer, char**, char**);

typedef void (*KibaWinAllocateChildrenFunc) (KibaWin*, gpointer);

typedef enum {
	KIBA_WIN_BELOW = 0, /**< keep the window below */
	KIBA_WIN_ABOVE     /**< keep the window above */
}KibaWinProbs;

struct _KibaWin {
	GtkWindow window;
	
	KibaWinProbs probs; /**< The window propertys */
	
	KibaWinAllocateChildrenFunc allocate_children;
	gpointer allocate_data;
	
	KibaTriangle *triangle; /**< the KibaTriangle instance */
	KibaProgress *progress; /**< the KibaProgress instance */
};

struct _KibaWinClass {
	GtkWindowClass  parent_class;
	
	/* signals */
	void (* dock_hidden) (KibaWin  *win,
                          KibaDock *dock);
	void (* dock_unhidden) (KibaWin  *win,
                            KibaDock *dock);
};

GtkWidget* kiba_win_new (void);

cairo_t* kiba_win_cairo_create (KibaWin *win);

void kiba_win_invalidate_area (GtkWidget *widget,
                               GdkRectangle area);

gboolean kiba_win_set_children_allocate_func (KibaWin *win,
                                          KibaWinAllocateChildrenFunc fun,
                                          gpointer data);

gboolean kiba_win_unset_children_allocate_func (KibaWin *win,
                                            KibaWinAllocateChildrenFunc fun);

void kiba_win_set_flag (KibaWin *win,
                        KibaWinProbs prob);

void kiba_win_unset_flag (KibaWin *win,
                          KibaWinProbs prob);

void kiba_win_add_drag_func (KibaWin *win,
                             KibaDragReceiveFunc receive_func,
                             KibaDragDestFunc dest_func,
                             gpointer user_data);

void kiba_win_remove_drag_func (KibaWin *win,
                                KibaDragReceiveFunc receive_func);

G_END_DECLS

#endif

Codice: Seleziona tutto

*************************************kiba.h*******************************************
 /*  Copyright (C) 2006-2007 Daniel Bessler <danielb@kiba-dock.org>
 *
 *  This program is free software; you can redistribute it and/or modify
 *  it under the terms of the GNU General Public License as published by
 *  the Free Software Foundation; either version 2 of the License, or
 *  (at your option) any later version.
 *
 *  This program is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *  GNU General Public License for more details.
 *
 *  You should have received a copy of the GNU General Public License
 *  along with this program; if not, write to the Free Software
 *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA.
 *
 *  Author : Daniel Bessler <danielb@kiba-dock.org>
*/

#ifndef __KIBA_H__
#define __KIBA_H__

#include <gtk/gtk.h>

#include <kiba-win.h>
#include <kiba-plugin.h>
#include <kiba-object.h>
#include <kiba-prefs.h>
#include <kiba-title.h>
#include <kiba-tooltip.h>
#include <kiba-types.h>

G_BEGIN_DECLS

#define KIBA_TYPE           (kiba_get_type ())
#define KIBA(obj)           (G_TYPE_CHECK_INSTANCE_CAST ((obj), KIBA_TYPE, Kiba))
#define KIBA_CLASS(obj)     (G_TYPE_CHECK_CLASS_CAST ((obj), KIBA,  KibaClass))
#define KIBA_IS(obj)        (G_TYPE_CHECK_INSTANCE_TYPE ((obj), KIBA_TYPE))
#define KIBA_IS_CLASS(obj)  (G_TYPE_CHECK_CLASS_TYPE ((obj), KIBA_TYPE))
#define KIBA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), KIBA_TYPE, KibaClass))

typedef struct _Kiba Kiba;
typedef struct _KibaClass KibaClass;

Kiba* kiba_get();

gboolean kiba_add_plugin_object (Kiba *kiba,
                                 KibaPlugin *plugin,
                                 KibaObject *object);

KibaPrefsFile* kiba_get_plugin_config_file (Kiba *kiba,
                                            KibaPlugin *plugin);

KibaPrefsFile* kiba_get_dock_config_file (Kiba *kiba,
                                          KibaDock *dock);

KibaWin* kiba_get_plugin_win (Kiba *kiba,
                              KibaPlugin *plugin);

KibaWin* kiba_get_win (Kiba *kiba);

KibaTitle* kiba_get_title (Kiba *kiba);

KibaTooltip* kiba_get_tooltip (Kiba *kiba);

GList* kiba_get_docks(Kiba *kiba);

void kiba_add_config_file (Kiba *kiba,
                           const char *configFile);

void kiba_remove_config_file (Kiba *kiba,
                              const char *configFile);

void kiba_quit (Kiba *kiba);

G_END_DECLS

#endif

Codice: Seleziona tutto

******************************************main.c****************************************************/

/*
 *  Copyright (C) 2007 Daniel Bessler <danielb@kiba-dock.org>
 *
 *  This program is free software; you can redistribute it and/or modify
 *  it under the terms of the GNU General Public License as published by
 *  the Free Software Foundation; either version 2 of the License, or
 *  (at your option) any later version.
 *
 *  This program is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *  GNU General Public License for more details.
 *
 *  You should have received a copy of the GNU General Public License
 *  along with this program; if not, write to the Free Software
 *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA.
 *
 *  Author : Daniel Bessler <danielb@kiba-dock.org>
*/

#include "../config.h"

#include <stdlib.h>
#include <string.h>
#include <locale.h>

#include "kiba.h"
#include "kiba-plugin-loader.h"
#include "kiba-macros.h"
#include "kiba-screen.h"
#include "kiba-debug.h"
#include "kiba-prefs.h"
#include "kiba-prefs-schema.h"
#include "kiba-globals.h"
#include "kiba-surface-factory.h"
#include "prefs-dbus.h"

#include "prefs-private.h"
#include "surface-factory-private.h"
#ifdef USE_LIBSN
  #include "startup-notification.h"
#endif

#ifdef USE_KDE
	const char *file_manager_global = "konqueror";
#else
#ifdef USE_XFCE
	const char *file_manager_global = "thunar";
#else
	const char *file_manager_global = "nautilus --no-desktop";
#endif
#endif

int main (int argc, char *argv[]) {
	Kiba *kiba;
	KibaPluginLoader *loader;
#ifdef USE_LIBSN
	KibaSn *sn;
#endif
	char *pluginPath = NULL;
	char *dockPluginPath, *globalPluginPath;
	gint i;
	
#ifdef ENABLE_NLS
	bindtextdomain (PACKAGE, DATADIR"/locale");
	textdomain (PACKAGE);
	bind_textdomain_codeset (PACKAGE, "UTF-8");
#endif
	
	setlocale (LC_NUMERIC, "C");  /* use decimal point instead of comma */
	setlocale (LC_CTYPE, "");
	setlocale (LC_MESSAGES, "");
	
	/* parsing command line parameters */
	for (i = 0; i < argc; i++) {
		if (g_strrstr (argv[i], "--help") != NULL ||
		    g_strrstr (argv[i], "-h") != NULL) {
			fprintf (stderr, "Usage: kiba-dock [--verbose] [--plugin-path plugin_path] ...\n");
			return EXIT_SUCCESS;
		}
		/* enables debugging */
		else if (g_strrstr (argv[i], "--verbose") != NULL ||
			 g_strrstr (argv[i], "-v") != NULL)
			kiba_debug_init ();
		else if (i < argc + 1) {
			if (g_strrstr (argv[i], "--plugin-path") != NULL) {
				pluginPath = argv[i+1];
				if (!g_file_test (pluginPath, G_FILE_TEST_EXISTS)) {
					fprintf (stderr, "Invalid Directory in --plugin-path argument: '%s'\n", pluginPath);
					pluginPath = NULL;
				}
			}
		}
	}
	
#ifdef HAVE_SVG
	DEBUG_INFO("Kiba was build with SVG support\n");
#else
	DEBUG_INFO("Kiba was build without SVG support\n");
#endif
#ifdef USE_GLITZ
	DEBUG_INFO("Kiba was build with GLITZ support\n");
#else
	DEBUG_INFO("Kiba was build without GLITZ support\n");
	#ifdef HAVE_GLITZ
	#ifndef CAIRO_HAS_GLITZ_SURFACE
		DEBUG_MISC("Your current cairo installation does not have glitz Support.\n");
		DEBUG_MISC("Cairo does not include glitz support by default.\n"
			"To use glitz in kiba you must recompile cairo with '--enable-glitz'.\n");
	#endif
	#endif
#endif
#ifdef USE_SDL
	DEBUG_INFO("Kiba was build with SDL support\n");
#else
	DEBUG_INFO("Kiba was build without SDL support\n");
#endif
	
	if (!pluginPath)
		pluginPath = LIBDIR "/kiba-dock";
	if (!g_file_test (pluginPath, G_FILE_TEST_IS_DIR)) {
		DEBUG_ERROR (
				"Failed to locate Plugins at '%s'\n"
				"Please install the Plugins at '" LIBDIR "/kiba-dock' "
				"or use the '--plugin-path' command line parameter.\n",
				pluginPath);
		return EXIT_FAILURE;
	}
	
	DEBUG_MISC("Initialling Gtk+ Library\n");
//TODO: is this already needed for the thumbnail-factory thread?
// 	g_thread_init (NULL);
// 	gdk_threads_init ();
// 	gdk_threads_enter ();
	
	gtk_disable_setlocale();
	gtk_init (&argc, &argv);
	
#ifdef HAVE_SVG
	DEBUG_MISC("Initiall RSVG Library\n");
	rsvg_init ();
#endif
	
	/* show tips dialog */
// 	kiba_dialog_tips ();
	
	/* make the plugins at pluginPath loadable */
	loader = kiba_plugin_loader_get();
	globalPluginPath = g_strdup_printf ("%s/global_plugins", pluginPath);
	if (!kiba_plugin_loader_initiall_plugins_at_path (loader, KIBA_PLUGIN_GLOBAL, globalPluginPath)) {
		g_object_unref (G_OBJECT(loader));
		g_free(globalPluginPath);
		return EXIT_FAILURE;
	}
	g_free(globalPluginPath);
	dockPluginPath = g_strdup_printf ("%s/dock_plugins", pluginPath);
	if (!kiba_plugin_loader_initiall_plugins_at_path (loader, KIBA_PLUGIN_DOCK, dockPluginPath)) {
		g_object_unref (G_OBJECT(loader));
		g_free(dockPluginPath);
		return EXIT_FAILURE;
	}
	g_free(dockPluginPath);
	
	/* set up the preferences database */
	kiba_prefs_get ();
	/* set up the dbus interface */
	prefs_dbus_get();
	
#ifdef USE_LIBSN
	sn = kiba_sn_get ();
#endif
	
	/* creating the docks */
	kiba = kiba_get();
	
	/* enter the GTK mainloop */
	gtk_main();
// 	gdk_threads_leave ();
	
	
	DEBUG_MISC("Destroying docks..\n");
	g_object_unref (G_OBJECT(kiba));
	
	DEBUG_MISC("Cleaning up..\n");
	g_object_unref (G_OBJECT(loader));
#ifdef USE_LIBSN
	g_object_unref(G_OBJECT(sn));
#endif
	prefs_dbus_fini ();
	kiba_screen_destroy (kiba_screen_get());
	kiba_prefs_fini ();
	kiba_surface_factory_destroy();
	DEBUG_MISC("Cleaned up!\n");

#ifdef HAVE_SVG
	rsvg_term ();
#endif
	
	return EXIT_SUCCESS;
}

Mi raccomando, fatemi sapere, perchè sto prprio disperato, non lo so proprio in che altro modo devo installare questo programma, e vi ringrazio di nuovo per l'aiuto !!
Ultima modifica di 1111The-rockeT1111 il lun 30 giu 2008, 20:51, modificato 6 volte in totale.

Avatar utente
414N
Iper Master
Iper Master
Messaggi: 2924
Iscritto il: mer 13 feb 2008, 16:19
Slackware: 15.0
Kernel: 5.15.19
Desktop: KDE5
Località: Bulagna
Contatta:

Re: strana situazione durante la compilazione di kiba-dock

Messaggio da 414N »

1111The-rockeT1111 ha scritto: L'unica cosa che mi rimane da fara, è postare questi codici qui sul topic:
...
Intanto potresti usare i tag code, per non far diventare il post inutilmente lungo quanto un miglio marino...
Tra parentesi, non sono "codici" ma codice sorgente.
1111The-rockeT1111 ha scritto: from main.c:27:
../include/kiba-dock.h:310: error: expected declaration specifiers or '...' before 'KibaDrawableObject'
L'"errore" è qui, all'interno del file kiba-dock.h. Non nei tre file che hai riportato.
Alla riga 310 del suddetto file il compilatore riscontra un'anomalia che causa il fallimento di make.

1111The-rockeT1111
Linux 0.x
Linux 0.x
Messaggi: 18
Iscritto il: lun 16 giu 2008, 21:46

Re: strana situazione durante la compilazione di kiba-dock

Messaggio da 1111The-rockeT1111 »

Hai ragione, non ci avevo pensato al tag cod, comunque, sapresti darmi una mano, su come dovrei correggere quel errore del puntatore"KibaDrawableObject" ???
Percheè questi tre sorgenti che ho elencato, li ho ricopiato con quelli che avevo scaricato stesso da svn, cioè dove ho scaricato i sorgenti di kiba-dock (gli chiamo codici per abrrevviare un pò le cose :D )

Avatar utente
414N
Iper Master
Iper Master
Messaggi: 2924
Iscritto il: mer 13 feb 2008, 16:19
Slackware: 15.0
Kernel: 5.15.19
Desktop: KDE5
Località: Bulagna
Contatta:

Re: strana situazione durante la compilazione di kiba-dock

Messaggio da 414N »

Se hai scaricato i sorgenti da svn, ti consiglio di riscaricarli e riprovare.
Ti basta lanciare il comando (magari preceduto da un make clean, in modo da eliminare eventuali file oggetto parziali generati durante la compilazione precedente)

Codice: Seleziona tutto

svn update /path/to/svn/folder
dove /path/to/svn/folder è il percorso della directory contenente i sorgenti svn.
Può darsi che tu abbia effettuato uno "snapshot" dei sorgenti in un frangente durante il quale non erano compilabili.

Rispondi