[Lognorm] [libee] parallel make

David Lang david at lang.hm
Thu Apr 11 20:13:23 CEST 2013


don't do a parallel make, do a normal make (no -j), do you still have the 
problem?

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
>> 
>
>


More information about the Lognorm mailing list