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 &lt; and &gt; 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.ostrovers...@gmail.com <mailto:matjaz.ostrovers...@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@lists.zeromq.org <mailto:zeromq-dev@lists.zeromq.org>
    http://lists.zeromq.org/mailman/listinfo/zeromq-dev



_______________________________________________
zeromq-dev mailing list
zeromq-dev@lists.zeromq.org
http://lists.zeromq.org/mailman/listinfo/zeromq-dev


_______________________________________________
zeromq-dev mailing list
zeromq-dev@lists.zeromq.org
http://lists.zeromq.org/mailman/listinfo/zeromq-dev

Reply via email to