You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@avro.apache.org by "Thiruvalluvan M. G. (JIRA)" <ji...@apache.org> on 2010/11/22 13:57:14 UTC

[jira] Created: (AVRO-700) Change C++ build system to C++

Change C++ build system to C++
------------------------------

                 Key: AVRO-700
                 URL: https://issues.apache.org/jira/browse/AVRO-700
             Project: Avro
          Issue Type: Improvement
          Components: c++
    Affects Versions: 1.5.0
            Reporter: Thiruvalluvan M. G.
            Assignee: Thiruvalluvan M. G.
             Fix For: 1.5.0


If we move from the current automake to CMake, build becomes portable across multiple platforms. Prior to this patch, Avro C++ was building on Cygwin but was crashing. I've tested this on Ubuntu 10.04 and Cygwin.
There are problems making it work with Visual Studio 2008 Express, not because of CMake, but because the current build procedure needs Flex, Bison and python. Visual Studio seems to have trouble with these three.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (AVRO-700) Change C++ build system to C++

Posted by "Doug Cutting (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AVRO-700?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12934620#action_12934620 ] 

Doug Cutting commented on AVRO-700:
-----------------------------------

The top-level BUILD.txt should be updated to note cmake as a dependency.

Once I've installed cmake, running './build.sh compile' on Ubuntu 10.10 gives me:

{code}
CMake Error at CMakeLists.txt:83 (install):
  install TARGETS given no LIBRARY DESTINATION for shared library target
  "avrocpp".
{code}

Also, after running this there are a bunch of CMake* files.  Should apply-patch.sh add these to svn's ignore list for the directory?

> Change C++ build system to C++
> ------------------------------
>
>                 Key: AVRO-700
>                 URL: https://issues.apache.org/jira/browse/AVRO-700
>             Project: Avro
>          Issue Type: Improvement
>          Components: c++
>    Affects Versions: 1.5.0
>            Reporter: Thiruvalluvan M. G.
>            Assignee: Thiruvalluvan M. G.
>             Fix For: 1.5.0
>
>         Attachments: apply-patch.sh, AVRO-700.patch
>
>
> If we move from the current automake to CMake, build becomes portable across multiple platforms. Prior to this patch, Avro C++ was building on Cygwin but was crashing. I've tested this on Ubuntu 10.04 and Cygwin.
> There are problems making it work with Visual Studio 2008 Express, not because of CMake, but because the current build procedure needs Flex, Bison and python. Visual Studio seems to have trouble with these three.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (AVRO-700) Change C++ build system to C++

Posted by "Thiruvalluvan M. G. (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/AVRO-700?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Thiruvalluvan M. G. updated AVRO-700:
-------------------------------------

    Attachment: ignored_files
                apply-patch.sh
                AVRO-700.patch

A much cleaner version all files produced during make are put into build directory leaving lang/c++ clean.

Please download ignored_files, apply_patch.sh and AVRO-700.patch into the top level Avro source directory. From within that directory, issue:

sh ./apply_patch.sh
patch -p0 < AVRO-700.patch

> Change C++ build system to C++
> ------------------------------
>
>                 Key: AVRO-700
>                 URL: https://issues.apache.org/jira/browse/AVRO-700
>             Project: Avro
>          Issue Type: Improvement
>          Components: c++
>    Affects Versions: 1.5.0
>            Reporter: Thiruvalluvan M. G.
>            Assignee: Thiruvalluvan M. G.
>             Fix For: 1.5.0
>
>         Attachments: apply-patch.sh, apply-patch.sh, AVRO-700.patch, AVRO-700.patch, ignored_files
>
>
> If we move from the current automake to CMake, build becomes portable across multiple platforms. Prior to this patch, Avro C++ was building on Cygwin but was crashing. I've tested this on Ubuntu 10.04 and Cygwin.
> There are problems making it work with Visual Studio 2008 Express, not because of CMake, but because the current build procedure needs Flex, Bison and python. Visual Studio seems to have trouble with these three.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (AVRO-700) Change C++ build system to CMake

Posted by "Thiruvalluvan M. G. (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/AVRO-700?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Thiruvalluvan M. G. updated AVRO-700:
-------------------------------------

    Attachment:     (was: AVRO-700.patch)

> Change C++ build system to CMake
> --------------------------------
>
>                 Key: AVRO-700
>                 URL: https://issues.apache.org/jira/browse/AVRO-700
>             Project: Avro
>          Issue Type: Improvement
>          Components: c++
>    Affects Versions: 1.5.0
>            Reporter: Thiruvalluvan M. G.
>            Assignee: Thiruvalluvan M. G.
>             Fix For: 1.5.0
>
>         Attachments: apply-patch.sh, apply-patch.sh, AVRO-700.patch, AVRO-700.patch, ignored_files
>
>
> If we move from the current automake to CMake, build becomes portable across multiple platforms. Prior to this patch, Avro C++ was building on Cygwin but was crashing. I've tested this on Ubuntu 10.04 and Cygwin.
> There are problems making it work with Visual Studio 2008 Express, not because of CMake, but because the current build procedure needs Flex, Bison and python. Visual Studio seems to have trouble with these three.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (AVRO-700) Change C++ build system to CMake

Posted by "Thiruvalluvan M. G. (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/AVRO-700?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Thiruvalluvan M. G. updated AVRO-700:
-------------------------------------

    Attachment: AVRO-700.patch

Doug,

I'm sorry it took so many cycles to get this trough. Hope this is the last. Thanks for your patience.

CoecTests and StreamTests were leaked from AVRO-711. Removed them.

Now that tgz file is created both under build and dist.

> Change C++ build system to CMake
> --------------------------------
>
>                 Key: AVRO-700
>                 URL: https://issues.apache.org/jira/browse/AVRO-700
>             Project: Avro
>          Issue Type: Improvement
>          Components: c++
>    Affects Versions: 1.5.0
>            Reporter: Thiruvalluvan M. G.
>            Assignee: Thiruvalluvan M. G.
>             Fix For: 1.5.0
>
>         Attachments: apply-patch.sh, apply-patch.sh, AVRO-700.patch, AVRO-700.patch, AVRO-700.patch, AVRO-700.patch, ignored_files
>
>
> If we move from the current automake to CMake, build becomes portable across multiple platforms. Prior to this patch, Avro C++ was building on Cygwin but was crashing. I've tested this on Ubuntu 10.04 and Cygwin.
> There are problems making it work with Visual Studio 2008 Express, not because of CMake, but because the current build procedure needs Flex, Bison and python. Visual Studio seems to have trouble with these three.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (AVRO-700) Change C++ build system to C++

Posted by "Thiruvalluvan M. G. (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/AVRO-700?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Thiruvalluvan M. G. updated AVRO-700:
-------------------------------------

    Attachment: apply-patch.sh
                AVRO-700.patch

To apply the patch, from top level source directory "patch -p0 < AVRO-700.patch" and then "sh ./apply-patch.sh"

> Change C++ build system to C++
> ------------------------------
>
>                 Key: AVRO-700
>                 URL: https://issues.apache.org/jira/browse/AVRO-700
>             Project: Avro
>          Issue Type: Improvement
>          Components: c++
>    Affects Versions: 1.5.0
>            Reporter: Thiruvalluvan M. G.
>            Assignee: Thiruvalluvan M. G.
>             Fix For: 1.5.0
>
>         Attachments: apply-patch.sh, AVRO-700.patch
>
>
> If we move from the current automake to CMake, build becomes portable across multiple platforms. Prior to this patch, Avro C++ was building on Cygwin but was crashing. I've tested this on Ubuntu 10.04 and Cygwin.
> There are problems making it work with Visual Studio 2008 Express, not because of CMake, but because the current build procedure needs Flex, Bison and python. Visual Studio seems to have trouble with these three.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (AVRO-700) Change C++ build system to CMake

Posted by "Thiruvalluvan M. G. (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/AVRO-700?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Thiruvalluvan M. G. updated AVRO-700:
-------------------------------------

    Attachment: AVRO-700.patch

This patch addresses both the issues Doug reported.

> Change C++ build system to CMake
> --------------------------------
>
>                 Key: AVRO-700
>                 URL: https://issues.apache.org/jira/browse/AVRO-700
>             Project: Avro
>          Issue Type: Improvement
>          Components: c++
>    Affects Versions: 1.5.0
>            Reporter: Thiruvalluvan M. G.
>            Assignee: Thiruvalluvan M. G.
>             Fix For: 1.5.0
>
>         Attachments: apply-patch.sh, apply-patch.sh, AVRO-700.patch, AVRO-700.patch, AVRO-700.patch, ignored_files
>
>
> If we move from the current automake to CMake, build becomes portable across multiple platforms. Prior to this patch, Avro C++ was building on Cygwin but was crashing. I've tested this on Ubuntu 10.04 and Cygwin.
> There are problems making it work with Visual Studio 2008 Express, not because of CMake, but because the current build procedure needs Flex, Bison and python. Visual Studio seems to have trouble with these three.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (AVRO-700) Change C++ build system to CMake

Posted by "Thiruvalluvan M. G. (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/AVRO-700?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Thiruvalluvan M. G. updated AVRO-700:
-------------------------------------

    Summary: Change C++ build system to CMake  (was: Change C++ build system to C++)

> Change C++ build system to CMake
> --------------------------------
>
>                 Key: AVRO-700
>                 URL: https://issues.apache.org/jira/browse/AVRO-700
>             Project: Avro
>          Issue Type: Improvement
>          Components: c++
>    Affects Versions: 1.5.0
>            Reporter: Thiruvalluvan M. G.
>            Assignee: Thiruvalluvan M. G.
>             Fix For: 1.5.0
>
>         Attachments: apply-patch.sh, apply-patch.sh, AVRO-700.patch, AVRO-700.patch, ignored_files
>
>
> If we move from the current automake to CMake, build becomes portable across multiple platforms. Prior to this patch, Avro C++ was building on Cygwin but was crashing. I've tested this on Ubuntu 10.04 and Cygwin.
> There are problems making it work with Visual Studio 2008 Express, not because of CMake, but because the current build procedure needs Flex, Bison and python. Visual Studio seems to have trouble with these three.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (AVRO-700) Change C++ build system to CMake

Posted by "Doug Cutting (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AVRO-700?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12969552#action_12969552 ] 

Doug Cutting commented on AVRO-700:
-----------------------------------

With this patch, C++ builds and passes tests for me on Ubuntu 10.10.  However 'lang/c++/build.sh dist' does not copy the final artifact to the top-level dist/cpp directory where the release artifacts are meant to be collected, nor does it build the C++ API documentation and copy it to the top-level build/avro-doc-$VERSION/api/cpp/ as was done before.

> Change C++ build system to CMake
> --------------------------------
>
>                 Key: AVRO-700
>                 URL: https://issues.apache.org/jira/browse/AVRO-700
>             Project: Avro
>          Issue Type: Improvement
>          Components: c++
>    Affects Versions: 1.5.0
>            Reporter: Thiruvalluvan M. G.
>            Assignee: Thiruvalluvan M. G.
>             Fix For: 1.5.0
>
>         Attachments: apply-patch.sh, apply-patch.sh, AVRO-700.patch, AVRO-700.patch, ignored_files
>
>
> If we move from the current automake to CMake, build becomes portable across multiple platforms. Prior to this patch, Avro C++ was building on Cygwin but was crashing. I've tested this on Ubuntu 10.04 and Cygwin.
> There are problems making it work with Visual Studio 2008 Express, not because of CMake, but because the current build procedure needs Flex, Bison and python. Visual Studio seems to have trouble with these three.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (AVRO-700) Change C++ build system to C++

Posted by "Scott Banachowski (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AVRO-700?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12965477#action_12965477 ] 

Scott Banachowski commented on AVRO-700:
----------------------------------------

Regarding the use of flex and bison, since these generate C files, we could probably just check in the generated files... then on platforms without flex/bison, they can build without needing to regenerate them.  Only people who need to modify the lexer code need to run flex/bison.

The python script is a code generator to build the serialization code from a schema, and it's not strictly needed to build the library.  It's used in unit tests since the output code exercises a lot of the functionality.








> Change C++ build system to C++
> ------------------------------
>
>                 Key: AVRO-700
>                 URL: https://issues.apache.org/jira/browse/AVRO-700
>             Project: Avro
>          Issue Type: Improvement
>          Components: c++
>    Affects Versions: 1.5.0
>            Reporter: Thiruvalluvan M. G.
>            Assignee: Thiruvalluvan M. G.
>             Fix For: 1.5.0
>
>         Attachments: apply-patch.sh, AVRO-700.patch
>
>
> If we move from the current automake to CMake, build becomes portable across multiple platforms. Prior to this patch, Avro C++ was building on Cygwin but was crashing. I've tested this on Ubuntu 10.04 and Cygwin.
> There are problems making it work with Visual Studio 2008 Express, not because of CMake, but because the current build procedure needs Flex, Bison and python. Visual Studio seems to have trouble with these three.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (AVRO-700) Change C++ build system to CMake

Posted by "Doug Cutting (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AVRO-700?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12987736#action_12987736 ] 

Doug Cutting commented on AVRO-700:
-----------------------------------

A few minor nits:
 - s/then/else/ in the VERSION section of lang/c++/build.sh
 - update the top-level BUILD.txt, listing cmake as a requirement?

> Change C++ build system to CMake
> --------------------------------
>
>                 Key: AVRO-700
>                 URL: https://issues.apache.org/jira/browse/AVRO-700
>             Project: Avro
>          Issue Type: Improvement
>          Components: c++
>    Affects Versions: 1.5.0
>            Reporter: Thiruvalluvan M. G.
>            Assignee: Thiruvalluvan M. G.
>             Fix For: 1.5.0
>
>         Attachments: apply-patch.sh, apply-patch.sh, AVRO-700.patch, AVRO-700.patch, AVRO-700.patch, AVRO-700.patch, ignored_files
>
>
> If we move from the current automake to CMake, build becomes portable across multiple platforms. Prior to this patch, Avro C++ was building on Cygwin but was crashing. I've tested this on Ubuntu 10.04 and Cygwin.
> There are problems making it work with Visual Studio 2008 Express, not because of CMake, but because the current build procedure needs Flex, Bison and python. Visual Studio seems to have trouble with these three.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Resolved: (AVRO-700) Change C++ build system to CMake

Posted by "Thiruvalluvan M. G. (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/AVRO-700?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Thiruvalluvan M. G. resolved AVRO-700.
--------------------------------------

    Resolution: Fixed

Took care both the minor problems Doug noted and committed revision 1065352.

> Change C++ build system to CMake
> --------------------------------
>
>                 Key: AVRO-700
>                 URL: https://issues.apache.org/jira/browse/AVRO-700
>             Project: Avro
>          Issue Type: Improvement
>          Components: c++
>    Affects Versions: 1.5.0
>            Reporter: Thiruvalluvan M. G.
>            Assignee: Thiruvalluvan M. G.
>             Fix For: 1.5.0
>
>         Attachments: apply-patch.sh, apply-patch.sh, AVRO-700.patch, AVRO-700.patch, AVRO-700.patch, AVRO-700.patch, ignored_files
>
>
> If we move from the current automake to CMake, build becomes portable across multiple platforms. Prior to this patch, Avro C++ was building on Cygwin but was crashing. I've tested this on Ubuntu 10.04 and Cygwin.
> There are problems making it work with Visual Studio 2008 Express, not because of CMake, but because the current build procedure needs Flex, Bison and python. Visual Studio seems to have trouble with these three.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (AVRO-700) Change C++ build system to CMake

Posted by "Doug Cutting (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AVRO-700?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12984893#action_12984893 ] 

Doug Cutting commented on AVRO-700:
-----------------------------------

A few issues seem to remain:
- 'cd lang/c++; ./build.sh test' fails for me, as ./build/CodecTests does not exist
- 'cd lang/c++; ./build.sh dist' does not create a c++ tarball in build/cpp.  this should create a directory like http://www.apache.org/dist//avro/stable/cpp/.  the documentation does appear to be placed correctly.



> Change C++ build system to CMake
> --------------------------------
>
>                 Key: AVRO-700
>                 URL: https://issues.apache.org/jira/browse/AVRO-700
>             Project: Avro
>          Issue Type: Improvement
>          Components: c++
>    Affects Versions: 1.5.0
>            Reporter: Thiruvalluvan M. G.
>            Assignee: Thiruvalluvan M. G.
>             Fix For: 1.5.0
>
>         Attachments: apply-patch.sh, apply-patch.sh, AVRO-700.patch, AVRO-700.patch, AVRO-700.patch, ignored_files
>
>
> If we move from the current automake to CMake, build becomes portable across multiple platforms. Prior to this patch, Avro C++ was building on Cygwin but was crashing. I've tested this on Ubuntu 10.04 and Cygwin.
> There are problems making it work with Visual Studio 2008 Express, not because of CMake, but because the current build procedure needs Flex, Bison and python. Visual Studio seems to have trouble with these three.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (AVRO-700) Change C++ build system to CMake

Posted by "Thiruvalluvan M. G. (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/AVRO-700?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Thiruvalluvan M. G. updated AVRO-700:
-------------------------------------

    Attachment: AVRO-700.patch

The test paths were wrong in build.sh

> Change C++ build system to CMake
> --------------------------------
>
>                 Key: AVRO-700
>                 URL: https://issues.apache.org/jira/browse/AVRO-700
>             Project: Avro
>          Issue Type: Improvement
>          Components: c++
>    Affects Versions: 1.5.0
>            Reporter: Thiruvalluvan M. G.
>            Assignee: Thiruvalluvan M. G.
>             Fix For: 1.5.0
>
>         Attachments: apply-patch.sh, apply-patch.sh, AVRO-700.patch, AVRO-700.patch, ignored_files
>
>
> If we move from the current automake to CMake, build becomes portable across multiple platforms. Prior to this patch, Avro C++ was building on Cygwin but was crashing. I've tested this on Ubuntu 10.04 and Cygwin.
> There are problems making it work with Visual Studio 2008 Express, not because of CMake, but because the current build procedure needs Flex, Bison and python. Visual Studio seems to have trouble with these three.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.