From 444c68f1e899b1bc8b8d998260f0f2011aafd346 Mon Sep 17 00:00:00 2001 From: hao Date: Wed, 26 Aug 2015 10:51:49 +0800 Subject: [PATCH 1/3] fix 'PTHREAD_MUTEX_ERRORCHECK undeclared' throw error 'PTHREAD_MUTEX_ERRORCHECK' undeclared when compile on centos --- src/pthread_func.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pthread_func.c b/src/pthread_func.c index 2ec04f4..a8d5312 100644 --- a/src/pthread_func.c +++ b/src/pthread_func.c @@ -38,7 +38,7 @@ int init_pthread_lock(pthread_mutex_t *pthread_lock) return result; } if ((result=pthread_mutexattr_settype(&mat, \ - PTHREAD_MUTEX_ERRORCHECK)) != 0) + PTHREAD_MUTEX_ERRORCHECK_NP)) != 0) { logError("file: "__FILE__", line: %d, " \ "call pthread_mutexattr_settype fail, " \ From 26ebfd031f5e8af9d4d59ad1b03597381b608d9f Mon Sep 17 00:00:00 2001 From: hao Date: Wed, 26 Aug 2015 11:32:01 +0800 Subject: [PATCH 2/3] check system bit version --- make.sh | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/make.sh b/make.sh index e3b5e06..e988b97 100755 --- a/make.sh +++ b/make.sh @@ -5,7 +5,7 @@ cat < $tmp_src_filename #include int main() { - printf("%d\n", (int)sizeof(long)); + printf("%d\n", (int)sizeof(void*)); printf("%d\n", (int)sizeof(off_t)); return 0; } @@ -23,6 +23,8 @@ fi count=0 int_bytes=4 off_bytes=8 +LIB_VERSION=lib64 + for col in $output; do if [ $count -eq 0 ]; then int_bytes=$col @@ -36,8 +38,10 @@ done /bin/rm -f a.out $tmp_src_filename if [ "$int_bytes" -eq 8 ]; then OS_BITS=64 + LIB_VERSION=lib64 else OS_BITS=32 + LIB_VERSION=lib fi if [ "$off_bytes" -eq 8 ]; then @@ -118,5 +122,6 @@ cd src cp Makefile.in Makefile perl -pi -e "s#\\\$\(CFLAGS\)#$CFLAGS#g" Makefile perl -pi -e "s#\\\$\(LIBS\)#$LIBS#g" Makefile -make $1 $2 +perl -pi -e "s#\\\$\(LIB_VERSION\)#$LIB_VERSION#g" Makefile +make $1 $2 $3 From 77bb1bf94e55bc75c34e640949be68cd3325e39d Mon Sep 17 00:00:00 2001 From: hao Date: Wed, 26 Aug 2015 11:32:16 +0800 Subject: [PATCH 3/3] compile depends system bit version --- src/Makefile.in | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/Makefile.in b/src/Makefile.in index 98a3100..ccdd9c9 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -3,6 +3,7 @@ COMPILE = $(CC) $(CFLAGS) INC_PATH = LIB_PATH = $(LIBS) +LIB_VERSION = $(LIB_VERSION) FAST_SHARED_OBJS = hash.lo chain.lo shared_func.lo ini_file_reader.lo \ logger.lo sockopt.lo base64.lo sched_thread.lo \ @@ -46,12 +47,12 @@ libfastcommon.a: $(FAST_STATIC_OBJS) .c.lo: $(COMPILE) -c -fPIC -o $@ $< $(INC_PATH) install: - mkdir -p $(DESTDIR)/usr/lib64 - install -m 755 $(SHARED_LIBS) $(DESTDIR)/usr/lib64 + mkdir -p $(DESTDIR)/usr/$(LIB_VERSION) + install -m 755 $(SHARED_LIBS) $(DESTDIR)/usr/$(LIB_VERSION) mkdir -p $(DESTDIR)/usr/include/fastcommon install -m 644 $(HEADER_FILES) $(DESTDIR)/usr/include/fastcommon -# cd $(DESTDIR)/usr/lib64 && ln -fs libfastcommon.so.1 libfastcommon.so -# ln -fs $(DESTDIR)/usr/local/lib/libfastcommon.so.1 $(DESTDIR)/usr/local/lib/libfastcommon.so +# cd $(DESTDIR)/usr/$(LIB_VERSION) && ln -fs libfastcommon.so.1 libfastcommon.so +# ln -fs $(DESTDIR)/usr/local/$(LIB_VERSION)/libfastcommon.so.1 $(DESTDIR)/usr/local/$(LIB_VERSION)/libfastcommon.so # sh ./fast_link_library.sh clean: rm -f $(ALL_OBJS) $(ALL_PRGS) $(ALL_LIBS)