[Lognorm] [libee] parallel make

Yao Zhao yao.zhao at windriver.com
Thu Apr 11 22:03:21 CEST 2013


On 13-04-11 04:00 PM, David Lang wrote:
> The list strips many attachements, so that could be why we missed 
> seeing the patch.
>
Not sure.
But I did see my patch from your first reply.

Anyway, paste in email just in case.

cat libee/libee-parallel-make.patch
fix parallel compiling problem
---
diff --git a/src/Makefile.am b/src/Makefile.am
index 08aaa9e..f0c78f7 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -46,5 +46,6 @@ libee_la_LDFLAGS = -version-info 0:0:0
  libee_convert_SOURCES = convert.c
  libee_convert_CPPFLAGS =  -I$(top_srcdir) $(LIBEE_CFLAGS) 
$(LIBESTR_CFLAGS) $(LIBXML2_CFLAGS)
  libee_convert_LDADD = $(LIBEE_LIBS) $(LIBXML2_LIBS) $(LIBESTR_LIBS)
+libee_convert_DEPENDENCIES = libee.la

  include_HEADERS =

thanks,
yao
> David Lang
>
> On Thu, 11 Apr 2013, Yao Zhao wrote:
>
>> Date: Thu, 11 Apr 2013 15:53:49 -0400
>> From: Yao Zhao <yao.zhao at windriver.com>
>> To: Rainer Gerhards <rgerhards at hq.adiscon.com>,
>>     lognorm <lognorm at lists.adiscon.com>
>> Cc: "david at lang.hm" <david at lang.hm>
>> Subject: Re: [Lognorm] [libee] parallel make
>>
>> On 13-04-11 03:08 PM, Rainer Gerhards wrote:
>>> I haven't seen the patch on quick glimpse, but i am definitely 
>>> interested in adding it. If I have not done by Monday, please ping me.
>>>
>> Sure.
>> And liblognorm has the similar problem:
>> What I fixed in src/Makefile.am
>>
>> lognormalizer_DEPENDENCIES = liblognorm.la
>>
>>
>> thanks,
>> yao
>>>
>>> Sent from phone, thus brief.
>>>
>>>
>>>
>>> -------- Urspr?ngliche Nachricht --------
>>> Von: Yao Zhao <yao.zhao at windriver.com>
>>> Datum: 11.04.2013 20:16 (GMT+01:00)
>>> An: David Lang <david at lang.hm>
>>> Cc: lognorm <lognorm at lists.adiscon.com>
>>> Betreff: Re: [Lognorm] [libee] parallel make
>>>
>>>
>>> On 13-04-11 02:13 PM, David Lang wrote:
>>> > don't do a parallel make, do a normal make (no -j), do you still have
>>> > the problem?
>>> >
>>> No.
>>>
>>> The patch is not acceptable?
>>>
>>> thanks,
>>> yao
>>> > David Lang
>>> >
>>> > On Thu, 11 Apr 2013, Yao Zhao wrote:
>>> >
>>> >> Date: Thu, 11 Apr 2013 14:06:51 -0400
>>> >> From: Yao Zhao <yao.zhao at windriver.com>
>>> >> To: David Lang <david at lang.hm>
>>> >> Cc: lognorm <lognorm at lists.adiscon.com>
>>> >> Subject: Re: [Lognorm] [libee] parallel make
>>> >>
>>> >> On 13-04-11 02:03 PM, David Lang wrote:
>>> >>> do you continue to have the problem if you don't do a parallel 
>>> make?
>>> >>>
>>> >> I don't have problem without parallel make as I indicated in 
>>> original
>>> >> email below.
>>> >>> If I am reading it correctly, you are failing at the linking stage,
>>> >>> after everything should be compiled. This could be a error in the
>>> >>> dependancy mapping.
>>> >>>
>>> >> Yes, it happens at link as the libee.la is not ready yet because of
>>> >> parallel making.
>>> >> and that is why I add a libee_convert_DEPENDENCIES=libee.la
>>> >> I don't quite understand why the automake didn't get a correct
>>> >> _DEPENDENCIES automatically.
>>> >>
>>> >> Do you have a better way?
>>> >>
>>> >> yao
>>> >>> David Lang
>>> >>>
>>> >>> On Thu, 11 Apr 2013, Yao Zhao wrote:
>>> >>>
>>> >>>> Date: Thu, 11 Apr 2013 10:22:51 -0400
>>> >>>> From: Yao Zhao <yao.zhao at windriver.com>
>>> >>>> Reply-To: lognorm <lognorm at lists.adiscon.com>
>>> >>>> To: lognorm at lists.adiscon.com, Yao Zhao <yao.zhao at windriver.com>
>>> >>>> Subject: [Lognorm] [libee] parallel make
>>> >>>>
>>> >>>> Hi,
>>> >>>>
>>> >>>> I got problem with libee's parallel making:
>>> >>>>
>>> >>>> yzhao2 at yzhao2-OptiPlex-990:~/src/libee$ ./configure
>>> >>>> --libdir=/usr/local/lib --includedir=/home/yzhao2/src/include
>>> >>>> LIBESTR_CFLAGS=-I/home/yzhao2/src/include
>>> >>>> LIBESTR_LIBS='-L/usr/local/lib -lestr'
>>> >>>> checking for a BSD-compatible install... /usr/bin/install -c
>>> >>>> checking whether build environment is sane... yes
>>> >>>> checking for a thread-safe mkdir -p... /bin/mkdir -p
>>> >>>> checking for gawk... gawk
>>> >>>> checking whether make sets $(MAKE)... yes
>>> >>>> checking whether make supports nested variables... yes
>>> >>>> checking for gcc... gcc
>>> >>>> checking whether the C compiler works... yes
>>> >>>> checking for C compiler default output file name... a.out
>>> >>>> checking for suffix of executables...
>>> >>>> checking whether we are cross compiling... no
>>> >>>> checking for suffix of object files... o
>>> >>>> checking whether we are using the GNU C compiler... yes
>>> >>>> checking whether gcc accepts -g... yes
>>> >>>> checking for gcc option to accept ISO C89... none needed
>>> >>>> checking for style of include used by make... GNU
>>> >>>> checking dependency style of gcc... gcc3
>>> >>>> checking whether gcc and cc understand -c and -o together... yes
>>> >>>> checking build system type... x86_64-unknown-linux-gnu
>>> >>>> checking host system type... x86_64-unknown-linux-gnu
>>> >>>> checking how to print strings... printf
>>> >>>> checking for a sed that does not truncate output... /bin/sed
>>> >>>> checking for grep that handles long lines and -e... /bin/grep
>>> >>>> checking for egrep... /bin/grep -E
>>> >>>> checking for fgrep... /bin/grep -F
>>> >>>> checking for ld used by gcc... /usr/bin/ld
>>> >>>> checking if the linker (/usr/bin/ld) is GNU ld... yes
>>> >>>> checking for BSD- or MS-compatible name lister (nm)... 
>>> /usr/bin/nm -B
>>> >>>> checking the name lister (/usr/bin/nm -B) interface... BSD nm
>>> >>>> checking whether ln -s works... yes
>>> >>>> checking the maximum length of command line arguments... 1572864
>>> >>>> checking whether the shell understands some XSI constructs... yes
>>> >>>> checking whether the shell understands "+="... yes
>>> >>>> checking how to convert x86_64-unknown-linux-gnu file names to
>>> >>>> x86_64-unknown-linux-gnu format... func_convert_file_noop
>>> >>>> checking how to convert x86_64-unknown-linux-gnu file names to
>>> >>>> toolchain format... func_convert_file_noop
>>> >>>> checking for /usr/bin/ld option to reload object files... -r
>>> >>>> checking for objdump... objdump
>>> >>>> checking how to recognize dependent libraries... pass_all
>>> >>>> checking for dlltool... no
>>> >>>> checking how to associate runtime and link libraries... printf 
>>> %s\n
>>> >>>> checking for ar... ar
>>> >>>> checking for archiver @FILE support... @
>>> >>>> checking for strip... strip
>>> >>>> checking for ranlib... ranlib
>>> >>>> checking command to parse /usr/bin/nm -B output from gcc 
>>> object... ok
>>> >>>> checking for sysroot... no
>>> >>>> checking for mt... mt
>>> >>>> checking if mt is a manifest tool... no
>>> >>>> checking how to run the C preprocessor... gcc -E
>>> >>>> checking for ANSI C header files... yes
>>> >>>> checking for sys/types.h... yes
>>> >>>> checking for sys/stat.h... yes
>>> >>>> checking for stdlib.h... yes
>>> >>>> checking for string.h... yes
>>> >>>> checking for memory.h... yes
>>> >>>> checking for strings.h... yes
>>> >>>> checking for inttypes.h... yes
>>> >>>> checking for stdint.h... yes
>>> >>>> checking for unistd.h... yes
>>> >>>> checking for dlfcn.h... yes
>>> >>>> checking for objdir... .libs
>>> >>>> checking if gcc supports -fno-rtti -fno-exceptions... no
>>> >>>> checking for gcc option to produce PIC... -fPIC -DPIC
>>> >>>> checking if gcc PIC flag -fPIC -DPIC works... yes
>>> >>>> checking if gcc static flag -static works... yes
>>> >>>> checking if gcc supports -c -o file.o... yes
>>> >>>> checking if gcc supports -c -o file.o... (cached) yes
>>> >>>> checking whether the gcc linker (/usr/bin/ld -m elf_x86_64)
>>> >>>> supports shared libraries... yes
>>> >>>> checking whether -lc should be explicitly linked in... no
>>> >>>> checking dynamic linker characteristics... GNU/Linux ld.so
>>> >>>> checking how to hardcode library paths into programs... immediate
>>> >>>> checking whether stripping libraries is possible... yes
>>> >>>> checking if libtool supports shared libraries... yes
>>> >>>> checking whether to build shared libraries... yes
>>> >>>> checking whether to build static libraries... yes
>>> >>>> checking for library containing pow... -lm
>>> >>>> checking for stdlib.h... (cached) yes
>>> >>>> checking for GNU libc compatible malloc... yes
>>> >>>> checking for pkg-config... /usr/bin/pkg-config
>>> >>>> checking pkg-config is at least version 0.9.0... yes
>>> >>>> checking for LIBESTR... yes
>>> >>>> configure: creating ./config.status
>>> >>>> config.status: creating Makefile
>>> >>>> config.status: creating libee.pc
>>> >>>> config.status: creating src/Makefile
>>> >>>> config.status: creating include/Makefile
>>> >>>> config.status: creating include/libee/Makefile
>>> >>>> config.status: creating tests/Makefile
>>> >>>> config.status: creating config.h
>>> >>>> config.status: executing depfiles commands
>>> >>>> config.status: executing libtool commands
>>> >>>> *****************************************************
>>> >>>> libee will be compiled with the following settings:
>>> >>>>
>>> >>>> Debug mode enabled:          no
>>> >>>> Testbench enabled:           yes
>>> >>>> yzhao2 at yzhao2-OptiPlex-990:~/src/libee$ make -j 6
>>> >>>> make  all-recursive
>>> >>>> make[1]: Entering directory `/home/yzhao2/src/libee'
>>> >>>> Making all in tests
>>> >>>> make[2]: Entering directory `/home/yzhao2/src/libee/tests'
>>> >>>> make[2]: Nothing to be done for `all'.
>>> >>>> make[2]: Leaving directory `/home/yzhao2/src/libee/tests'
>>> >>>> Making all in include
>>> >>>> make[2]: Entering directory `/home/yzhao2/src/libee/include'
>>> >>>> Making all in libee
>>> >>>> make[3]: Entering directory `/home/yzhao2/src/libee/include/libee'
>>> >>>> make[3]: Nothing to be done for `all'.
>>> >>>> make[3]: Leaving directory `/home/yzhao2/src/libee/include/libee'
>>> >>>> make[3]: Entering directory `/home/yzhao2/src/libee/include'
>>> >>>> make[3]: Nothing to be done for `all-am'.
>>> >>>> make[3]: Leaving directory `/home/yzhao2/src/libee/include'
>>> >>>> make[2]: Leaving directory `/home/yzhao2/src/libee/include'
>>> >>>> Making all in src
>>> >>>> make[2]: Entering directory `/home/yzhao2/src/libee/src'
>>> >>>>  CC     libee_la-cjson.lo
>>> >>>>  CC     libee_la-ctx.lo
>>> >>>>  CC     libee_la-tag.lo
>>> >>>>  CC     libee_la-event.lo
>>> >>>>  CC     libee_la-value.lo
>>> >>>>  CC     libee_la-json_event.lo
>>> >>>> value.c: In function 'ee_newValue':
>>> >>>> value.c:37:20: warning: unused parameter 'ctx' 
>>> [-Wunused-parameter]
>>> >>>>  CC     libee_la-tagbucket.lo
>>> >>>>  CC     libee_la-field.lo
>>> >>>>  CC     libee_la-fieldbucket.lo
>>> >>>>  CC     libee_la-primitivetype.lo
>>> >>>>  CC     libee_la-int_dec.lo
>>> >>>> primitivetype.c: In function 'ee_parseRFC5424Date':
>>> >>>> primitivetype.c:136:7: warning: variable 'OffsetMode' set but not
>>> >>>> used [-Wunused-but-set-variable]
>>> >>>> primitivetype.c:135:6: warning: variable 'secfracPrecision' set 
>>> but
>>> >>>> not used [-Wunused-but-set-variable]
>>> >>>> primitivetype.c:134:6: warning: variable 'secfrac' set but not 
>>> used
>>> >>>> [-Wunused-but-set-variable]
>>> >>>> primitivetype.c:128:6: warning: variable 'year' set but not used
>>> >>>> [-Wunused-but-set-variable]
>>> >>>> primitivetype.c: In function 'ee_parseRFC3164Date':
>>> >>>> primitivetype.c:261:6: warning: variable 'month' set but not used
>>> >>>> [-Wunused-but-set-variable]
>>> >>>> primitivetype.c: In function 'ee_parseNumber':
>>> >>>> primitivetype.c:497:12: warning: variable 'n' set but not used
>>> >>>> [-Wunused-but-set-variable]
>>> >>>>  CC     libee_la-json_dec.lo
>>> >>>>  CC     libee_la-apache_dec.lo
>>> >>>>  CC     libee_la-syslog_enc.lo
>>> >>>>  CC     libee_la-json_enc.lo
>>> >>>> apache_dec.c: In function 'ee_newApache':
>>> >>>> apache_dec.c:37:21: warning: unused parameter 'ctx'
>>> >>>> [-Wunused-parameter]
>>> >>>> apache_dec.c: In function 'ee_apacheAddName':
>>> >>>> apache_dec.c:71:25: warning: unused parameter 'ctx'
>>> >>>> [-Wunused-parameter]
>>> >>>> apache_dec.c: In function 'processLn':
>>> >>>> apache_dec.c:205:19: warning: unused variable 'value'
>>> >>>> [-Wunused-variable]
>>> >>>> apache_dec.c: In function 'ee_apacheDec':
>>> >>>> apache_dec.c:212:3: warning: 'r' may be used uninitialized in this
>>> >>>> function [-Wuninitialized]
>>> >>>> apache_dec.c:143:6: note: 'r' was declared here
>>> >>>>  CC     libee_la-csv_enc.lo
>>> >>>> csv_enc.c: In function 'ee_AddName':
>>> >>>> csv_enc.c:66:19: warning: unused parameter 'ctx' 
>>> [-Wunused-parameter]
>>> >>>>  CC     libee_la-xml_enc.lo
>>> >>>>  CC     libee_convert-convert.o
>>> >>>> xml_enc.c: In function 'ee_addValue_XML':
>>> >>>> xml_enc.c:60:6: warning: unused variable 'j' [-Wunused-variable]
>>> >>>> xml_enc.c:59:7: warning: unused variable 'numbuf' 
>>> [-Wunused-variable]
>>> >>>> xml_enc.c: At top level:
>>> >>>> xml_enc.c:40:13: warning: 'hexdigit' defined but not used
>>> >>>> [-Wunused-variable]
>>> >>>>  CCLD   libee-convert
>>> >>>> libtool: link: cannot find the library `../src/libee.la' or
>>> >>>> unhandled argument `../src/libee.la'
>>> >>>> make[2]: *** [libee-convert] Error 1
>>> >>>> make[2]: *** Waiting for unfinished jobs....
>>> >>>> make[2]: Leaving directory `/home/yzhao2/src/libee/src'
>>> >>>> make[1]: *** [all-recursive] Error 1
>>> >>>> make[1]: Leaving directory `/home/yzhao2/src/libee'
>>> >>>> make: *** [all] Error 2
>>> >>>> yzhao2 at yzhao2-OptiPlex-990:~/src/libee$ make
>>> >>>> make  all-recursive
>>> >>>> make[1]: Entering directory `/home/yzhao2/src/libee'
>>> >>>> Making all in tests
>>> >>>> make[2]: Entering directory `/home/yzhao2/src/libee/tests'
>>> >>>> make[2]: Nothing to be done for `all'.
>>> >>>> make[2]: Leaving directory `/home/yzhao2/src/libee/tests'
>>> >>>> Making all in include
>>> >>>> make[2]: Entering directory `/home/yzhao2/src/libee/include'
>>> >>>> Making all in libee
>>> >>>> make[3]: Entering directory `/home/yzhao2/src/libee/include/libee'
>>> >>>> make[3]: Nothing to be done for `all'.
>>> >>>> make[3]: Leaving directory `/home/yzhao2/src/libee/include/libee'
>>> >>>> make[3]: Entering directory `/home/yzhao2/src/libee/include'
>>> >>>> make[3]: Nothing to be done for `all-am'.
>>> >>>> make[3]: Leaving directory `/home/yzhao2/src/libee/include'
>>> >>>> make[2]: Leaving directory `/home/yzhao2/src/libee/include'
>>> >>>> Making all in src
>>> >>>> make[2]: Entering directory `/home/yzhao2/src/libee/src'
>>> >>>>  CCLD   libee.la
>>> >>>>  CCLD   libee-convert
>>> >>>> make[2]: Leaving directory `/home/yzhao2/src/libee/src'
>>> >>>> make[2]: Entering directory `/home/yzhao2/src/libee'
>>> >>>> make[2]: Leaving directory `/home/yzhao2/src/libee'
>>> >>>> make[1]: Leaving directory `/home/yzhao2/src/libee'
>>> >>>>
>>> >>>>
>>> >>>>
>>> >>>>
>>> >>>> reading src/Makefile generated:
>>> >>>> am__DEPENDENCIES_1 =
>>> >>>> libee_la_DEPENDENCIES = $(am__DEPENDENCIES_1) 
>>> $(am__DEPENDENCIES_1)
>>> >>>> ...
>>> >>>> libee_convert_OBJECTS = $(am_libee_convert_OBJECTS)
>>> >>>> libee_convert_DEPENDENCIES = $(am__DEPENDENCIES_1) \
>>> >>>>        $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
>>> >>>>
>>> >>>> so libee_convert_DEPENDENCIES is empty, not sure why _DEPENDENCIES
>>> >>>> are not
>>> >>>> generated from its LDADD
>>> >>>>
>>> >>>> but add a
>>> >>>> libee_convert_DEPENDENCIES= libee.la in src/Makefile.am fixed it.
>>> >>>>
>>> >>>> not all automake supports the EXTRA_...DEPDENDENCIES so didn't
>>> >>>> change it.
>>> >>>>
>>> >>>> yao
>>> >>>>
>>> >>>
>>> >>>
>>> >>> _______________________________________________
>>> >>>
>>> >>> Lognorm mailing list
>>> >>>
>>> >>> Lognorm at lists.adiscon.com
>>> >>>
>>> >>> http://lists.adiscon.net/mailman/listinfo/lognorm
>>> >>>
>>> >>
>>> >>
>>>
>>> _______________________________________________
>>> Lognorm mailing list
>>> Lognorm at lists.adiscon.com
>>> http://lists.adiscon.net/mailman/listinfo/lognorm
>>>
>>>
>>> _______________________________________________
>>> Lognorm mailing list
>>> Lognorm at lists.adiscon.com
>>> http://lists.adiscon.net/mailman/listinfo/lognorm
>>
>>



More information about the Lognorm mailing list