Do we have any reliable tool to check for ABI breakage?
Le 03/07/2019 à 02:57, Sutou Kouhei a écrit : > Hi, > > We'll release 0.14.0 soon. Then we use "1.0.0-SNAPSHOT" at > master. If we use "1.0.0-SNAPSHOT", C++ build is failed: > > https://github.com/apache/arrow/blob/master/cpp/CMakeLists.txt#L47 > > message(FATAL_ERROR "Need to implement SO version generation for Arrow > 1.0+") > > So we need to consider how to generate SO version for 1.0.0 > as the first task for 1.0.0. > > See also https://issues.apache.org/jira/browse/ARROW-2522 > for the current SO versioning. > > > If we may break ABI compatibility each minor version up > release ("Y" is increased in "X.Y.Z"), we should include > minor version into SO major version (100, 101 and 102 in the > following examples): > > * 1.0.0 -> libarrow.100.0.0 > * 1.1.0 -> libarrow.101.0.0 > * 1.2.0 -> libarrow.102.0.0 > > If we don't break ABI compatibility each minor version up > release, we just use the same SO major version (100 in the > following examples) in 1.0.0: > > * 1.0.0 -> libarrow.100.0.0 > * 1.1.0 -> libarrow.100.1.0 > * 1.2.0 -> libarrow.100.2.0 > > > I choose 1XX as SO major version because we already use > 10-14 for SO major version. We should not use them in the > future to avoid confusion. So I choose 1XX in the above > examples. > > > Any thoughts? > > > Thanks, > -- > kou >