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
> 

Reply via email to