[jira] [Commented] (THRIFT-1031) Patch to compile Thrift for vc++ 9.0 and 10.0
[ https://issues.apache.org/jira/browse/THRIFT-1031?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13137045#comment-13137045 ] Jake Farrell commented on THRIFT-1031: -- What is the introduction of a new make tool for? can whatever is trying to be accomplished not be achieved with autotools currently? Patch to compile Thrift for vc++ 9.0 and 10.0 - Key: THRIFT-1031 URL: https://issues.apache.org/jira/browse/THRIFT-1031 Project: Thrift Issue Type: Improvement Components: C++ - Library Environment: Windows XP 32bit, vc++ 9.0, 10.0 Reporter: James Dickson Assignee: Roger Meier Priority: Trivial Fix For: 0.8 Attachments: PosixThreadFactory.patch, thrift_msvc.patch, thrift_msvc_v0_1.patch, thrift_msvc_v0_2.patch, thrift_msvc_v0_3.patch, thrift_msvc_v0_4.patch, thrift_msvc_v0_5.patch, thrift_msvc_v0_6.patch, thrift_msvc_v0_7.patch At our company we need clients running on Windows being able to connect to our linux servers running hypertable. The attached patch enables the parts needed by Hypertable to be compiled on Windows using either the VC++ 9.0 or 10.0 compilers. Having read previous posts about ports using boost::asio we found these to be too intrusive for our needs. This version uses pthreads_win32 and winsock2 and is as designed to be as un-intrusive as is possible to the original unix code base. It is mostly #defines between unix sockets and winsock2 sockets. We also tried to follow the folder structuring of the C# runtime that has visual studio solutions to be consistent. More details are in the README as not all the functionality of the original unix code base is available to windows users. We will add the missing functionality, we just wanted to share what we had as for a Windows based client for us it is sufficient. The patch is based on the latest revision in SVN, we would love feedback and any code reviews. If there is any possibility of this being added to the main trunk then that would be much appreciated, however we don't expect that. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (THRIFT-1031) Patch to compile Thrift for vc++ 9.0 and 10.0
[ https://issues.apache.org/jira/browse/THRIFT-1031?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13124887#comment-13124887 ] James Dickson commented on THRIFT-1031: --- I have only supplied 2010 projects as this is the only system we use at work. I can't really spend the required time to fully support older versions. However, having said that, I have recently come across this project: http://industriousone.com/premake which is similar to cmake in some ways, but I feel is better and would enable multiple project support if we switched to it. Let me know what you all think. James Patch to compile Thrift for vc++ 9.0 and 10.0 - Key: THRIFT-1031 URL: https://issues.apache.org/jira/browse/THRIFT-1031 Project: Thrift Issue Type: Improvement Components: C++ - Library Environment: Windows XP 32bit, vc++ 9.0, 10.0 Reporter: James Dickson Assignee: Roger Meier Priority: Trivial Fix For: 0.8 Attachments: PosixThreadFactory.patch, thrift_msvc.patch, thrift_msvc_v0_1.patch, thrift_msvc_v0_2.patch, thrift_msvc_v0_3.patch, thrift_msvc_v0_4.patch, thrift_msvc_v0_5.patch, thrift_msvc_v0_6.patch, thrift_msvc_v0_7.patch At our company we need clients running on Windows being able to connect to our linux servers running hypertable. The attached patch enables the parts needed by Hypertable to be compiled on Windows using either the VC++ 9.0 or 10.0 compilers. Having read previous posts about ports using boost::asio we found these to be too intrusive for our needs. This version uses pthreads_win32 and winsock2 and is as designed to be as un-intrusive as is possible to the original unix code base. It is mostly #defines between unix sockets and winsock2 sockets. We also tried to follow the folder structuring of the C# runtime that has visual studio solutions to be consistent. More details are in the README as not all the functionality of the original unix code base is available to windows users. We will add the missing functionality, we just wanted to share what we had as for a Windows based client for us it is sufficient. The patch is based on the latest revision in SVN, we would love feedback and any code reviews. If there is any possibility of this being added to the main trunk then that would be much appreciated, however we don't expect that. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (THRIFT-1031) Patch to compile Thrift for vc++ 9.0 and 10.0
[ https://issues.apache.org/jira/browse/THRIFT-1031?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13118843#comment-13118843 ] Jens Geyer commented on THRIFT-1031: The Thrift compiler project is still VC2010 only? Patch to compile Thrift for vc++ 9.0 and 10.0 - Key: THRIFT-1031 URL: https://issues.apache.org/jira/browse/THRIFT-1031 Project: Thrift Issue Type: Improvement Components: C++ - Library Environment: Windows XP 32bit, vc++ 9.0, 10.0 Reporter: James Dickson Assignee: Roger Meier Priority: Trivial Fix For: 0.8 Attachments: PosixThreadFactory.patch, thrift_msvc.patch, thrift_msvc_v0_1.patch, thrift_msvc_v0_2.patch, thrift_msvc_v0_3.patch, thrift_msvc_v0_4.patch, thrift_msvc_v0_5.patch, thrift_msvc_v0_6.patch, thrift_msvc_v0_7.patch At our company we need clients running on Windows being able to connect to our linux servers running hypertable. The attached patch enables the parts needed by Hypertable to be compiled on Windows using either the VC++ 9.0 or 10.0 compilers. Having read previous posts about ports using boost::asio we found these to be too intrusive for our needs. This version uses pthreads_win32 and winsock2 and is as designed to be as un-intrusive as is possible to the original unix code base. It is mostly #defines between unix sockets and winsock2 sockets. We also tried to follow the folder structuring of the C# runtime that has visual studio solutions to be consistent. More details are in the README as not all the functionality of the original unix code base is available to windows users. We will add the missing functionality, we just wanted to share what we had as for a Windows based client for us it is sufficient. The patch is based on the latest revision in SVN, we would love feedback and any code reviews. If there is any possibility of this being added to the main trunk then that would be much appreciated, however we don't expect that. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (THRIFT-1031) Patch to compile Thrift for vc++ 9.0 and 10.0
[ https://issues.apache.org/jira/browse/THRIFT-1031?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13118208#comment-13118208 ] Peace commented on THRIFT-1031: --- Terrific work gents! I'm very glad to see James' and Alexandre's patches merged. Adding MSVC support will really speed up Thrift adoption. I'm able to build and run a Windows sample project that I've created based on Alexandre's sample in his fork over on github. There is one issue when running against the trunk. Using a ThreadManager causes an exception in PosixThreadFactory.cpp (pthread_attr_setschedpolicy @ line 121). Here's a code snippit: boost::shared_ptrTProtocolFactory protocolFactory(new TBinaryProtocolFactory()); boost::shared_ptrMyHandler handler(new MyHandler()); boost::shared_ptrTProcessor processor(new MyProcessor(handler)); boost::shared_ptr threadManager = ThreadManager::newSimpleThreadManager(NumThreads); boost::shared_ptr threadFactory = boost::shared_ptr (new PosixThreadFactory()); threadManager-threadFactory(threadFactory); threadManager-start(); // -- exception here TNonblockingServer server(processor, protocolFactory, Port, threadManager); server.serve(); The exception occurs within the threadManager-start() call. This worked with Alexandre's fork but I haven't been able to determine why it's failing with the newly merged code in the trunk (SVN 1177082). Am I doing something wrong or does the current thrift code not support using ThreadManager this way? Patch to compile Thrift for vc++ 9.0 and 10.0 - Key: THRIFT-1031 URL: https://issues.apache.org/jira/browse/THRIFT-1031 Project: Thrift Issue Type: Improvement Components: C++ - Library Environment: Windows XP 32bit, vc++ 9.0, 10.0 Reporter: James Dickson Assignee: Roger Meier Priority: Trivial Fix For: 0.8 Attachments: thrift_msvc.patch, thrift_msvc_v0_1.patch, thrift_msvc_v0_2.patch, thrift_msvc_v0_3.patch, thrift_msvc_v0_4.patch, thrift_msvc_v0_5.patch, thrift_msvc_v0_6.patch, thrift_msvc_v0_7.patch At our company we need clients running on Windows being able to connect to our linux servers running hypertable. The attached patch enables the parts needed by Hypertable to be compiled on Windows using either the VC++ 9.0 or 10.0 compilers. Having read previous posts about ports using boost::asio we found these to be too intrusive for our needs. This version uses pthreads_win32 and winsock2 and is as designed to be as un-intrusive as is possible to the original unix code base. It is mostly #defines between unix sockets and winsock2 sockets. We also tried to follow the folder structuring of the C# runtime that has visual studio solutions to be consistent. More details are in the README as not all the functionality of the original unix code base is available to windows users. We will add the missing functionality, we just wanted to share what we had as for a Windows based client for us it is sufficient. The patch is based on the latest revision in SVN, we would love feedback and any code reviews. If there is any possibility of this being added to the main trunk then that would be much appreciated, however we don't expect that. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (THRIFT-1031) Patch to compile Thrift for vc++ 9.0 and 10.0
[ https://issues.apache.org/jira/browse/THRIFT-1031?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13118213#comment-13118213 ] alexandre parenteau commented on THRIFT-1031: - @Peace: I think this is missing inside the trunk: {code} #ifdef _WIN32 //WIN32 Pthread implementation doesn't seem to support sheduling policies other then PosixThreadFactory::OTHER - runtime error policy_ = PosixThreadFactory::OTHER; #endif if (pthread_attr_setschedpolicy(thread_attr, policy_) != 0) { {code} This is the only difference I notice between the trunk and my fork, and it seems to be consistent with your problem description. Patch to compile Thrift for vc++ 9.0 and 10.0 - Key: THRIFT-1031 URL: https://issues.apache.org/jira/browse/THRIFT-1031 Project: Thrift Issue Type: Improvement Components: C++ - Library Environment: Windows XP 32bit, vc++ 9.0, 10.0 Reporter: James Dickson Assignee: Roger Meier Priority: Trivial Fix For: 0.8 Attachments: thrift_msvc.patch, thrift_msvc_v0_1.patch, thrift_msvc_v0_2.patch, thrift_msvc_v0_3.patch, thrift_msvc_v0_4.patch, thrift_msvc_v0_5.patch, thrift_msvc_v0_6.patch, thrift_msvc_v0_7.patch At our company we need clients running on Windows being able to connect to our linux servers running hypertable. The attached patch enables the parts needed by Hypertable to be compiled on Windows using either the VC++ 9.0 or 10.0 compilers. Having read previous posts about ports using boost::asio we found these to be too intrusive for our needs. This version uses pthreads_win32 and winsock2 and is as designed to be as un-intrusive as is possible to the original unix code base. It is mostly #defines between unix sockets and winsock2 sockets. We also tried to follow the folder structuring of the C# runtime that has visual studio solutions to be consistent. More details are in the README as not all the functionality of the original unix code base is available to windows users. We will add the missing functionality, we just wanted to share what we had as for a Windows based client for us it is sufficient. The patch is based on the latest revision in SVN, we would love feedback and any code reviews. If there is any possibility of this being added to the main trunk then that would be much appreciated, however we don't expect that. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (THRIFT-1031) Patch to compile Thrift for vc++ 9.0 and 10.0
[ https://issues.apache.org/jira/browse/THRIFT-1031?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13118234#comment-13118234 ] Peace commented on THRIFT-1031: --- @alexandre: Yes that fixes the threading exception. Thank you! Patch to compile Thrift for vc++ 9.0 and 10.0 - Key: THRIFT-1031 URL: https://issues.apache.org/jira/browse/THRIFT-1031 Project: Thrift Issue Type: Improvement Components: C++ - Library Environment: Windows XP 32bit, vc++ 9.0, 10.0 Reporter: James Dickson Assignee: Roger Meier Priority: Trivial Fix For: 0.8 Attachments: thrift_msvc.patch, thrift_msvc_v0_1.patch, thrift_msvc_v0_2.patch, thrift_msvc_v0_3.patch, thrift_msvc_v0_4.patch, thrift_msvc_v0_5.patch, thrift_msvc_v0_6.patch, thrift_msvc_v0_7.patch At our company we need clients running on Windows being able to connect to our linux servers running hypertable. The attached patch enables the parts needed by Hypertable to be compiled on Windows using either the VC++ 9.0 or 10.0 compilers. Having read previous posts about ports using boost::asio we found these to be too intrusive for our needs. This version uses pthreads_win32 and winsock2 and is as designed to be as un-intrusive as is possible to the original unix code base. It is mostly #defines between unix sockets and winsock2 sockets. We also tried to follow the folder structuring of the C# runtime that has visual studio solutions to be consistent. More details are in the README as not all the functionality of the original unix code base is available to windows users. We will add the missing functionality, we just wanted to share what we had as for a Windows based client for us it is sufficient. The patch is based on the latest revision in SVN, we would love feedback and any code reviews. If there is any possibility of this being added to the main trunk then that would be much appreciated, however we don't expect that. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (THRIFT-1031) Patch to compile Thrift for vc++ 9.0 and 10.0
[ https://issues.apache.org/jira/browse/THRIFT-1031?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13118395#comment-13118395 ] Roger Meier commented on THRIFT-1031: - Thanks Peace! committed. Patch to compile Thrift for vc++ 9.0 and 10.0 - Key: THRIFT-1031 URL: https://issues.apache.org/jira/browse/THRIFT-1031 Project: Thrift Issue Type: Improvement Components: C++ - Library Environment: Windows XP 32bit, vc++ 9.0, 10.0 Reporter: James Dickson Assignee: Roger Meier Priority: Trivial Fix For: 0.8 Attachments: PosixThreadFactory.patch, thrift_msvc.patch, thrift_msvc_v0_1.patch, thrift_msvc_v0_2.patch, thrift_msvc_v0_3.patch, thrift_msvc_v0_4.patch, thrift_msvc_v0_5.patch, thrift_msvc_v0_6.patch, thrift_msvc_v0_7.patch At our company we need clients running on Windows being able to connect to our linux servers running hypertable. The attached patch enables the parts needed by Hypertable to be compiled on Windows using either the VC++ 9.0 or 10.0 compilers. Having read previous posts about ports using boost::asio we found these to be too intrusive for our needs. This version uses pthreads_win32 and winsock2 and is as designed to be as un-intrusive as is possible to the original unix code base. It is mostly #defines between unix sockets and winsock2 sockets. We also tried to follow the folder structuring of the C# runtime that has visual studio solutions to be consistent. More details are in the README as not all the functionality of the original unix code base is available to windows users. We will add the missing functionality, we just wanted to share what we had as for a Windows based client for us it is sufficient. The patch is based on the latest revision in SVN, we would love feedback and any code reviews. If there is any possibility of this being added to the main trunk then that would be much appreciated, however we don't expect that. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (THRIFT-1031) Patch to compile Thrift for vc++ 9.0 and 10.0
[ https://issues.apache.org/jira/browse/THRIFT-1031?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13118619#comment-13118619 ] Hudson commented on THRIFT-1031: Integrated in Thrift #287 (See [https://builds.apache.org/job/Thrift/287/]) THRIFT-1031 Patch to compile Thrift for vc++ 9.0 and 10.0 Patch: Peace roger : http://svn.apache.org/viewvc/?view=revrev=1177817 Files : * /thrift/trunk/lib/cpp/src/concurrency/PosixThreadFactory.cpp Patch to compile Thrift for vc++ 9.0 and 10.0 - Key: THRIFT-1031 URL: https://issues.apache.org/jira/browse/THRIFT-1031 Project: Thrift Issue Type: Improvement Components: C++ - Library Environment: Windows XP 32bit, vc++ 9.0, 10.0 Reporter: James Dickson Assignee: Roger Meier Priority: Trivial Fix For: 0.8 Attachments: PosixThreadFactory.patch, thrift_msvc.patch, thrift_msvc_v0_1.patch, thrift_msvc_v0_2.patch, thrift_msvc_v0_3.patch, thrift_msvc_v0_4.patch, thrift_msvc_v0_5.patch, thrift_msvc_v0_6.patch, thrift_msvc_v0_7.patch At our company we need clients running on Windows being able to connect to our linux servers running hypertable. The attached patch enables the parts needed by Hypertable to be compiled on Windows using either the VC++ 9.0 or 10.0 compilers. Having read previous posts about ports using boost::asio we found these to be too intrusive for our needs. This version uses pthreads_win32 and winsock2 and is as designed to be as un-intrusive as is possible to the original unix code base. It is mostly #defines between unix sockets and winsock2 sockets. We also tried to follow the folder structuring of the C# runtime that has visual studio solutions to be consistent. More details are in the README as not all the functionality of the original unix code base is available to windows users. We will add the missing functionality, we just wanted to share what we had as for a Windows based client for us it is sufficient. The patch is based on the latest revision in SVN, we would love feedback and any code reviews. If there is any possibility of this being added to the main trunk then that would be much appreciated, however we don't expect that. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (THRIFT-1031) Patch to compile Thrift for vc++ 9.0 and 10.0
[ https://issues.apache.org/jira/browse/THRIFT-1031?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13114597#comment-13114597 ] James Dickson commented on THRIFT-1031: --- @alexandre: I will add that change back, I forgot to after testing it on XP. As regards the POSIX and 64bit issue I came across this: http://locklessinc.com/articles/pthreads_on_windows/ The implementation seems quite good and wondered what your thoughts were? It has a licence that I believe would be compatible. Patch to compile Thrift for vc++ 9.0 and 10.0 - Key: THRIFT-1031 URL: https://issues.apache.org/jira/browse/THRIFT-1031 Project: Thrift Issue Type: Improvement Components: C++ - Library Environment: Windows XP 32bit, vc++ 9.0, 10.0 Reporter: James Dickson Assignee: Roger Meier Priority: Trivial Fix For: 0.8 Attachments: thrift_msvc.patch, thrift_msvc_v0_1.patch, thrift_msvc_v0_2.patch, thrift_msvc_v0_3.patch, thrift_msvc_v0_4.patch, thrift_msvc_v0_5.patch, thrift_msvc_v0_6.patch, thrift_msvc_v0_7.patch At our company we need clients running on Windows being able to connect to our linux servers running hypertable. The attached patch enables the parts needed by Hypertable to be compiled on Windows using either the VC++ 9.0 or 10.0 compilers. Having read previous posts about ports using boost::asio we found these to be too intrusive for our needs. This version uses pthreads_win32 and winsock2 and is as designed to be as un-intrusive as is possible to the original unix code base. It is mostly #defines between unix sockets and winsock2 sockets. We also tried to follow the folder structuring of the C# runtime that has visual studio solutions to be consistent. More details are in the README as not all the functionality of the original unix code base is available to windows users. We will add the missing functionality, we just wanted to share what we had as for a Windows based client for us it is sufficient. The patch is based on the latest revision in SVN, we would love feedback and any code reviews. If there is any possibility of this being added to the main trunk then that would be much appreciated, however we don't expect that. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (THRIFT-1031) Patch to compile Thrift for vc++ 9.0 and 10.0
[ https://issues.apache.org/jira/browse/THRIFT-1031?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13114788#comment-13114788 ] alexandre parenteau commented on THRIFT-1031: - @james: thanks for the link, it looks very nice! Unfortunately it does not compile with Thrift at the moment, I wrote a comment on the page. Patch to compile Thrift for vc++ 9.0 and 10.0 - Key: THRIFT-1031 URL: https://issues.apache.org/jira/browse/THRIFT-1031 Project: Thrift Issue Type: Improvement Components: C++ - Library Environment: Windows XP 32bit, vc++ 9.0, 10.0 Reporter: James Dickson Assignee: Roger Meier Priority: Trivial Fix For: 0.8 Attachments: thrift_msvc.patch, thrift_msvc_v0_1.patch, thrift_msvc_v0_2.patch, thrift_msvc_v0_3.patch, thrift_msvc_v0_4.patch, thrift_msvc_v0_5.patch, thrift_msvc_v0_6.patch, thrift_msvc_v0_7.patch At our company we need clients running on Windows being able to connect to our linux servers running hypertable. The attached patch enables the parts needed by Hypertable to be compiled on Windows using either the VC++ 9.0 or 10.0 compilers. Having read previous posts about ports using boost::asio we found these to be too intrusive for our needs. This version uses pthreads_win32 and winsock2 and is as designed to be as un-intrusive as is possible to the original unix code base. It is mostly #defines between unix sockets and winsock2 sockets. We also tried to follow the folder structuring of the C# runtime that has visual studio solutions to be consistent. More details are in the README as not all the functionality of the original unix code base is available to windows users. We will add the missing functionality, we just wanted to share what we had as for a Windows based client for us it is sufficient. The patch is based on the latest revision in SVN, we would love feedback and any code reviews. If there is any possibility of this being added to the main trunk then that would be much appreciated, however we don't expect that. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (THRIFT-1031) Patch to compile Thrift for vc++ 9.0 and 10.0
[ https://issues.apache.org/jira/browse/THRIFT-1031?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13114407#comment-13114407 ] alexandre parenteau commented on THRIFT-1031: - For the problem of a WIN64 port, as well as the pthread_win32 license, I submitted a patch to replace pthread_win32 by boost: THRIFT-1361 Patch to compile Thrift for vc++ 9.0 and 10.0 - Key: THRIFT-1031 URL: https://issues.apache.org/jira/browse/THRIFT-1031 Project: Thrift Issue Type: Improvement Components: C++ - Library Environment: Windows XP 32bit, vc++ 9.0, 10.0 Reporter: James Dickson Assignee: Roger Meier Priority: Trivial Fix For: 0.8 Attachments: thrift_msvc.patch, thrift_msvc_v0_1.patch, thrift_msvc_v0_2.patch, thrift_msvc_v0_3.patch, thrift_msvc_v0_4.patch, thrift_msvc_v0_5.patch, thrift_msvc_v0_6.patch, thrift_msvc_v0_7.patch At our company we need clients running on Windows being able to connect to our linux servers running hypertable. The attached patch enables the parts needed by Hypertable to be compiled on Windows using either the VC++ 9.0 or 10.0 compilers. Having read previous posts about ports using boost::asio we found these to be too intrusive for our needs. This version uses pthreads_win32 and winsock2 and is as designed to be as un-intrusive as is possible to the original unix code base. It is mostly #defines between unix sockets and winsock2 sockets. We also tried to follow the folder structuring of the C# runtime that has visual studio solutions to be consistent. More details are in the README as not all the functionality of the original unix code base is available to windows users. We will add the missing functionality, we just wanted to share what we had as for a Windows based client for us it is sufficient. The patch is based on the latest revision in SVN, we would love feedback and any code reviews. If there is any possibility of this being added to the main trunk then that would be much appreciated, however we don't expect that. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (THRIFT-1031) Patch to compile Thrift for vc++ 9.0 and 10.0
[ https://issues.apache.org/jira/browse/THRIFT-1031?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13114080#comment-13114080 ] alexandre parenteau commented on THRIFT-1031: - @james: another cosmetic change: wouldn't be better to use WSAPoll on = Vista? {code} #if WINVER = 0x0502 #define poll(fds, nfds, timeout) \ poll_win32(fds, nfds, timeout) ... #else # define poll(fds, nfds, timeout) \ WSAPoll(fds, nfds, timeout) #endif // WINVER {code} This is based on one the original windows port attempts, I updated it to match your latest version. Patch to compile Thrift for vc++ 9.0 and 10.0 - Key: THRIFT-1031 URL: https://issues.apache.org/jira/browse/THRIFT-1031 Project: Thrift Issue Type: Improvement Components: C++ - Library Environment: Windows XP 32bit, vc++ 9.0, 10.0 Reporter: James Dickson Assignee: Roger Meier Priority: Trivial Fix For: 0.8 Attachments: thrift_msvc.patch, thrift_msvc_v0_1.patch, thrift_msvc_v0_2.patch, thrift_msvc_v0_3.patch, thrift_msvc_v0_4.patch, thrift_msvc_v0_5.patch, thrift_msvc_v0_6.patch, thrift_msvc_v0_7.patch At our company we need clients running on Windows being able to connect to our linux servers running hypertable. The attached patch enables the parts needed by Hypertable to be compiled on Windows using either the VC++ 9.0 or 10.0 compilers. Having read previous posts about ports using boost::asio we found these to be too intrusive for our needs. This version uses pthreads_win32 and winsock2 and is as designed to be as un-intrusive as is possible to the original unix code base. It is mostly #defines between unix sockets and winsock2 sockets. We also tried to follow the folder structuring of the C# runtime that has visual studio solutions to be consistent. More details are in the README as not all the functionality of the original unix code base is available to windows users. We will add the missing functionality, we just wanted to share what we had as for a Windows based client for us it is sufficient. The patch is based on the latest revision in SVN, we would love feedback and any code reviews. If there is any possibility of this being added to the main trunk then that would be much appreciated, however we don't expect that. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (THRIFT-1031) Patch to compile Thrift for vc++ 9.0 and 10.0
[ https://issues.apache.org/jira/browse/THRIFT-1031?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13113289#comment-13113289 ] James Dickson commented on THRIFT-1031: --- New version added - 0_7. @alexandre: 1-7 done. Please see the changes in 0_7. Also a couple of bug fixes with the non-blocking path. On windows the connect method returns EWOULDBLOCK instead of EINPROGRESS when non blocking is set on the socket. Patch to compile Thrift for vc++ 9.0 and 10.0 - Key: THRIFT-1031 URL: https://issues.apache.org/jira/browse/THRIFT-1031 Project: Thrift Issue Type: Improvement Components: C++ - Library Environment: Windows XP 32bit, vc++ 9.0, 10.0 Reporter: James Dickson Assignee: Roger Meier Priority: Trivial Fix For: 0.8 Attachments: thrift_msvc.patch, thrift_msvc_v0_1.patch, thrift_msvc_v0_2.patch, thrift_msvc_v0_3.patch, thrift_msvc_v0_4.patch, thrift_msvc_v0_5.patch, thrift_msvc_v0_6.patch, thrift_msvc_v0_7.patch At our company we need clients running on Windows being able to connect to our linux servers running hypertable. The attached patch enables the parts needed by Hypertable to be compiled on Windows using either the VC++ 9.0 or 10.0 compilers. Having read previous posts about ports using boost::asio we found these to be too intrusive for our needs. This version uses pthreads_win32 and winsock2 and is as designed to be as un-intrusive as is possible to the original unix code base. It is mostly #defines between unix sockets and winsock2 sockets. We also tried to follow the folder structuring of the C# runtime that has visual studio solutions to be consistent. More details are in the README as not all the functionality of the original unix code base is available to windows users. We will add the missing functionality, we just wanted to share what we had as for a Windows based client for us it is sufficient. The patch is based on the latest revision in SVN, we would love feedback and any code reviews. If there is any possibility of this being added to the main trunk then that would be much appreciated, however we don't expect that. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (THRIFT-1031) Patch to compile Thrift for vc++ 9.0 and 10.0
[ https://issues.apache.org/jira/browse/THRIFT-1031?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13113391#comment-13113391 ] Aurélien Revol commented on THRIFT-1031: Hi all, Thanks for the Windows port, it's great work! My last obstacle to using it, though, is that I have to build it in *VC++ 9.0*; unfortunately, starting from ??thrift_msvc_v0_2.patch??, the project files are *VC++ 10.0 only*. Is this a deliberate and necessary choice, or is there a way for me to undo this? Another question: a port to MinGW/MSYS would be great, since the rest of the project is based on the autotools, and we have native Win32 code here. Do you think these patches would be compatible with gcc? How much effort would be needed to integrate them in the autotools scripts? Patch to compile Thrift for vc++ 9.0 and 10.0 - Key: THRIFT-1031 URL: https://issues.apache.org/jira/browse/THRIFT-1031 Project: Thrift Issue Type: Improvement Components: C++ - Library Environment: Windows XP 32bit, vc++ 9.0, 10.0 Reporter: James Dickson Assignee: Roger Meier Priority: Trivial Fix For: 0.8 Attachments: thrift_msvc.patch, thrift_msvc_v0_1.patch, thrift_msvc_v0_2.patch, thrift_msvc_v0_3.patch, thrift_msvc_v0_4.patch, thrift_msvc_v0_5.patch, thrift_msvc_v0_6.patch, thrift_msvc_v0_7.patch At our company we need clients running on Windows being able to connect to our linux servers running hypertable. The attached patch enables the parts needed by Hypertable to be compiled on Windows using either the VC++ 9.0 or 10.0 compilers. Having read previous posts about ports using boost::asio we found these to be too intrusive for our needs. This version uses pthreads_win32 and winsock2 and is as designed to be as un-intrusive as is possible to the original unix code base. It is mostly #defines between unix sockets and winsock2 sockets. We also tried to follow the folder structuring of the C# runtime that has visual studio solutions to be consistent. More details are in the README as not all the functionality of the original unix code base is available to windows users. We will add the missing functionality, we just wanted to share what we had as for a Windows based client for us it is sufficient. The patch is based on the latest revision in SVN, we would love feedback and any code reviews. If there is any possibility of this being added to the main trunk then that would be much appreciated, however we don't expect that. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (THRIFT-1031) Patch to compile Thrift for vc++ 9.0 and 10.0
[ https://issues.apache.org/jira/browse/THRIFT-1031?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13113474#comment-13113474 ] Roger Meier commented on THRIFT-1031: - Thanks! just committed patch 0_7 Patch to compile Thrift for vc++ 9.0 and 10.0 - Key: THRIFT-1031 URL: https://issues.apache.org/jira/browse/THRIFT-1031 Project: Thrift Issue Type: Improvement Components: C++ - Library Environment: Windows XP 32bit, vc++ 9.0, 10.0 Reporter: James Dickson Assignee: Roger Meier Priority: Trivial Fix For: 0.8 Attachments: thrift_msvc.patch, thrift_msvc_v0_1.patch, thrift_msvc_v0_2.patch, thrift_msvc_v0_3.patch, thrift_msvc_v0_4.patch, thrift_msvc_v0_5.patch, thrift_msvc_v0_6.patch, thrift_msvc_v0_7.patch At our company we need clients running on Windows being able to connect to our linux servers running hypertable. The attached patch enables the parts needed by Hypertable to be compiled on Windows using either the VC++ 9.0 or 10.0 compilers. Having read previous posts about ports using boost::asio we found these to be too intrusive for our needs. This version uses pthreads_win32 and winsock2 and is as designed to be as un-intrusive as is possible to the original unix code base. It is mostly #defines between unix sockets and winsock2 sockets. We also tried to follow the folder structuring of the C# runtime that has visual studio solutions to be consistent. More details are in the README as not all the functionality of the original unix code base is available to windows users. We will add the missing functionality, we just wanted to share what we had as for a Windows based client for us it is sufficient. The patch is based on the latest revision in SVN, we would love feedback and any code reviews. If there is any possibility of this being added to the main trunk then that would be much appreciated, however we don't expect that. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (THRIFT-1031) Patch to compile Thrift for vc++ 9.0 and 10.0
[ https://issues.apache.org/jira/browse/THRIFT-1031?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13113491#comment-13113491 ] Hudson commented on THRIFT-1031: Integrated in Thrift #275 (See [https://builds.apache.org/job/Thrift/275/]) THRIFT-1031 Patch to compile Thrift for vc++ 9.0 and 10.0 = some more improvements Patch: James Dickson roger : http://svn.apache.org/viewvc/?view=revrev=1174801 Files : * /thrift/trunk/compiler/cpp/compiler.sln * /thrift/trunk/compiler/cpp/compiler.vcxproj * /thrift/trunk/compiler/cpp/compiler.vcxproj.filters * /thrift/trunk/lib/cpp/libthrift.vcxproj * /thrift/trunk/lib/cpp/src/Thrift.h * /thrift/trunk/lib/cpp/src/transport/TSocket.cpp * /thrift/trunk/lib/cpp/src/windows/TargetVersion.h * /thrift/trunk/lib/cpp/src/windows/config.h * /thrift/trunk/lib/cpp/src/windows/force_inc.h Patch to compile Thrift for vc++ 9.0 and 10.0 - Key: THRIFT-1031 URL: https://issues.apache.org/jira/browse/THRIFT-1031 Project: Thrift Issue Type: Improvement Components: C++ - Library Environment: Windows XP 32bit, vc++ 9.0, 10.0 Reporter: James Dickson Assignee: Roger Meier Priority: Trivial Fix For: 0.8 Attachments: thrift_msvc.patch, thrift_msvc_v0_1.patch, thrift_msvc_v0_2.patch, thrift_msvc_v0_3.patch, thrift_msvc_v0_4.patch, thrift_msvc_v0_5.patch, thrift_msvc_v0_6.patch, thrift_msvc_v0_7.patch At our company we need clients running on Windows being able to connect to our linux servers running hypertable. The attached patch enables the parts needed by Hypertable to be compiled on Windows using either the VC++ 9.0 or 10.0 compilers. Having read previous posts about ports using boost::asio we found these to be too intrusive for our needs. This version uses pthreads_win32 and winsock2 and is as designed to be as un-intrusive as is possible to the original unix code base. It is mostly #defines between unix sockets and winsock2 sockets. We also tried to follow the folder structuring of the C# runtime that has visual studio solutions to be consistent. More details are in the README as not all the functionality of the original unix code base is available to windows users. We will add the missing functionality, we just wanted to share what we had as for a Windows based client for us it is sufficient. The patch is based on the latest revision in SVN, we would love feedback and any code reviews. If there is any possibility of this being added to the main trunk then that would be much appreciated, however we don't expect that. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (THRIFT-1031) Patch to compile Thrift for vc++ 9.0 and 10.0
[ https://issues.apache.org/jira/browse/THRIFT-1031?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13113043#comment-13113043 ] alexandre parenteau commented on THRIFT-1031: - Hi, thanks all for making this happen! I had a chance finally to compile/run it (using the Calculator), and here are my comments/questions for @James: 1- overall definitively this looks good: I guess there is no WIN64 target, because there is no pthread for WIN64? 2- Cosmetic: something needs to define #define HAVE_GETTIMEOFDAY (windows/config.h?) 3- Cosmetic: #define __BYTE_ORDER: this is not necessary anymore, another patch of mine previously fixed the auto detection on win32 using boost. The README may also reflect that (double should be fine). 4- Cosmetic: typedef __kernel_size_t size_t, typedef __kernel_ssize_t ssize_t: I found this easier version: typedef ptrdiff_t ssize_t; (don't think size_t needs to be defined AFAIK) 5- Cosmetic: #define NOMINMAX (before Windows.h, because std::min is used in thrift) 6- Cosmetic warning: #pragma warning(disable: 4996) and #pragma warning(disable: 4250) could be nice (POSIX name for this item is deprecated, inherits via dominance) 7- config.h: here is my biggest concern: you decided (honorably!) to re-use config.h (and define HAVE_CONFIG_H): I find it in practice annoying because it assumes config.h is at the same level of Thrift.h. This forces in turn to add thrift folder/windows to the include path. What happens is when mixing with other libraries who also use config.h, it may take precedence over thrift's config.h. Ideally, I would prefer if *not* using HAVE_CONFIG_H, and do something like this instead: #ifdef _WIN32 #include windows/config.h $endif When included from Thrift.h, this guarantees to pick the right config.h (and not Python's one for example). Now what happens for the source code .cpp? Well since you are using already force-compilation, you could add windows/config.h to the list for forced headers. Again, thanks a lot for the patch! Patch to compile Thrift for vc++ 9.0 and 10.0 - Key: THRIFT-1031 URL: https://issues.apache.org/jira/browse/THRIFT-1031 Project: Thrift Issue Type: Improvement Components: C++ - Library Environment: Windows XP 32bit, vc++ 9.0, 10.0 Reporter: James Dickson Assignee: Roger Meier Priority: Trivial Fix For: 0.8 Attachments: thrift_msvc.patch, thrift_msvc_v0_1.patch, thrift_msvc_v0_2.patch, thrift_msvc_v0_3.patch, thrift_msvc_v0_4.patch, thrift_msvc_v0_5.patch, thrift_msvc_v0_6.patch At our company we need clients running on Windows being able to connect to our linux servers running hypertable. The attached patch enables the parts needed by Hypertable to be compiled on Windows using either the VC++ 9.0 or 10.0 compilers. Having read previous posts about ports using boost::asio we found these to be too intrusive for our needs. This version uses pthreads_win32 and winsock2 and is as designed to be as un-intrusive as is possible to the original unix code base. It is mostly #defines between unix sockets and winsock2 sockets. We also tried to follow the folder structuring of the C# runtime that has visual studio solutions to be consistent. More details are in the README as not all the functionality of the original unix code base is available to windows users. We will add the missing functionality, we just wanted to share what we had as for a Windows based client for us it is sufficient. The patch is based on the latest revision in SVN, we would love feedback and any code reviews. If there is any possibility of this being added to the main trunk then that would be much appreciated, however we don't expect that. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (THRIFT-1031) Patch to compile Thrift for vc++ 9.0 and 10.0
[ https://issues.apache.org/jira/browse/THRIFT-1031?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13105952#comment-13105952 ] James Dickson commented on THRIFT-1031: --- @alexandre Thank you for your comments, I mostly agree, however to make some further points: PosixThreadFactory TNonblockingServer - I will take a look at what you have and integrate those today (16th Sept). TSocket: I have taken a look at what you have, and whilst it is indeed minimal, the main reason for re-implementing it for Windows was in response to David's proposal of creating TAprSocket, except I wasn't really a fan of using APR as it is yet another dependency to include. By using #'defs as you have done I kind of feel it is going down the route of trying to fit a square peg into a round hole (maybe I am being pedantic!). I think so long as the windows implementation of the TSocket interface fulfills the obligations and behavior of that interface then my preference would be to have an all windows implementation. Whilst what I have currently is merely a duplication with the non windows code ported over, eventually I would like to implement an entire windows version. Errno: Note that a windows specific implementation would also fix the errno issue as it would be possible to use WSAGetLastError directly as well as the windows error codes without the special care currently required in your version. I have also taken a look at your implementation of fcntl and it doesn't seem to follow the specification here, mainly throwing an integer value of -99 isn't specified: http://pubs.opengroup.org/onlinepubs/009695399/functions/fcntl.html I'd really like this patch to be integrated into the main trunk, so if there is anything more I can do to make this happen please let me know. Patch to compile Thrift for vc++ 9.0 and 10.0 - Key: THRIFT-1031 URL: https://issues.apache.org/jira/browse/THRIFT-1031 Project: Thrift Issue Type: Improvement Components: C++ - Library Environment: Windows XP 32bit, vc++ 9.0, 10.0 Reporter: James Dickson Priority: Trivial Fix For: 0.8 Attachments: thrift_msvc.patch, thrift_msvc_v0_1.patch, thrift_msvc_v0_2.patch, thrift_msvc_v0_3.patch, thrift_msvc_v0_4.patch, thrift_msvc_v0_5.patch At our company we need clients running on Windows being able to connect to our linux servers running hypertable. The attached patch enables the parts needed by Hypertable to be compiled on Windows using either the VC++ 9.0 or 10.0 compilers. Having read previous posts about ports using boost::asio we found these to be too intrusive for our needs. This version uses pthreads_win32 and winsock2 and is as designed to be as un-intrusive as is possible to the original unix code base. It is mostly #defines between unix sockets and winsock2 sockets. We also tried to follow the folder structuring of the C# runtime that has visual studio solutions to be consistent. More details are in the README as not all the functionality of the original unix code base is available to windows users. We will add the missing functionality, we just wanted to share what we had as for a Windows based client for us it is sufficient. The patch is based on the latest revision in SVN, we would love feedback and any code reviews. If there is any possibility of this being added to the main trunk then that would be much appreciated, however we don't expect that. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (THRIFT-1031) Patch to compile Thrift for vc++ 9.0 and 10.0
[ https://issues.apache.org/jira/browse/THRIFT-1031?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13106018#comment-13106018 ] Roger Meier commented on THRIFT-1031: - Just comitted the first portion of your patch related to the compiler! I would prefer the TSocket aproach from alexandre, he made good progress on making it more portable. There are just a few #ifdef's and it will be much easier to manage the code base with one implementation. I'm looking forward to bring this into the next release! Patch to compile Thrift for vc++ 9.0 and 10.0 - Key: THRIFT-1031 URL: https://issues.apache.org/jira/browse/THRIFT-1031 Project: Thrift Issue Type: Improvement Components: C++ - Library Environment: Windows XP 32bit, vc++ 9.0, 10.0 Reporter: James Dickson Priority: Trivial Fix For: 0.8 Attachments: thrift_msvc.patch, thrift_msvc_v0_1.patch, thrift_msvc_v0_2.patch, thrift_msvc_v0_3.patch, thrift_msvc_v0_4.patch, thrift_msvc_v0_5.patch At our company we need clients running on Windows being able to connect to our linux servers running hypertable. The attached patch enables the parts needed by Hypertable to be compiled on Windows using either the VC++ 9.0 or 10.0 compilers. Having read previous posts about ports using boost::asio we found these to be too intrusive for our needs. This version uses pthreads_win32 and winsock2 and is as designed to be as un-intrusive as is possible to the original unix code base. It is mostly #defines between unix sockets and winsock2 sockets. We also tried to follow the folder structuring of the C# runtime that has visual studio solutions to be consistent. More details are in the README as not all the functionality of the original unix code base is available to windows users. We will add the missing functionality, we just wanted to share what we had as for a Windows based client for us it is sufficient. The patch is based on the latest revision in SVN, we would love feedback and any code reviews. If there is any possibility of this being added to the main trunk then that would be much appreciated, however we don't expect that. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (THRIFT-1031) Patch to compile Thrift for vc++ 9.0 and 10.0
[ https://issues.apache.org/jira/browse/THRIFT-1031?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13106025#comment-13106025 ] Hudson commented on THRIFT-1031: Integrated in Thrift #265 (See [https://builds.apache.org/job/Thrift/265/]) THRIFT-1031 Patch to compile Thrift for vc++ 9.0 and 10.0 (partial) no chmod on windows for go and py compiler Patch: James Dickson roger : http://svn.apache.org/viewvc/?view=revrev=1171520 Files : * /thrift/trunk/compiler/cpp/src/generate/t_go_generator.cc * /thrift/trunk/compiler/cpp/src/generate/t_py_generator.cc Patch to compile Thrift for vc++ 9.0 and 10.0 - Key: THRIFT-1031 URL: https://issues.apache.org/jira/browse/THRIFT-1031 Project: Thrift Issue Type: Improvement Components: C++ - Library Environment: Windows XP 32bit, vc++ 9.0, 10.0 Reporter: James Dickson Priority: Trivial Fix For: 0.8 Attachments: thrift_msvc.patch, thrift_msvc_v0_1.patch, thrift_msvc_v0_2.patch, thrift_msvc_v0_3.patch, thrift_msvc_v0_4.patch, thrift_msvc_v0_5.patch At our company we need clients running on Windows being able to connect to our linux servers running hypertable. The attached patch enables the parts needed by Hypertable to be compiled on Windows using either the VC++ 9.0 or 10.0 compilers. Having read previous posts about ports using boost::asio we found these to be too intrusive for our needs. This version uses pthreads_win32 and winsock2 and is as designed to be as un-intrusive as is possible to the original unix code base. It is mostly #defines between unix sockets and winsock2 sockets. We also tried to follow the folder structuring of the C# runtime that has visual studio solutions to be consistent. More details are in the README as not all the functionality of the original unix code base is available to windows users. We will add the missing functionality, we just wanted to share what we had as for a Windows based client for us it is sufficient. The patch is based on the latest revision in SVN, we would love feedback and any code reviews. If there is any possibility of this being added to the main trunk then that would be much appreciated, however we don't expect that. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (THRIFT-1031) Patch to compile Thrift for vc++ 9.0 and 10.0
[ https://issues.apache.org/jira/browse/THRIFT-1031?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13106809#comment-13106809 ] Roger Meier commented on THRIFT-1031: - 0_6 is committed! Thank you James, Alexandre and all other contributors to make this happen!! Patch to compile Thrift for vc++ 9.0 and 10.0 - Key: THRIFT-1031 URL: https://issues.apache.org/jira/browse/THRIFT-1031 Project: Thrift Issue Type: Improvement Components: C++ - Library Environment: Windows XP 32bit, vc++ 9.0, 10.0 Reporter: James Dickson Assignee: Roger Meier Priority: Trivial Fix For: 0.8 Attachments: thrift_msvc.patch, thrift_msvc_v0_1.patch, thrift_msvc_v0_2.patch, thrift_msvc_v0_3.patch, thrift_msvc_v0_4.patch, thrift_msvc_v0_5.patch, thrift_msvc_v0_6.patch At our company we need clients running on Windows being able to connect to our linux servers running hypertable. The attached patch enables the parts needed by Hypertable to be compiled on Windows using either the VC++ 9.0 or 10.0 compilers. Having read previous posts about ports using boost::asio we found these to be too intrusive for our needs. This version uses pthreads_win32 and winsock2 and is as designed to be as un-intrusive as is possible to the original unix code base. It is mostly #defines between unix sockets and winsock2 sockets. We also tried to follow the folder structuring of the C# runtime that has visual studio solutions to be consistent. More details are in the README as not all the functionality of the original unix code base is available to windows users. We will add the missing functionality, we just wanted to share what we had as for a Windows based client for us it is sufficient. The patch is based on the latest revision in SVN, we would love feedback and any code reviews. If there is any possibility of this being added to the main trunk then that would be much appreciated, however we don't expect that. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (THRIFT-1031) Patch to compile Thrift for vc++ 9.0 and 10.0
[ https://issues.apache.org/jira/browse/THRIFT-1031?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13106835#comment-13106835 ] Hudson commented on THRIFT-1031: Integrated in Thrift #266 (See [https://builds.apache.org/job/Thrift/266/]) THRIFT-1031 Patch to compile Thrift for vc++ 9.0 and 10.0 Patch: James Dickson and Alexandre Parenteau roger : http://svn.apache.org/viewvc/?view=revrev=1171777 Files : * /thrift/trunk/compiler/cpp/src/windows * /thrift/trunk/compiler/cpp/src/windows/config.h * /thrift/trunk/compiler/cpp/src/windows/version.h * /thrift/trunk/lib/cpp/README_WINDOWS * /thrift/trunk/lib/cpp/libthrift.vcxproj * /thrift/trunk/lib/cpp/libthrift.vcxproj.filters * /thrift/trunk/lib/cpp/libthriftnb.vcxproj * /thrift/trunk/lib/cpp/libthriftnb.vcxproj.filters * /thrift/trunk/lib/cpp/src/concurrency/PosixThreadFactory.cpp * /thrift/trunk/lib/cpp/src/server/TNonblockingServer.h * /thrift/trunk/lib/cpp/src/transport/TServerSocket.cpp * /thrift/trunk/lib/cpp/src/transport/TSocket.cpp * /thrift/trunk/lib/cpp/src/windows * /thrift/trunk/lib/cpp/src/windows/Fcntl.cpp * /thrift/trunk/lib/cpp/src/windows/Fcntl.h * /thrift/trunk/lib/cpp/src/windows/GetTimeOfDay.cpp * /thrift/trunk/lib/cpp/src/windows/GetTimeOfDay.h * /thrift/trunk/lib/cpp/src/windows/Operators.h * /thrift/trunk/lib/cpp/src/windows/SocketPair.cpp * /thrift/trunk/lib/cpp/src/windows/SocketPair.h * /thrift/trunk/lib/cpp/src/windows/StdAfx.cpp * /thrift/trunk/lib/cpp/src/windows/StdAfx.h * /thrift/trunk/lib/cpp/src/windows/TWinsockSingleton.cpp * /thrift/trunk/lib/cpp/src/windows/TWinsockSingleton.h * /thrift/trunk/lib/cpp/src/windows/TargetVersion.h * /thrift/trunk/lib/cpp/src/windows/config.h * /thrift/trunk/lib/cpp/src/windows/force_inc.h * /thrift/trunk/lib/cpp/src/windows/tr1 * /thrift/trunk/lib/cpp/src/windows/tr1/functional * /thrift/trunk/lib/cpp/thrift.sln Patch to compile Thrift for vc++ 9.0 and 10.0 - Key: THRIFT-1031 URL: https://issues.apache.org/jira/browse/THRIFT-1031 Project: Thrift Issue Type: Improvement Components: C++ - Library Environment: Windows XP 32bit, vc++ 9.0, 10.0 Reporter: James Dickson Assignee: Roger Meier Priority: Trivial Fix For: 0.8 Attachments: thrift_msvc.patch, thrift_msvc_v0_1.patch, thrift_msvc_v0_2.patch, thrift_msvc_v0_3.patch, thrift_msvc_v0_4.patch, thrift_msvc_v0_5.patch, thrift_msvc_v0_6.patch At our company we need clients running on Windows being able to connect to our linux servers running hypertable. The attached patch enables the parts needed by Hypertable to be compiled on Windows using either the VC++ 9.0 or 10.0 compilers. Having read previous posts about ports using boost::asio we found these to be too intrusive for our needs. This version uses pthreads_win32 and winsock2 and is as designed to be as un-intrusive as is possible to the original unix code base. It is mostly #defines between unix sockets and winsock2 sockets. We also tried to follow the folder structuring of the C# runtime that has visual studio solutions to be consistent. More details are in the README as not all the functionality of the original unix code base is available to windows users. We will add the missing functionality, we just wanted to share what we had as for a Windows based client for us it is sufficient. The patch is based on the latest revision in SVN, we would love feedback and any code reviews. If there is any possibility of this being added to the main trunk then that would be much appreciated, however we don't expect that. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (THRIFT-1031) Patch to compile Thrift for vc++ 9.0 and 10.0
[ https://issues.apache.org/jira/browse/THRIFT-1031?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13105746#comment-13105746 ] alexandre parenteau commented on THRIFT-1031: - @James: I reviewed the patch, and have those remarks to share: Overall: Pros: - This is a nice improvement to have a 0.8 patch for Windows - Almost everything in thrift is ported (however see also Cons) - IMHO this could be *the* base patch for the upcoming Windows support inside thrift Cons: - the server part is missing (as you mentioned), and/or especially async servers is incomplete (libevent and pthread based, very important for high-performance thrift serving) - the new socket-windows-only code is troubling to me (see below for more details, and possible alternatives) - it lacks a 64 bits target (should be trivial to add) Details: Those observations come mostly from my own experiment of maintaining a Windows port: see https://github.com/aubonbeurre/thrift/blob/winthriftnb-0.8.x-1/README.non.blocking.Windows My focus has been on supporting async server/client, so in a way I feel it is very complimentary to this patch. I was hoping you could review my observations, and see if somehow you could blend the two together! TSocket: - It is not immediately obvious to me why creating a different socket class for Windows is necessary. On the github link above, TSocket has only a couple of minor changes, and run/compile fine on Windows. - HOWEVER: Much more importantly, I don't think it will work for multi-thread servers to use errno (see http://msdn.microsoft.com/en-us/library/ms737828(v=vs.85).aspx and http://msdn.microsoft.com/en-us/library/windows/apps/ms737828(v=vs.85).aspx) - My own approach was to re-define errno to WSAGetLastError (only internally to thrift), and all the errno.h codes: It works as long as errno is not getting used inside any thrift .h (or it would force clients linking against thrift to do the same). - So taking together those approaches (slight changes to the existing TSocket, and override of errno) seem better to me, even if they require special attention to never use errno inside .h. Also errors getting thrown by thrift have now the WinSock error codes, and it works in multiple threads (like the pool thread). lib\cpp\src\concurrency\PosixThreadFactory.cpp: - In the port mentioned above, you'll find the minor tweaks to have it compile and run on Windows (it was taken from another JIRA patch, perhaps even this one!) lib\cpp\src\server\TNonblockingServer.cpp: Lately Roger integrated a set of patches of mine which make the compilation on Windows happen without any changes. However see in the code above the file win32-config.h, which defines SOCKOPT_CAST_T and AF_LOCAL to make this work. TWinsockSingleton: - I'm not sure this is necessary to have thrift initialize WinSock (especially since libevent might already do this, dunno). I choose to make it a documentation point. Thanks, I feel overall the windows port is getting closer and closer. Patch to compile Thrift for vc++ 9.0 and 10.0 - Key: THRIFT-1031 URL: https://issues.apache.org/jira/browse/THRIFT-1031 Project: Thrift Issue Type: Improvement Components: C++ - Library Environment: Windows XP 32bit, vc++ 9.0, 10.0 Reporter: James Dickson Priority: Trivial Fix For: 0.8 Attachments: thrift_msvc.patch, thrift_msvc_v0_1.patch, thrift_msvc_v0_2.patch, thrift_msvc_v0_3.patch, thrift_msvc_v0_4.patch, thrift_msvc_v0_5.patch At our company we need clients running on Windows being able to connect to our linux servers running hypertable. The attached patch enables the parts needed by Hypertable to be compiled on Windows using either the VC++ 9.0 or 10.0 compilers. Having read previous posts about ports using boost::asio we found these to be too intrusive for our needs. This version uses pthreads_win32 and winsock2 and is as designed to be as un-intrusive as is possible to the original unix code base. It is mostly #defines between unix sockets and winsock2 sockets. We also tried to follow the folder structuring of the C# runtime that has visual studio solutions to be consistent. More details are in the README as not all the functionality of the original unix code base is available to windows users. We will add the missing functionality, we just wanted to share what we had as for a Windows based client for us it is sufficient. The patch is based on the latest revision in SVN, we would love feedback and any code reviews. If there is any possibility of this being added to the main trunk then that would be much appreciated, however we don't expect that. -- This message is automatically generated by JIRA. For more information
[jira] [Commented] (THRIFT-1031) Patch to compile Thrift for vc++ 9.0 and 10.0
[ https://issues.apache.org/jira/browse/THRIFT-1031?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13104552#comment-13104552 ] James Dickson commented on THRIFT-1031: --- Attached a new version (0_5) with some bug fixes that I have encountered during testing today. Patch to compile Thrift for vc++ 9.0 and 10.0 - Key: THRIFT-1031 URL: https://issues.apache.org/jira/browse/THRIFT-1031 Project: Thrift Issue Type: Improvement Components: C++ - Library Environment: Windows XP 32bit, vc++ 9.0, 10.0 Reporter: James Dickson Priority: Trivial Fix For: 0.8 Attachments: thrift_msvc.patch, thrift_msvc_v0_1.patch, thrift_msvc_v0_2.patch, thrift_msvc_v0_3.patch, thrift_msvc_v0_4.patch, thrift_msvc_v0_5.patch At our company we need clients running on Windows being able to connect to our linux servers running hypertable. The attached patch enables the parts needed by Hypertable to be compiled on Windows using either the VC++ 9.0 or 10.0 compilers. Having read previous posts about ports using boost::asio we found these to be too intrusive for our needs. This version uses pthreads_win32 and winsock2 and is as designed to be as un-intrusive as is possible to the original unix code base. It is mostly #defines between unix sockets and winsock2 sockets. We also tried to follow the folder structuring of the C# runtime that has visual studio solutions to be consistent. More details are in the README as not all the functionality of the original unix code base is available to windows users. We will add the missing functionality, we just wanted to share what we had as for a Windows based client for us it is sufficient. The patch is based on the latest revision in SVN, we would love feedback and any code reviews. If there is any possibility of this being added to the main trunk then that would be much appreciated, however we don't expect that. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (THRIFT-1031) Patch to compile Thrift for vc++ 9.0 and 10.0
[ https://issues.apache.org/jira/browse/THRIFT-1031?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13103736#comment-13103736 ] James Dickson commented on THRIFT-1031: --- Hi all, Please accept my apologies for the long radio silence, other tasks have somewhat occupied my time lately. However, over the past week I have been working on a newer version of the patch, one which I hope addresses all concerns and requests. I greatly appreciate all the feedback you have given me. This patch leaves the original code base completely unchanged. Where classes are completely incompatible with windows I have rewritten the incompatible parts and branched the implementation thus maintaining the same interface. It is not complete, there are still some Transport classes needing to still be ported, but the majority has been. I have also ported the compiler to compile under MSVC, as far as I can tell it works in it's entirety, however I would really appreciate testing of the various other languages as I have mainly concentrated on the C++ side of code generation. I have only given a cursory run of the other language generators. As to why I ported the compiler, this is so I can generate the testing code so that I can port all the test cases and make sure the library is equal to it's linux counterpart. From the readme: {quote} Using Thrift with C++ = You need to define an enviroment variable called THIRD_PARTY. The project assumes that you have extracted the dependancies into their default structure into the path defined by THIRD_PARTY. e.g. $(THIRD_PARTY)/boost/boost_1_47_0/ Thrift is divided into two libraries. libthrift The core Thrift library contains all the core Thrift code. It requires boost shared pointers and pthreads_win32. libthriftnb This library contains the Thrift nonblocking server, which uses libevent. To link this library you will also need to link libevent. You MUST apply this patch to make generated code compile. https://issues.apache.org/jira/browse/THRIFT-1139 Linking Against Thrift == You need to link your project that uses thrift against all the thrift dependancies; in the case of libthrift, pthreads_win32, boost and for libthriftnb, libevent. In the project properties you must also set HAVE_CONFIG_H as force include the config header: windows/confg.h Dependencies boost shared pointers http://www.boost.org/libs/smart_ptr/smart_ptr.htm libevent (for libthriftnb only) http://monkey.org/~provos/libevent/ pthreads win32 http://sources.redhat.com/pthreads-win32/ Known issues - Endianess has not been fully tested, may not work with doubles. - Currently does not support the non-blocking connect path. - Only supports the creation of clients, server sockets are not yet ported. - Does not support named pipes. (Supported in unix through unix domain sockets). TODO - Port remaining classes in libthrift: - PosixThreadFactory - TFDTransport - TFileTransport - THttpClient - THttpServer - TSimpleFileTransport - TSSLSocket - TServerSocket - Port remaing classes in libthriftnb: - TNonblockingServer - Port test cases. (Not even started this. Run test cases in release mode?) - Autolink libraries depending on debug\release build. - Auto versioning. {quote} Patch to compile Thrift for vc++ 9.0 and 10.0 - Key: THRIFT-1031 URL: https://issues.apache.org/jira/browse/THRIFT-1031 Project: Thrift Issue Type: Improvement Components: C++ - Library Environment: Windows XP 32bit, vc++ 9.0, 10.0 Reporter: James Dickson Priority: Trivial Fix For: 0.8 Attachments: thrift_msvc.patch, thrift_msvc_v0_1.patch, thrift_msvc_v0_2.patch, thrift_msvc_v0_2.patch At our company we need clients running on Windows being able to connect to our linux servers running hypertable. The attached patch enables the parts needed by Hypertable to be compiled on Windows using either the VC++ 9.0 or 10.0 compilers. Having read previous posts about ports using boost::asio we found these to be too intrusive for our needs. This version uses pthreads_win32 and winsock2 and is as designed to be as un-intrusive as is possible to the original unix code base. It is mostly #defines between unix sockets and winsock2 sockets. We also tried to follow the folder structuring of the C# runtime that has visual studio solutions to be consistent. More details are in the README as not all the functionality of the original unix code base is available to windows users. We will add the missing functionality, we just wanted to share what we had as for a Windows based client for us it is sufficient. The patch is based on the latest revision in SVN, we
[jira] [Commented] (THRIFT-1031) Patch to compile Thrift for vc++ 9.0 and 10.0
[ https://issues.apache.org/jira/browse/THRIFT-1031?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13103835#comment-13103835 ] Jake Farrell commented on THRIFT-1031: -- The introduction of the duplicate set of t_*_generators in the v0_2 patch just add the potential for patches to be missed when new bugs arise within the generators. This functionality should be added into the current generators as an option flag to modify the resulted generator output where necessary. If I misunderstood your comments and this is just for debugging and will not be in the final patch can you please provide it as a separate patch noted as just for debug. Patch to compile Thrift for vc++ 9.0 and 10.0 - Key: THRIFT-1031 URL: https://issues.apache.org/jira/browse/THRIFT-1031 Project: Thrift Issue Type: Improvement Components: C++ - Library Environment: Windows XP 32bit, vc++ 9.0, 10.0 Reporter: James Dickson Priority: Trivial Fix For: 0.8 Attachments: thrift_msvc.patch, thrift_msvc_v0_1.patch, thrift_msvc_v0_2.patch, thrift_msvc_v0_2.patch At our company we need clients running on Windows being able to connect to our linux servers running hypertable. The attached patch enables the parts needed by Hypertable to be compiled on Windows using either the VC++ 9.0 or 10.0 compilers. Having read previous posts about ports using boost::asio we found these to be too intrusive for our needs. This version uses pthreads_win32 and winsock2 and is as designed to be as un-intrusive as is possible to the original unix code base. It is mostly #defines between unix sockets and winsock2 sockets. We also tried to follow the folder structuring of the C# runtime that has visual studio solutions to be consistent. More details are in the README as not all the functionality of the original unix code base is available to windows users. We will add the missing functionality, we just wanted to share what we had as for a Windows based client for us it is sufficient. The patch is based on the latest revision in SVN, we would love feedback and any code reviews. If there is any possibility of this being added to the main trunk then that would be much appreciated, however we don't expect that. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (THRIFT-1031) Patch to compile Thrift for vc++ 9.0 and 10.0
[ https://issues.apache.org/jira/browse/THRIFT-1031?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13084977#comment-13084977 ] Deepak Muley commented on THRIFT-1031: -- Carl, Did you get any answer (privately) to your LGPL license related question, am curious to know the answer as well. Patch to compile Thrift for vc++ 9.0 and 10.0 - Key: THRIFT-1031 URL: https://issues.apache.org/jira/browse/THRIFT-1031 Project: Thrift Issue Type: Improvement Components: C++ - Library Environment: Windows XP 32bit, vc++ 9.0, 10.0 Reporter: James Dickson Priority: Trivial Fix For: 0.8 Attachments: thrift_msvc.patch, thrift_msvc_v0_1.patch At our company we need clients running on Windows being able to connect to our linux servers running hypertable. The attached patch enables the parts needed by Hypertable to be compiled on Windows using either the VC++ 9.0 or 10.0 compilers. Having read previous posts about ports using boost::asio we found these to be too intrusive for our needs. This version uses pthreads_win32 and winsock2 and is as designed to be as un-intrusive as is possible to the original unix code base. It is mostly #defines between unix sockets and winsock2 sockets. We also tried to follow the folder structuring of the C# runtime that has visual studio solutions to be consistent. More details are in the README as not all the functionality of the original unix code base is available to windows users. We will add the missing functionality, we just wanted to share what we had as for a Windows based client for us it is sufficient. The patch is based on the latest revision in SVN, we would love feedback and any code reviews. If there is any possibility of this being added to the main trunk then that would be much appreciated, however we don't expect that. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (THRIFT-1031) Patch to compile Thrift for vc++ 9.0 and 10.0
[ https://issues.apache.org/jira/browse/THRIFT-1031?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13052395#comment-13052395 ] alexandre parenteau commented on THRIFT-1031: - I have created a fork of latest thrift 0.6.1 on github, which comprises part of this patch, and also uses THRIFT-923 (non-blocking server with libevent). If interested, please refer to https://github.com/aubonbeurre/thrift/blob/alex-0.6.1/README.non.blocking.Windows. Patch to compile Thrift for vc++ 9.0 and 10.0 - Key: THRIFT-1031 URL: https://issues.apache.org/jira/browse/THRIFT-1031 Project: Thrift Issue Type: Improvement Components: C++ - Library Environment: Windows XP 32bit, vc++ 9.0, 10.0 Reporter: James Dickson Priority: Trivial Fix For: 0.7 Attachments: thrift_msvc.patch, thrift_msvc_v0_1.patch At our company we need clients running on Windows being able to connect to our linux servers running hypertable. The attached patch enables the parts needed by Hypertable to be compiled on Windows using either the VC++ 9.0 or 10.0 compilers. Having read previous posts about ports using boost::asio we found these to be too intrusive for our needs. This version uses pthreads_win32 and winsock2 and is as designed to be as un-intrusive as is possible to the original unix code base. It is mostly #defines between unix sockets and winsock2 sockets. We also tried to follow the folder structuring of the C# runtime that has visual studio solutions to be consistent. More details are in the README as not all the functionality of the original unix code base is available to windows users. We will add the missing functionality, we just wanted to share what we had as for a Windows based client for us it is sufficient. The patch is based on the latest revision in SVN, we would love feedback and any code reviews. If there is any possibility of this being added to the main trunk then that would be much appreciated, however we don't expect that. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (THRIFT-1031) Patch to compile Thrift for vc++ 9.0 and 10.0
[ https://issues.apache.org/jira/browse/THRIFT-1031?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13036628#comment-13036628 ] Carl Steinbach commented on THRIFT-1031: This patch depends on pthreads_win32 library which carries an LGPL license. The [ASF License FAQ|http://www.apache.org/legal/resolved.html#category-a] lists the LGPL in the prohibited category, though it's unclear to me if this prohibition is limited to creating a derivative work from LGPL'd code, or if it also applies to runtime dependencies against standalone LGPL libraries. Does anyone know the answer? Patch to compile Thrift for vc++ 9.0 and 10.0 - Key: THRIFT-1031 URL: https://issues.apache.org/jira/browse/THRIFT-1031 Project: Thrift Issue Type: Improvement Components: C++ - Library Environment: Windows XP 32bit, vc++ 9.0, 10.0 Reporter: James Dickson Priority: Trivial Fix For: 0.7 Attachments: thrift_msvc.patch, thrift_msvc_v0_1.patch At our company we need clients running on Windows being able to connect to our linux servers running hypertable. The attached patch enables the parts needed by Hypertable to be compiled on Windows using either the VC++ 9.0 or 10.0 compilers. Having read previous posts about ports using boost::asio we found these to be too intrusive for our needs. This version uses pthreads_win32 and winsock2 and is as designed to be as un-intrusive as is possible to the original unix code base. It is mostly #defines between unix sockets and winsock2 sockets. We also tried to follow the folder structuring of the C# runtime that has visual studio solutions to be consistent. More details are in the README as not all the functionality of the original unix code base is available to windows users. We will add the missing functionality, we just wanted to share what we had as for a Windows based client for us it is sufficient. The patch is based on the latest revision in SVN, we would love feedback and any code reviews. If there is any possibility of this being added to the main trunk then that would be much appreciated, however we don't expect that. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (THRIFT-1031) Patch to compile Thrift for vc++ 9.0 and 10.0
[ https://issues.apache.org/jira/browse/THRIFT-1031?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13022542#comment-13022542 ] Deepak Muley commented on THRIFT-1031: -- @Dragan Okiljevic Thank you. Patch to compile Thrift for vc++ 9.0 and 10.0 - Key: THRIFT-1031 URL: https://issues.apache.org/jira/browse/THRIFT-1031 Project: Thrift Issue Type: Improvement Components: C++ - Library Environment: Windows XP 32bit, vc++ 9.0, 10.0 Reporter: James Dickson Priority: Trivial Fix For: 0.7 Attachments: thrift_msvc.patch, thrift_msvc_v0_1.patch At our company we need clients running on Windows being able to connect to our linux servers running hypertable. The attached patch enables the parts needed by Hypertable to be compiled on Windows using either the VC++ 9.0 or 10.0 compilers. Having read previous posts about ports using boost::asio we found these to be too intrusive for our needs. This version uses pthreads_win32 and winsock2 and is as designed to be as un-intrusive as is possible to the original unix code base. It is mostly #defines between unix sockets and winsock2 sockets. We also tried to follow the folder structuring of the C# runtime that has visual studio solutions to be consistent. More details are in the README as not all the functionality of the original unix code base is available to windows users. We will add the missing functionality, we just wanted to share what we had as for a Windows based client for us it is sufficient. The patch is based on the latest revision in SVN, we would love feedback and any code reviews. If there is any possibility of this being added to the main trunk then that would be much appreciated, however we don't expect that. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (THRIFT-1031) Patch to compile Thrift for vc++ 9.0 and 10.0
[ https://issues.apache.org/jira/browse/THRIFT-1031?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13017939#comment-13017939 ] Dragan Okiljevic commented on THRIFT-1031: -- @Xavier I got the same problem while trying to compile Thrift generated C++ code for enums using Visual Studio 2010. The map is supposed to be initialized using two iterator arguments (first, and last), so it will containt key/value pairs for each enumeration value. Quick dirty solution: Last time I inspected the code, it seemed that this map is not used, so my code worked when I simply removed it from generated code by commenting it from Thrift generated files. I'm not sure why MSVC doesn't recognize TEnumIterator as an iterator type. This class overrides '*' operator and returns std::pairint, const char * which seems to work on *nix, but not MSVC. Am I right? Anyway, there is many ways to populate std::map either during initialization or later, so I guess there is one both compatible with MSVC and *nix and MAC compilers. Patch to compile Thrift for vc++ 9.0 and 10.0 - Key: THRIFT-1031 URL: https://issues.apache.org/jira/browse/THRIFT-1031 Project: Thrift Issue Type: Improvement Components: C++ - Library Environment: Windows XP 32bit, vc++ 9.0, 10.0 Reporter: James Dickson Priority: Trivial Fix For: 0.7 Attachments: thrift_msvc.patch, thrift_msvc_v0_1.patch At our company we need clients running on Windows being able to connect to our linux servers running hypertable. The attached patch enables the parts needed by Hypertable to be compiled on Windows using either the VC++ 9.0 or 10.0 compilers. Having read previous posts about ports using boost::asio we found these to be too intrusive for our needs. This version uses pthreads_win32 and winsock2 and is as designed to be as un-intrusive as is possible to the original unix code base. It is mostly #defines between unix sockets and winsock2 sockets. We also tried to follow the folder structuring of the C# runtime that has visual studio solutions to be consistent. More details are in the README as not all the functionality of the original unix code base is available to windows users. We will add the missing functionality, we just wanted to share what we had as for a Windows based client for us it is sufficient. The patch is based on the latest revision in SVN, we would love feedback and any code reviews. If there is any possibility of this being added to the main trunk then that would be much appreciated, however we don't expect that. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (THRIFT-1031) Patch to compile Thrift for vc++ 9.0 and 10.0
[ https://issues.apache.org/jira/browse/THRIFT-1031?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13016526#comment-13016526 ] Deepak Muley commented on THRIFT-1031: -- Thanks a lot James for starting this patch. I also reviewed the makefile project (namke) based patch in THRIFT-591 but I preferred your way of doing it without makefiles. I downloaded your patch and works great for creating libthrift.lib. looking forward to have this patch make it to the next release. Patch to compile Thrift for vc++ 9.0 and 10.0 - Key: THRIFT-1031 URL: https://issues.apache.org/jira/browse/THRIFT-1031 Project: Thrift Issue Type: Improvement Components: C++ - Library Environment: Windows XP 32bit, vc++ 9.0, 10.0 Reporter: James Dickson Priority: Trivial Fix For: 0.7 Attachments: thrift_msvc.patch, thrift_msvc_v0_1.patch At our company we need clients running on Windows being able to connect to our linux servers running hypertable. The attached patch enables the parts needed by Hypertable to be compiled on Windows using either the VC++ 9.0 or 10.0 compilers. Having read previous posts about ports using boost::asio we found these to be too intrusive for our needs. This version uses pthreads_win32 and winsock2 and is as designed to be as un-intrusive as is possible to the original unix code base. It is mostly #defines between unix sockets and winsock2 sockets. We also tried to follow the folder structuring of the C# runtime that has visual studio solutions to be consistent. More details are in the README as not all the functionality of the original unix code base is available to windows users. We will add the missing functionality, we just wanted to share what we had as for a Windows based client for us it is sufficient. The patch is based on the latest revision in SVN, we would love feedback and any code reviews. If there is any possibility of this being added to the main trunk then that would be much appreciated, however we don't expect that. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (THRIFT-1031) Patch to compile Thrift for vc++ 9.0 and 10.0
[ https://issues.apache.org/jira/browse/THRIFT-1031?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13016559#comment-13016559 ] Roger Meier commented on THRIFT-1031: - David's approach, creating a TAprSocket and TAprServerSocket seems to be a good solution with *minimal changes* to the existing implementation and that's a good thing! The template approach is a good solution for all these Socket variants we have. I think it is worth to have that refactoring task as a dedicated issue within jira. However, I suggest to implement a TAprSocket and TAprServerSocket and do the template stuff later. Patch to compile Thrift for vc++ 9.0 and 10.0 - Key: THRIFT-1031 URL: https://issues.apache.org/jira/browse/THRIFT-1031 Project: Thrift Issue Type: Improvement Components: C++ - Library Environment: Windows XP 32bit, vc++ 9.0, 10.0 Reporter: James Dickson Priority: Trivial Fix For: 0.7 Attachments: thrift_msvc.patch, thrift_msvc_v0_1.patch At our company we need clients running on Windows being able to connect to our linux servers running hypertable. The attached patch enables the parts needed by Hypertable to be compiled on Windows using either the VC++ 9.0 or 10.0 compilers. Having read previous posts about ports using boost::asio we found these to be too intrusive for our needs. This version uses pthreads_win32 and winsock2 and is as designed to be as un-intrusive as is possible to the original unix code base. It is mostly #defines between unix sockets and winsock2 sockets. We also tried to follow the folder structuring of the C# runtime that has visual studio solutions to be consistent. More details are in the README as not all the functionality of the original unix code base is available to windows users. We will add the missing functionality, we just wanted to share what we had as for a Windows based client for us it is sufficient. The patch is based on the latest revision in SVN, we would love feedback and any code reviews. If there is any possibility of this being added to the main trunk then that would be much appreciated, however we don't expect that. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (THRIFT-1031) Patch to compile Thrift for vc++ 9.0 and 10.0
[ https://issues.apache.org/jira/browse/THRIFT-1031?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13014478#comment-13014478 ] James Dickson commented on THRIFT-1031: --- Thank you for the quick feedback. @Roger + David: I agree that the extra dependency is not ideal, especially as such a small part of it is used. The alternative I see would be to simply use Winsock2 on Windows as the previous patch did. If that would be the way to go then incorporating previous comments, changes to the previous patch would need to be: 1. Create a platform.h header, which on *nix machines includes config.h (generated by ./configure) and header files which are not found on Windows. This new header would be used in code where config.h had been included directly previously. (This is based on Roger's comment on 29/Mar/11 19:10, THRIFT-1123 part a.) 2. (1.) Would not fix situations in which *nix only headers have been included in a file. Replacing these headers with platform.h would pull in headers that file would not require, which has been a point of contention previously. However, if this is the only work around then maybe it is acceptable? @Roger: As regards part b. of your comment in THRIFT-1123 on 29/Mar/11 19:10, I like that solution and will make the change. @Roger: As regards part c. of your comment in THRIFT-1123 on 29/Mar/11 19:10, it is a yes and no answer. Yes in that the Winsock2 equivalent of those functions are named completely differently. For instance fcntl(...) becomes ioctlsocket(...). However, as far as requiring them to be macros then no. Maybe an alternative is to make TSocket a template class where one of the template parameters is an OS socket layer policy. This would mean the implementation of low level socket routines could exist in platform specific folders (along with gettimeofday(...) on Windows) and leave the TSocket class almost the same. Just to avoid any confusion in the above statement, TSocket would become: {code} template class SOCKET_POLICY class TSocket : public TVirtualTransportTSocket, private SOCKET_POLICY { ... } Where SOCKET_POLICY implements the following: close(...) usleep(...) poll(...) reset(...) blocking(...) non_blocking(...) {code} If people are happy with the proposal I will start those changes, but would appreciate any comments before hand. Patch to compile Thrift for vc++ 9.0 and 10.0 - Key: THRIFT-1031 URL: https://issues.apache.org/jira/browse/THRIFT-1031 Project: Thrift Issue Type: Improvement Components: C++ - Library Environment: Windows XP 32bit, vc++ 9.0, 10.0 Reporter: James Dickson Priority: Trivial Fix For: 0.7 Attachments: thrift_msvc.patch, thrift_msvc_v0_1.patch At our company we need clients running on Windows being able to connect to our linux servers running hypertable. The attached patch enables the parts needed by Hypertable to be compiled on Windows using either the VC++ 9.0 or 10.0 compilers. Having read previous posts about ports using boost::asio we found these to be too intrusive for our needs. This version uses pthreads_win32 and winsock2 and is as designed to be as un-intrusive as is possible to the original unix code base. It is mostly #defines between unix sockets and winsock2 sockets. We also tried to follow the folder structuring of the C# runtime that has visual studio solutions to be consistent. More details are in the README as not all the functionality of the original unix code base is available to windows users. We will add the missing functionality, we just wanted to share what we had as for a Windows based client for us it is sufficient. The patch is based on the latest revision in SVN, we would love feedback and any code reviews. If there is any possibility of this being added to the main trunk then that would be much appreciated, however we don't expect that. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (THRIFT-1031) Patch to compile Thrift for vc++ 9.0 and 10.0
[ https://issues.apache.org/jira/browse/THRIFT-1031?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13014058#comment-13014058 ] James Dickson commented on THRIFT-1031: --- All, Thank you once again for all the comments both in this issue and in [THRIFT-1123|https://issues.apache.org/jira/browse/THRIFT-1123]. It has really helped me. I have attached a new patch which is what I currently have as regards combining all the comments, however it is by no means complete - it just compiles the client side code at the moment. I have posted it mainly for a (hopefully) quick code review to make sure I am not going down the wrong path. To outline the changes: - Platform specifics have been removed and replaced by using the Apache Portable Runtime (APR) v1.4.2 - Config.h has been renamed to win32_config.h and been moved into build_windows/msvc##/ where ## is the compiler version. - By using APR very few headers are now included in this new config header, just enough to ensure POSIX types are available. - Tests for client, concurrency, realloc and server have been added, but do not yet compile. (Work in progress) To reply to some comments: @Christian Lavoie: {quote}why did you put (std::min) in parentheses in TBufferTransports.cpp ?{quote} This is because somewhere in a windows header (can't remember which one) min and max have been defined as macros and as far as I am aware cannot be turned off. The parentheses make sure the STL min\max versions get chosen instead. A pain I know! @Dragan Okiljevic: Thank you for working on the server side of things, I really appreciate it. However, in switching to using APR I have probably broken your changes. After I have finished the client side of things, I will endeavor to fix the server side for you. Again, thank you for any comments and feedback. James Patch to compile Thrift for vc++ 9.0 and 10.0 - Key: THRIFT-1031 URL: https://issues.apache.org/jira/browse/THRIFT-1031 Project: Thrift Issue Type: Improvement Components: C++ - Library Environment: Windows XP 32bit, vc++ 9.0, 10.0 Reporter: James Dickson Priority: Trivial Fix For: 0.7 Attachments: thrift_msvc.patch, thrift_msvc_v0_1.patch At our company we need clients running on Windows being able to connect to our linux servers running hypertable. The attached patch enables the parts needed by Hypertable to be compiled on Windows using either the VC++ 9.0 or 10.0 compilers. Having read previous posts about ports using boost::asio we found these to be too intrusive for our needs. This version uses pthreads_win32 and winsock2 and is as designed to be as un-intrusive as is possible to the original unix code base. It is mostly #defines between unix sockets and winsock2 sockets. We also tried to follow the folder structuring of the C# runtime that has visual studio solutions to be consistent. More details are in the README as not all the functionality of the original unix code base is available to windows users. We will add the missing functionality, we just wanted to share what we had as for a Windows based client for us it is sufficient. The patch is based on the latest revision in SVN, we would love feedback and any code reviews. If there is any possibility of this being added to the main trunk then that would be much appreciated, however we don't expect that. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (THRIFT-1031) Patch to compile Thrift for vc++ 9.0 and 10.0
[ https://issues.apache.org/jira/browse/THRIFT-1031?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13014147#comment-13014147 ] Dragan Okiljevic commented on THRIFT-1031: -- Christian and Roger, thank you for your feedback. The comments, advices and propositions you gave are really of big help. James, it's great to see the improved version of your patch. As for the server side, thank you for your intention to fix it in a fashion applied in your new patch, if I can be of any help, I encourage you to contact me at any time. Patch to compile Thrift for vc++ 9.0 and 10.0 - Key: THRIFT-1031 URL: https://issues.apache.org/jira/browse/THRIFT-1031 Project: Thrift Issue Type: Improvement Components: C++ - Library Environment: Windows XP 32bit, vc++ 9.0, 10.0 Reporter: James Dickson Priority: Trivial Fix For: 0.7 Attachments: thrift_msvc.patch, thrift_msvc_v0_1.patch At our company we need clients running on Windows being able to connect to our linux servers running hypertable. The attached patch enables the parts needed by Hypertable to be compiled on Windows using either the VC++ 9.0 or 10.0 compilers. Having read previous posts about ports using boost::asio we found these to be too intrusive for our needs. This version uses pthreads_win32 and winsock2 and is as designed to be as un-intrusive as is possible to the original unix code base. It is mostly #defines between unix sockets and winsock2 sockets. We also tried to follow the folder structuring of the C# runtime that has visual studio solutions to be consistent. More details are in the README as not all the functionality of the original unix code base is available to windows users. We will add the missing functionality, we just wanted to share what we had as for a Windows based client for us it is sufficient. The patch is based on the latest revision in SVN, we would love feedback and any code reviews. If there is any possibility of this being added to the main trunk then that would be much appreciated, however we don't expect that. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (THRIFT-1031) Patch to compile Thrift for vc++ 9.0 and 10.0
[ https://issues.apache.org/jira/browse/THRIFT-1031?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13012307#comment-13012307 ] Dragan Okiljevic commented on THRIFT-1031: -- Working on my project I needed to create Thrift clients and servers both in C++ and Java, and to have C++ interoperability on Windows and *NIX platforms. I found a great deal of help in this patch by Mr. Dickson's and I extended it with server functionality. The result is published as THRIFT-1123. I express my gratitude to Mr. Dickson and I am looking forward for any comments. Patch to compile Thrift for vc++ 9.0 and 10.0 - Key: THRIFT-1031 URL: https://issues.apache.org/jira/browse/THRIFT-1031 Project: Thrift Issue Type: Improvement Components: C++ - Library Environment: Windows XP 32bit, vc++ 9.0, 10.0 Reporter: James Dickson Priority: Trivial Fix For: 0.7 Attachments: thrift_msvc.patch At our company we need clients running on Windows being able to connect to our linux servers running hypertable. The attached patch enables the parts needed by Hypertable to be compiled on Windows using either the VC++ 9.0 or 10.0 compilers. Having read previous posts about ports using boost::asio we found these to be too intrusive for our needs. This version uses pthreads_win32 and winsock2 and is as designed to be as un-intrusive as is possible to the original unix code base. It is mostly #defines between unix sockets and winsock2 sockets. We also tried to follow the folder structuring of the C# runtime that has visual studio solutions to be consistent. More details are in the README as not all the functionality of the original unix code base is available to windows users. We will add the missing functionality, we just wanted to share what we had as for a Windows based client for us it is sufficient. The patch is based on the latest revision in SVN, we would love feedback and any code reviews. If there is any possibility of this being added to the main trunk then that would be much appreciated, however we don't expect that. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Commented: (THRIFT-1031) Patch to compile Thrift for vc++ 9.0 and 10.0
[ https://issues.apache.org/jira/browse/THRIFT-1031?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12997351#comment-12997351 ] James Dickson commented on THRIFT-1031: --- Thank you for the feedback, it is greatly appreciated. I will look into making those changes and try to get a new patch submitted as soon as possible. Patch to compile Thrift for vc++ 9.0 and 10.0 - Key: THRIFT-1031 URL: https://issues.apache.org/jira/browse/THRIFT-1031 Project: Thrift Issue Type: Improvement Components: C++ - Library Environment: Windows XP 32bit, vc++ 9.0, 10.0 Reporter: James Dickson Priority: Trivial Fix For: 0.7 Attachments: thrift_msvc.patch At our company we need clients running on Windows being able to connect to our linux servers running hypertable. The attached patch enables the parts needed by Hypertable to be compiled on Windows using either the VC++ 9.0 or 10.0 compilers. Having read previous posts about ports using boost::asio we found these to be too intrusive for our needs. This version uses pthreads_win32 and winsock2 and is as designed to be as un-intrusive as is possible to the original unix code base. It is mostly #defines between unix sockets and winsock2 sockets. We also tried to follow the folder structuring of the C# runtime that has visual studio solutions to be consistent. More details are in the README as not all the functionality of the original unix code base is available to windows users. We will add the missing functionality, we just wanted to share what we had as for a Windows based client for us it is sufficient. The patch is based on the latest revision in SVN, we would love feedback and any code reviews. If there is any possibility of this being added to the main trunk then that would be much appreciated, however we don't expect that. -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira