Eiffel Web Framework plus zmq library

35 views
Skip to first unread message

Anders Persson

unread,
May 20, 2014, 4:39:47 AM5/20/14
to eiffel-web...@googlegroups.com
Hi

I have tried to use the zmq library in my EWF implementation but get compile errors. Building the zmq example and an EWF application separetely works but when adding the zmq library to the EWF application it fails.

Any ideas about what to investigate?

Anders

big_file_C10_c.c
C:\Eiffel13.11GPL_64\library\cURL\spec\include\curl/curl.h(176) : error C2061: syntax error : identifier 'curl_socket_t'
C:\Eiffel13.11GPL_64\library\cURL\spec\include\curl/curl.h(176) : error C2059: syntax error : ';'
C:\Eiffel13.11GPL_64\library\cURL\spec\include\curl/curl.h(246) : error C2146: syntax error : missing ')' before identifier 'curlfd'
C:\Eiffel13.11GPL_64\library\cURL\spec\include\curl/curl.h(246) : error C2081: 'curl_socket_t' : name in formal parameter list illegal
C:\Eiffel13.11GPL_64\library\cURL\spec\include\curl/curl.h(246) : error C2061: syntax error : identifier 'curlfd'
C:\Eiffel13.11GPL_64\library\cURL\spec\include\curl/curl.h(246) : error C2059: syntax error : ';'
C:\Eiffel13.11GPL_64\library\cURL\spec\include\curl/curl.h(246) : error C2059: syntax error : ','
C:\Eiffel13.11GPL_64\library\cURL\spec\include\curl/curl.h(247) : error C2059: syntax error : ')'
c:\eiffel13.11gpl_64\library\curl\spec\include\curl\multi.h(132) : error C2143: syntax error : missing ')' before '*'
c:\eiffel13.11gpl_64\library\curl\spec\include\curl\multi.h(132) : error C2081: 'fd_set' : name in formal parameter list illegal
c:\eiffel13.11gpl_64\library\curl\spec\include\curl\multi.h(132) : error C2143: syntax error : missing '{' before '*'
c:\eiffel13.11gpl_64\library\curl\spec\include\curl\multi.h(133) : error C2143: syntax error : missing ';' before '*'
c:\eiffel13.11gpl_64\library\curl\spec\include\curl\multi.h(134) : error C2143: syntax error : missing ';' before '*'
c:\eiffel13.11gpl_64\library\curl\spec\include\curl\multi.h(135) : error C2059: syntax error : 'type'
c:\eiffel13.11gpl_64\library\curl\spec\include\curl\multi.h(135) : error C2059: syntax error : ')'
c:\eiffel13.11gpl_64\library\curl\spec\include\curl\multi.h(232) : error C2146: syntax error : missing ')' before identifier 's'
c:\eiffel13.11gpl_64\library\curl\spec\include\curl\multi.h(232) : error C2081: 'curl_socket_t' : name in formal parameter list illegal
c:\eiffel13.11gpl_64\library\curl\spec\include\curl\multi.h(232) : error C2061: syntax error : identifier 's'
c:\eiffel13.11gpl_64\library\curl\spec\include\curl\multi.h(232) : error C2059: syntax error : ';'
c:\eiffel13.11gpl_64\library\curl\spec\include\curl\multi.h(232) : error C2059: syntax error : ','
c:\eiffel13.11gpl_64\library\curl\spec\include\curl\multi.h(236) : error C2059: syntax error : ')'
c:\eiffel13.11gpl_64\library\curl\spec\include\curl\multi.h(253) : error C2146: syntax error : missing ')' before identifier 's'
c:\eiffel13.11gpl_64\library\curl\spec\include\curl\multi.h(253) : error C2081: 'curl_socket_t' : name in formal parameter list illegal
c:\eiffel13.11gpl_64\library\curl\spec\include\curl\multi.h(253) : error C2061: syntax error : identifier 's'
c:\eiffel13.11gpl_64\library\curl\spec\include\curl\multi.h(253) : error C2059: syntax error : ';'
c:\eiffel13.11gpl_64\library\curl\spec\include\curl\multi.h(253) : error C2059: syntax error : ','
c:\eiffel13.11gpl_64\library\curl\spec\include\curl\multi.h(254) : error C2059: syntax error : ')'
c:\eiffel13.11gpl_64\library\curl\spec\include\curl\multi.h(257) : error C2146: syntax error : missing ')' before identifier 's'
c:\eiffel13.11gpl_64\library\curl\spec\include\curl\multi.h(257) : error C2081: 'curl_socket_t' : name in formal parameter list illegal
c:\eiffel13.11gpl_64\library\curl\spec\include\curl\multi.h(257) : error C2061: syntax error : identifier 's'
c:\eiffel13.11gpl_64\library\curl\spec\include\curl\multi.h(257) : error C2059: syntax error : ';'
c:\eiffel13.11gpl_64\library\curl\spec\include\curl\multi.h(257) : error C2059: syntax error : ','
c:\eiffel13.11gpl_64\library\curl\spec\include\curl\multi.h(259) : error C2059: syntax error : ')'
c:\eiffel13.11gpl_64\library\curl\spec\include\curl\multi.h(340) : error C2146: syntax error : missing ')' before identifier 'sockfd'
c:\eiffel13.11gpl_64\library\curl\spec\include\curl\multi.h(340) : error C2081: 'curl_socket_t' : name in formal parameter list illegal
c:\eiffel13.11gpl_64\library\curl\spec\include\curl\multi.h(340) : error C2061: syntax error : identifier 'sockfd'
c:\eiffel13.11gpl_64\library\curl\spec\include\curl\multi.h(340) : error C2059: syntax error : ';'
c:\eiffel13.11gpl_64\library\curl\spec\include\curl\multi.h(340) : error C2059: syntax error : ','
c:\eiffel13.11gpl_64\library\curl\spec\include\curl\multi.h(340) : error C2059: syntax error : ')'

Jocelyn Fiat

unread,
May 20, 2014, 6:42:48 AM5/20/14
to eiffel-web-framework
I've just tried to add zmq to a project using Eiffel libcurl, and I was able to compile with 14.05.
Can you share a reproducible project?  .ecf and .e file ?



--
--
You received this message because you are subscribed to the Google
Groups "Eiffel Web Framework" group.
 
To post to this group, send email to
eiffel-web...@googlegroups.com
To unsubscribe from this group, send email to
eiffel-web-frame...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/eiffel-web-framework
 
See the site for the Eiffel-Web-Framework project at
https://github.com/EiffelWebFramework/EWF
---
You received this message because you are subscribed to the Google Groups "Eiffel Web Framework" group.
To unsubscribe from this group and stop receiving emails from it, send an email to eiffel-web-frame...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.



--
Jocelyn
------------------------------------------------------------------------
Eiffel Software
805-685-1006
http://www.eiffel.com
Customer support: http://support.eiffel.com
User group: http://groups.eiffel.com/join
------------------------------------------------------------------------

Anders Persson

unread,
May 20, 2014, 6:50:59 AM5/20/14
to eiffel-web...@googlegroups.com
I used 13.11 so I might need to switch to 14.05 then. If it does not work I will try to zip a project for you to test.

Anders

Jocelyn Fiat

unread,
May 20, 2014, 10:56:33 AM5/20/14
to eiffel-web-framework
yes please.

Anders Persson

unread,
May 20, 2014, 12:28:57 PM5/20/14
to eiffel-web...@googlegroups.com
Hi

I am updating my project to use 14.05. I now use the libraries in the delivery instead of from github except for zmq, cypress, eface and wsf_js_widget libraries. I then get this problem (10 of them) :

Error code: VMFN

Error: two or more features have same name.
What to do: if they must indeed be different features, choose different
  names or use renaming; if not, arrange for a join (between deferred
  features), an effecting (of deferred by effective), or a redefinition. 

Class: WSF_JSON_OBJECT
Feature: put_string (value: detachable READABLE_STRING_GENERAL; key: JSON_STRING) Version from: WSF_JSON_OBJECT
Feature: put_string (value: READABLE_STRING_GENERAL; key: JSON_STRING) inherited from: JSON_OBJECT Version from: JSON_OBJECT


I have updated wsf_js_widget library from github to latest version.

this is the libraries I have used. As you see most of them taken from ISE_LIBRARY which I did not do earlier.

<library name="base" location="$ISE_LIBRARY\library\base\base-safe.ecf"/>
<library name="base_extension" location="$ISE_LIBRARY\library\base_extension\base_extension-safe.ecf"/>
<library name="curl" location="$ISE_LIBRARY\library\cURL\cURL-safe.ecf"/>
<library name="default_nino" location="$ISE_LIBRARY\contrib\library\web\framework\ewf\wsf\default\nino-safe.ecf"/>
<library name="encoder" location="$ISE_LIBRARY\contrib\library\web\framework\ewf\text\encoder\encoder-safe.ecf" readonly="false"/>
<library name="http" location="$ISE_LIBRARY\contrib\library\network\protocol\http\http-safe.ecf"/>
<library name="http_client" location="$ISE_LIBRARY\contrib\library\network\http_client\http_client-safe.ecf"/>
<library name="json" location="$ISE_LIBRARY\contrib\library\text\parser\json\library\json-safe.ecf"/>
<library name="time" location="$ISE_LIBRARY\library\time\time-safe.ecf"/>
<library name="uri" location="$ISE_LIBRARY\library\text\uri\uri-safe.ecf"/>
<library name="wsf" location="$ISE_LIBRARY\contrib\library\web\framework\ewf\wsf\wsf-safe.ecf"/>
<library name="wsf_js_widget" location="..\..\..\EWF-widget\draft\library\wsf_js_widget\wsf_js_widget-safe.ecf" readonly="false"/>
<library name="wsf_session" location="$ISE_LIBRARY\contrib\library\web\framework\ewf\wsf\wsf_session-safe.ecf"/>
<library name="zmq" location="$ISE_LIBRARY\library\zeromq\zmq.ecf"/>
<cluster name="cypress" location="..\..\..\cypress\" recursive="true"/>
<cluster name="eiface" location="..\..\..\eiface\" recursive="true"/>


Regards

Anders

Emmanuel Stapf

unread,
May 20, 2014, 1:41:31 PM5/20/14
to eiffel-web...@googlegroups.com

I think that there is a conflict between the version of json coming most likely from 14.05 and the class WSF_JSON_OBJECT which I’m not sure from where it is coming from (my guess is on wsf_js_widget) and this code needs to be updated accordingly.

 

Manu

javier hector

unread,
May 20, 2014, 2:41:07 PM5/20/14
to eiffel-web...@googlegroups.com
For now, you can edit the WSF_JSON_OBJECT, until it gets updated.

/Javier

Jocelyn Fiat

unread,
May 20, 2014, 4:16:47 PM5/20/14
to eiffel-web-framework
I have pending changes for wsf_js_widget
I hope to commit them for next week.
In the meantime, yes, just edit the WSF_JSON_OBJECT.

Anders Persson

unread,
Sep 14, 2014, 1:14:49 AM9/14/14
to eiffel-web...@googlegroups.com
Hi

I fetched the latest version of EWF and checkedout the wdiget branch and then I still get this problem. Which branch should I use to get this correction? 

Regards

Anders
/Javier



yes please.

 


For more options, visit this group at
http://groups.google.com/group/eiffel-web-framework
 
See the site for the Eiffel-Web-Framework project at
https://github.com/EiffelWebFramework/EWF
---
You received this message because you are subscribed to the Google Groups "Eiffel Web Framework" group.

To unsubscribe from this group and stop receiving emails from it, send an email to eiffel-web-framework+unsub...@googlegroups.com.


For more options, visit https://groups.google.com/d/optout.

--
Jocelyn
------------------------------------------------------------------------
Eiffel Software
805-685-1006
http://www.eiffel.com
Customer support: http://support.eiffel.com
User group: http://groups.eiffel.com/join
------------------------------------------------------------------------

--
--
You received this message because you are subscribed to the Google
Groups "Eiffel Web Framework" group.
 
To post to this group, send email to
eiffel-web...@googlegroups.com
To unsubscribe from this group, send email to


For more options, visit this group at
http://groups.google.com/group/eiffel-web-framework
 
See the site for the Eiffel-Web-Framework project at
https://github.com/EiffelWebFramework/EWF
---
You received this message because you are subscribed to the Google Groups "Eiffel Web Framework" group.

To unsubscribe from this group and stop receiving emails from it, send an email to eiffel-web-framework+unsub...@googlegroups.com.


For more options, visit https://groups.google.com/d/optout.

--
--
You received this message because you are subscribed to the Google
Groups "Eiffel Web Framework" group.
 
To post to this group, send email to
eiffel-web...@googlegroups.com
To unsubscribe from this group, send email to


For more options, visit this group at
http://groups.google.com/group/eiffel-web-framework
 
See the site for the Eiffel-Web-Framework project at
https://github.com/EiffelWebFramework/EWF
---
You received this message because you are subscribed to the Google Groups "Eiffel Web Framework" group.

To unsubscribe from this group and stop receiving emails from it, send an email to eiffel-web-framework+unsub...@googlegroups.com.


For more options, visit https://groups.google.com/d/optout.



 

--
Jocelyn
------------------------------------------------------------------------
Eiffel Software
805-685-1006
http://www.eiffel.com
Customer support: http://support.eiffel.com
User group: http://groups.eiffel.com/join
------------------------------------------------------------------------

--
--
You received this message because you are subscribed to the Google
Groups "Eiffel Web Framework" group.
 
To post to this group, send email to
eiffel-web...@googlegroups.com
To unsubscribe from this group, send email to


For more options, visit this group at
http://groups.google.com/group/eiffel-web-framework
 
See the site for the Eiffel-Web-Framework project at
https://github.com/EiffelWebFramework/EWF
---
You received this message because you are subscribed to the Google Groups "Eiffel Web Framework" group.

To unsubscribe from this group and stop receiving emails from it, send an email to eiffel-web-framework+unsub...@googlegroups.com.


For more options, visit https://groups.google.com/d/optout.

--
--
You received this message because you are subscribed to the Google
Groups "Eiffel Web Framework" group.
 
To post to this group, send email to
eiffel-web...@googlegroups.com
To unsubscribe from this group, send email to


For more options, visit this group at
http://groups.google.com/group/eiffel-web-framework
 
See the site for the Eiffel-Web-Framework project at
https://github.com/EiffelWebFramework/EWF
---
You received this message because you are subscribed to the Google Groups "Eiffel Web Framework" group.

To unsubscribe from this group and stop receiving emails from it, send an email to eiffel-web-framework+unsub...@googlegroups.com.


For more options, visit https://groups.google.com/d/optout.

--
--
You received this message because you are subscribed to the Google
Groups "Eiffel Web Framework" group.
 
To post to this group, send email to
eiffel-web...@googlegroups.com
To unsubscribe from this group, send email to

For more options, visit this group at
http://groups.google.com/group/eiffel-web-framework
 
See the site for the Eiffel-Web-Framework project at
https://github.com/EiffelWebFramework/EWF
---
You received this message because you are subscribed to the Google Groups "Eiffel Web Framework" group.
To unsubscribe from this group and stop receiving emails from it, send an email to eiffel-web-framework+unsub...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

--
--
You received this message because you are subscribed to the Google
Groups "Eiffel Web Framework" group.
 
To post to this group, send email to
eiffel-web...@googlegroups.com
To unsubscribe from this group, send email to

For more options, visit this group at
http://groups.google.com/group/eiffel-web-framework
 
See the site for the Eiffel-Web-Framework project at
https://github.com/EiffelWebFramework/EWF
---
You received this message because you are subscribed to the Google Groups "Eiffel Web Framework" group.
To unsubscribe from this group and stop receiving emails from it, send an email to eiffel-web-framework+unsub...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

Anders Persson

unread,
Sep 14, 2014, 1:28:27 AM9/14/14
to eiffel-web...@googlegroups.com
Hi

I took the wrong git from Github. I used Souvarins, but now I fetached https://github.com/EiffelWebFramework/EWF.git and that part is working now.

Regards

Anders
/Javier
</d
...

Jocelyn Fiat

unread,
Sep 15, 2014, 3:21:41 AM9/15/14
to eiffel-web-framework
Note there is still a compatibility issue compiling zmq AND standard socket in the same application.
This appears when you want to use Eiffel cURL (i.e libcurl) AND zmq in the same project.
We haven't found yet a convenient solution.
Any suggestion is welcome,

-- Jocelyn



For more options, visit this group at
http://groups.google.com/group/eiffel-web-framework
 
See the site for the Eiffel-Web-Framework project at
https://github.com/EiffelWebFramework/EWF
---
You received this message because you are subscribed to the Google Groups "Eiffel Web Framework" group.
To unsubscribe from this group and stop receiving emails from it, send an email to eiffel-web-frame...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

Anders Persson

unread,
Sep 15, 2014, 4:10:51 AM9/15/14
to eiffel-web...@googlegroups.com
Hi

Can you specify what the problem is?

Regards

Anders

Jocelyn Fiat

unread,
Sep 16, 2014, 9:38:57 AM9/16/14
to eiffel-web-framework
An issue with _WINSOCKAPI_
in the zmq.ecf we had to use "-D_WINSOCKAPI_" to make it compile
BUT in Eiffel cURL, in %ISE_LIBRARY%\library\curl\spec\include\curl\curl.h
the following code is then causing trouble .

#if !(defined(_WINSOCKAPI_) || defined(_WINSOCK_H))
/* The check above prevents the winsock2 inclusion if winsock.h already was
   included, since they can't co-exist without problems */
#include <winsock2.h>
#endif


So there is a conflict between zmq implementation and libcurl implementation about how they use winsock.

-- Jocelyn

Anders Persson

unread,
Sep 16, 2014, 11:00:26 AM9/16/14
to eiffel-web...@googlegroups.com
So, this is only at Windows.

Anders
Reply all
Reply to author
Forward
0 new messages