Pagina 1 di 1

strana situazione durante la compilazione di kiba-dock

Inviato: lun 30 giu 2008, 15:30
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 !!

Re: strana situazione durante la compilazione di kiba-dock

Inviato: lun 30 giu 2008, 18:04
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.

Re: strana situazione durante la compilazione di kiba-dock

Inviato: lun 30 giu 2008, 20:44
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 )

Re: strana situazione durante la compilazione di kiba-dock

Inviato: lun 30 giu 2008, 21:12
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.