a way to build glusterfs 1.3.3 on freebsd-current

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



... if someone wants to build last glusterfs (both client and server)
there are some issues that should be settled before compilation ends
with success.

[*] Fetching and untarring glusterfs 1.3.3 from gluster.org:
[root@slayer:p3][/u/slayer]# tar zxvf glusterfs-1.3.3.tar.gz

[*] Optional step: installing gcc422 (last stable):
[root@slayer:p3][~] cd /usr/ports/lang/gcc42; make install; make clean

[*] Installing depended libs and headers: argp.h from gnu C library:
[root@slayer:p3][~] cd /usr/ports/devel/argp-standalone; make install; make clean

argp-standalone-1.3 Standalone version of arguments parsing functions from GLIB

[*] Installing depended libs and headers: fuse libs 2.7.X (at least this version in port freebsd system): [root@slayer:p3][~] cd /usr/ports/dsysutils/fusefs-libs; make install; make clean

fusefs-libs-2.7.0_1 FUSE allows filesystem implementation in userspace

[*] Patching some strange things: for gcc int32_t C type combinations (in attached patch file), in other words - just changing with int32_t (I do not know actually the real meaning to user int32_t - platform independancy?), some unknown define statements.

[*] Configuring and making with following script:

#!/bin/sh
make clean
./configure --disable-ibverbs LDFLAGS="-L/usr/local/lib -L/usr/lib -I/usr/include -I/usr/local/include" LIBS="-lpthread -liconv -largp -lexecinfo" CC=gcc42 CXX=g++42 make CFLAGS="-L/usr/local/lib -L/usr/lib -I/usr/include -I/usr/local/include" LIBS="-lpthread -liconv -largp -lexecinfo" CC=gcc42 CXX=g++42

Did anyone try to use glusterfs in production or almost-production environments?

2glusterfs developers: It is a pity that such simple patch could not be maintained by your team, at least, glusterfs freebsd ports will increase testing glusterfs on freebsd.

--
Best regards,
Oleg Gorokhov
Yandex, System administrator
diff -u -u -r ./glusterfs-fuse/src/fuse-bridge.c ../glusterfs-1.3.3_good/glusterfs-fuse/src/fuse-bridge.c
--- ./glusterfs-fuse/src/fuse-bridge.c	2007-09-27 16:38:01.000000000 +0400
+++ ../glusterfs-1.3.3_good/glusterfs-fuse/src/fuse-bridge.c	2007-10-03 12:20:51.000000000 +0400
@@ -37,6 +37,10 @@
 
 #define BIG_FUSE_CHANNEL_SIZE 1048576
 
+#ifndef ENODATA
+#define ENODATA ENOMSG
+#endif 
+
 call_pool_t pool;
 
 struct fuse_private {
diff -u -u -r ./glusterfs-fuse/src/glusterfs.c ../glusterfs-1.3.3_good/glusterfs-fuse/src/glusterfs.c
--- ./glusterfs-fuse/src/glusterfs.c	2007-08-14 13:44:15.000000000 +0400
+++ ../glusterfs-1.3.3_good/glusterfs-fuse/src/glusterfs.c	2007-10-03 12:39:42.000000000 +0400
@@ -30,7 +30,7 @@
 #include <stdint.h>
 #include <signal.h>
 #include <pthread.h>
-#include <malloc.h>
+//#include <malloc.h>
 
 
 #include "xlator.h"
diff -u -u -r ./glusterfsd/src/glusterfsd.c ../glusterfs-1.3.3_good/glusterfsd/src/glusterfsd.c
--- ./glusterfsd/src/glusterfsd.c	2007-09-29 22:37:15.000000000 +0400
+++ ../glusterfs-1.3.3_good/glusterfsd/src/glusterfsd.c	2007-10-03 13:08:35.000000000 +0400
@@ -28,7 +28,7 @@
 #include <sys/types.h>
 #include <sys/stat.h>
 #include <unistd.h>
-#include <malloc.h>
+//#include <malloc.h>
 
 #ifdef HAVE_ARGP
 #include <argp.h>
diff -u -u -r ./libglusterfs/src/common-utils.c ../glusterfs-1.3.3_good/libglusterfs/src/common-utils.c
--- ./libglusterfs/src/common-utils.c	2007-08-27 16:08:40.000000000 +0400
+++ ../glusterfs-1.3.3_good/libglusterfs/src/common-utils.c	2007-10-03 13:37:22.000000000 +0400
@@ -146,7 +146,7 @@
   int len;
 };
 
-in_addr_t
+uint32_t
 gf_resolve_ip (const char *hostname, void **dnscache)
 {
   in_addr_t addr = INADDR_NONE;
diff -u -u -r ./libglusterfs/src/common-utils.h ../glusterfs-1.3.3_good/libglusterfs/src/common-utils.h
--- ./libglusterfs/src/common-utils.h	2007-08-03 08:22:14.000000000 +0400
+++ ../glusterfs-1.3.3_good/libglusterfs/src/common-utils.h	2007-10-03 13:36:17.000000000 +0400
@@ -50,7 +50,7 @@
 
 int32_t gf_full_readv (int32_t fd, const struct iovec *vector, int32_t count);
 int32_t gf_full_writev (int32_t fd, const struct iovec *vector, int32_t count);
-in_addr_t gf_resolve_ip (const char *hostname, void **dnscache);
+uint32_t gf_resolve_ip (const char *hostname, void **dnscache);
 int64_t gf_str_to_long_long (const char *number);
 
 #if HAVE_BACKTRACE
diff -u -u -r ./libglusterfs/src/logging.c ../glusterfs-1.3.3_good/libglusterfs/src/logging.c
--- ./libglusterfs/src/logging.c	2007-08-01 08:46:59.000000000 +0400
+++ ../glusterfs-1.3.3_good/libglusterfs/src/logging.c	2007-10-03 13:29:32.000000000 +0400
@@ -47,7 +47,7 @@
   gf_log_loglevel = loglevel = level;
 }
 
-int32_t 
+int 
 gf_log_init (const char *filename)
 {
   if (!filename){
@@ -68,11 +68,11 @@
   return (0);
 }
 
-int32_t 
+int 
 _gf_log (const char *domain,
 	 const char *file,
 	 const char *function,
-	 int32_t line,
+	 int line,
 	 gf_loglevel_t level, const char *fmt, ...)
 {
   static char *level_strings[] = {"N", "C", "E", "W", "D"};
diff -u -u -r ./libglusterfs/src/logging.h ../glusterfs-1.3.3_good/libglusterfs/src/logging.h
--- ./libglusterfs/src/logging.h	2007-08-01 08:46:59.000000000 +0400
+++ ../glusterfs-1.3.3_good/libglusterfs/src/logging.h	2007-10-03 12:24:14.000000000 +0400
@@ -41,15 +41,16 @@
   _gf_log (dom, __FILE__, __FUNCTION__, __LINE__, levl, ##fmt); \
 } while (0)
 
-int32_t 
+int 
 _gf_log (const char *domain,
 	 const char *file,
 	 const char *function,
-	 int32_t line,
+	 int line,
 	 gf_loglevel_t level,
 	 const char *fmt, ...);
-int32_t gf_log_init (const char *filename);
 
+int gf_log_init (const char *filename);
+ 
 gf_loglevel_t gf_log_get_loglevel (void);
 void gf_log_set_loglevel (gf_loglevel_t level);
 
diff -u -u -r ./xlators/cluster/afr/src/afr.c ../glusterfs-1.3.3_good/xlators/cluster/afr/src/afr.c
--- ./xlators/cluster/afr/src/afr.c	2007-09-29 22:37:15.000000000 +0400
+++ ../glusterfs-1.3.3_good/xlators/cluster/afr/src/afr.c	2007-10-03 12:13:31.000000000 +0400
@@ -44,6 +44,10 @@
 #define AFR_DEBUG_FMT(xl, format, args...) if(((afr_private_t*)(xl)->private)->debug) gf_log ((xl)->name, GF_LOG_DEBUG, "AFRDEBUG:" format, ##args);
 #define AFR_DEBUG(xl) if(((afr_private_t*)xl->private)->debug) gf_log (xl->name, GF_LOG_DEBUG, "AFRDEBUG:");
 
+#ifndef ENODATA
+#define ENODATA ENOMSG
+#endif 
+
 static int32_t
 afr_get_num_copies (const char *path, xlator_t *this)
 {

[Index of Archives]     [Gluster Users]     [Ceph Users]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux