Binary compatibility is generally an ability of two hardware/software systems to run the same binary code without the need to recompile.
Questions tagged [binary-compatibility]
184 questions
                    
                    261
                    
            votes
                
                21 answers
            
        What causes java.lang.IncompatibleClassChangeError?
I'm packaging a Java library as a JAR, and it's throwing many java.lang.IncompatibleClassChangeErrors when I try to invoke methods from it. These errors seem to appear at random. What kinds of problems could be causing this error?
         
    
    
        Zombies
        
- 25,039
- 43
- 140
- 225
                    91
                    
            votes
                
                3 answers
            
        __cdecl or __stdcall on Windows?
I'm currently developing a C++ library for Windows which will be distributed as a DLL. My goal is to maximize binary interoperability; more precisely, the functions in my DLL must be usable from code compiled with multiple versions of MSVC++ and…
         
    
    
        Etienne Dechamps
        
- 24,037
- 4
- 32
- 31
                    77
                    
            votes
                
                8 answers
            
        Is JDK "upward" or "backward" compatible?
Backward binary compatibility (or downward compatibility) - an ability of clients built with an old version of library API to run on a new one (wiki).
Upward binary compatibility (or forward compatibility) - an ability of clients built with a new…
         
    
    
        linuxbuild
        
- 15,843
- 6
- 60
- 87
                    39
                    
            votes
                
                5 answers
            
        How to design a C++ API for binary compatible extensibility
I am designing an API for a C++ library which will be distributed in a dll / shared object. The library contains polymorhic classes with virtual functions. I am concerned that if I expose these virtual functions on the DLL API, I cut myself from the…
         
    
    
        shojtsy
        
- 1,710
- 3
- 17
- 24
                    34
                    
            votes
                
                3 answers
            
        How compatible are different versions of glibc?
Specifically:
Is it assured somehow that all versions of glibc 2.x are binary compatible?
If not, how can I run a binary (game) on my system which has been compiled for a different version? Can I install glibc in a different folder?
My specific…
         
    
    
        Aaron Digulla
        
- 321,842
- 108
- 597
- 820
                    29
                    
            votes
                
                3 answers
            
        Using Scala 2.12 with Spark 2.x
At the Spark 2.1 docs it's mentioned that 
Spark runs on Java 7+, Python 2.6+/3.4+ and R 3.1+. For the Scala API, Spark 2.1.0 uses Scala 2.11. You will need to use a compatible Scala version (2.11.x).
at the Scala 2.12 release news it's also…
         
    
    
        NetanelRabinowitz
        
- 1,534
- 2
- 14
- 26
                    25
                    
            votes
                
                10 answers
            
        Linux distribution binary compatibility
Any way to make a binary in a Linux distribution and run it on another distribution with same architecture? Or I should compile and build it on different distributions?
Is there any compatibility between Redhat, Debian based distributions for binary…
         
    
    
        Hosi
        
- 545
- 2
- 7
- 16
                    23
                    
            votes
                
                4 answers
            
        Good practices for writing C dynamic libraries [DSOs] (binary compatibility + memory management)
I have some experience writing C libraries but I've never read any formal documents describing good practices while writing such libraries. My question pertains around mainly 2 topics:
How to maintain binary compatibility? (I've heard of the pImpl…
         
    
    
        void_ptr
        
- 472
- 3
- 9
                    22
                    
            votes
                
                2 answers
            
        What would I lose by abandoning the standard EventHandler pattern in .NET?
There's a standard pattern for events in .NET - they use a delegate type that takes a plain object called sender and then the actual "payload" in a second parameter, which should be derived from EventArgs.
The rationale for the second parameter…
         
    
    
        Daniel Earwicker
        
- 114,894
- 38
- 205
- 284
                    21
                    
            votes
                
                3 answers
            
        Does adding a new dependency to a library, with compatible API changes, affect binary compatibility?
My question:
Does adding a new dependency to a library affect binary compatibility, as long as the library's external API is otherwise backwards compatible?
My situation:
My CBOR library contains classes for arbitrary-precision arithmetic (in the…
         
    
    
        Peter O.
        
- 32,158
- 14
- 82
- 96
                    21
                    
            votes
                
                3 answers
            
        Tool for backwards compatibility for the C#/.NET API?
I found this tool, http://sab39.netreach.com/Software/Japitools/JDK-Results/46/, which checks for backwards compatibility between different versions of APIs for Java using javadoc.
Is there an tool equivalent to this one for C#/.NET? 
Here is an…
         
    
    
        Ovidiu Buligan
        
- 2,784
- 1
- 28
- 37
                    21
                    
            votes
                
                6 answers
            
        Scala: binary incompatibility between releases
Why is Scala binary incompatible between different releases?
         
    
    
        Mohamed Bana
        
- 1,251
- 2
- 17
- 27
                    20
                    
            votes
                
                5 answers
            
        COM in the non-Windows world?
Hope this question isn't going to be too vague. Reading through the COM spec and Don Box's Essential COM book, there is plenty of talk of the "problems that COM solves" - and they all sound important, relevant and current.
So how are the problems…
         
    
    
        Maria Boghiu
        
- 483
- 3
- 9
                    19
                    
            votes
                
                6 answers
            
        How to identify a missing method (Binary Compatibility) in a JAR statically
I want to verify binary compatibility between 2 JARs. 
Following the suggestions in this answer I used jboss tattletale but it can find only missing classes.
How can I find if there are missing methods? Is it possible at all?
E.g.
"Depends - on"…
         
    
    
        Eran Medan
        
- 44,555
- 61
- 184
- 276
                    16
                    
            votes
                
                3 answers
            
        Retrofitting void methods to return its argument to facilitate fluency: breaking change?
"API design is like sex: make one mistake and support it for the rest of your life" (Josh Bloch on twitter)
There are many design mistakes in the Java library. Stack extends Vector (discussion), and we can't fix that without causing breakage. We…
         
    
    
        polygenelubricants
        
- 376,812
- 128
- 561
- 623