[zeromq-dev] build problem after mlm_client.xml change

Matjaž Ostroveršnik matjaz.ostroversnik at gmail.com
Mon Apr 18 21:34:05 CEST 2016


Hi Veterans,

The bug is clearer now. The generator includes xml tags into c header 
(mlm_client.h) instead of generated c function prototypes.

see /usr/local/bin/zproto_client_c.gsl line 528

.for class.custom
.   for header
$(header.:)     <--- problematic line
.   endfor
.endfor

The bug manifests itself only if the custom code is included 
(mlm_client_custom.xml). When you check the file it becomes fishy.
The header tag contains < and > markers instead of < and >. It 
seems somebody wanted to include the xml definition and one step (as string)

What the "custom" xml definition should contain in header and source 
tag? (C code or xml definitions?)

I started to fix with that, but I do not want to reinvent the wheel. I 
am sure that there is already a gsl function which from method 
definition outputs C function prototype. Am I wrong?

Best regards

Matjaž


On 14.4.2016 17:05, Matjaž Ostroveršnik wrote:
> In the mean time I found out that it is not necessary to change 
> anything. Just do gsl on mlm_client.xml (started from src folder as 
> required by Pieter).
> I am working on ostri/malamute, but it should be in sync with 
> zeromq/malamute.
>
> On 14.4.2016 16:33, Osiris Pedroso wrote:
>> Hi Matjaz,
>>
>> Can you provide a repository with the modified file checked in?
>>
>> I would like to try it as well.
>>
>> Thanks,
>> Osiris
>>
>> On Thu, Apr 14, 2016 at 9:12 AM Matjaž Ostroveršnik 
>> <matjaz.ostroversnik at gmail.com 
>> <mailto:matjaz.ostroversnik at gmail.com>> wrote:
>>
>>     Hi,
>>
>>     I tried to add a new method to the mlm_client.xml and then
>>     regenerate all dependant files.
>>     Generation of include/mlm_client.h is unsuccesful (i.e. one gets
>>     xml garbage within the c header sources)
>>
>>     Am I doing something wrong or this is a bug?
>>     Guys how do you regenerate when you change some xml file (ok I
>>     know for project.xml)
>>     I think it is something wrong with an inclusion of custom file
>>         <custom filename = "mlm_client_custom.xml" language = "C" />
>>     It seems that gsl is including header tag instead of source tag.
>>
>>     How to reproduce:
>>     *git reset --hard*
>>     HEAD is now at c097dcf Merge pull request #164 from
>>     opedroso/WIN_CRLF_REGEN
>>     *git status*
>>     On branch master
>>     Your branch is up-to-date with 'origin/master'.
>>     nothing to commit, working directory clean
>>     *cd src*
>>     *gsl mlm_client.xml **
>>     *GSL/4.1c Copyright (c) 1996-2016 iMatix Corporation
>>     gsl/4 I: Processing mlm_client.xml...
>>     *cd ..**
>>     **make**
>>     *Making all in doc
>>     make[1]: Entering directory '/home/ostri/zstuff/malamute/doc'
>>     make[1]: Nothing to be done for 'all'.
>>     make[1]: Leaving directory '/home/ostri/zstuff/malamute/doc'
>>     make[1]: Entering directory '/home/ostri/zstuff/malamute'
>>       CC       src/src_libmlm_la-mlm_msg.lo
>>     In file included from src/../include/mlm_library.h:66:0,
>>                      from src/../include/malamute.h:17,
>>                      from src/mlm_classes.h:24,
>>                      from src/mlm_msg.c:20:
>>     src/../include/mlm_client.h:157:5: error: expected identifier or
>>     ‘(’ before ‘<’ token
>>          <method name = "sendx">
>>          ^
>>     src/../include/mlm_client.h:159:61: error: identifier "or" is a
>>     special operator name in C++ [-Werror=c++-compat]
>>              Returns 0 if OK, -1 if failed due to lack of memory or
>>     other error.
>>     ^
>>     src/../include/mlm_client.h:167:61: error: identifier "or" is a
>>     special operator name in C++ [-Werror=c++-compat]
>>              Returns 0 if OK, -1 if failed due to lack of memory or
>>     other error.
>>     ^
>>     src/../include/mlm_client.h:176:61: error: identifier "or" is a
>>     special operator name in C++ [-Werror=c++-compat]
>>              Returns 0 if OK, -1 if failed due to lack of memory or
>>     other error.
>>     ^
>>     src/../include/mlm_client.h:184:27: error: identifier "and" is a
>>     special operator name in C++ [-Werror=c++-compat]
>>              Receive a subject and string content from the server.
>>     The content may be
>>                                ^
>>     src/../include/mlm_client.h:185:11: error: identifier "or" is a
>>     special operator name in C++ [-Werror=c++-compat]
>>              1 or more string frames. This method is orthogonal to
>>     the sendx methods.
>>                ^
>>     src/../include/mlm_client.h:186:58: error: identifier "not" is a
>>     special operator name in C++ [-Werror=c++-compat]
>>              End the string arguments with NULL. If there are not
>>     enough frames in
>>     ^
>>     src/../include/mlm_client.h:188:38: error: identifier "or" is a
>>     special operator name in C++ [-Werror=c++-compat]
>>              of string contents received, or -1 in case of error.
>>     Free the returned
>>                                           ^
>>     src/../include/mlm_client.h:189:17: error: identifier "and" is a
>>     special operator name in C++ [-Werror=c++-compat]
>>              subject and content strings when finished with them. To
>>     get the type of
>>                      ^
>>     cc1: all warnings being treated as errors
>>     Makefile:1027: recipe for target 'src/src_libmlm_la-mlm_msg.lo'
>>     failed
>>     make[1]: *** [src/src_libmlm_la-mlm_msg.lo] Error 1
>>     make[1]: Leaving directory '/home/ostri/zstuff/malamute'
>>     Makefile:1260: recipe for target 'all-recursive' failed
>>     make: *** [all-recursive] Error 1
>>
>>     *gsl -v**
>>     *GSL/4.1c
>>     Built from http://github.com/imatix/gsl.git master
>>     Copyright (c) 1996-2016 iMatix Corporation
>>     Compiler: gcc -c -O2 -D_REENTRANT -D_GNU_SOURCE -Wall -Wno-unused
>>     -fno-strict-aliasing -DBASE_THREADSAFE -I. gsl.c
>>
>>
>>
>>     Best regards
>>
>>     Matjaž
>>
>>     _______________________________________________
>>     zeromq-dev mailing list
>>     zeromq-dev at lists.zeromq.org <mailto:zeromq-dev at lists.zeromq.org>
>>     http://lists.zeromq.org/mailman/listinfo/zeromq-dev
>>
>>
>>
>> _______________________________________________
>> zeromq-dev mailing list
>> zeromq-dev at lists.zeromq.org
>> http://lists.zeromq.org/mailman/listinfo/zeromq-dev
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.zeromq.org/pipermail/zeromq-dev/attachments/20160418/7b763f75/attachment.htm>


More information about the zeromq-dev mailing list