compatible binary files MacOSX <-> MacOSX Server 1.2

  • Hi,

    i tried to use bash from MacOS X Server no MacOS X, build 4K78 and it works
    fine. Next step i tried to use an dynamic-library, compiled for macosx,
    written entirely in c, to use on macosx server with JNI access and it did
    not work. Could anyone explain me if there is an binary compatibility
    between MacOS X and MacOS X server 1.2 or not?

    Thanks in advance,

    david
  • On Tuesday, March 27, 2001, at 07:22 AM, David Teran wrote:

    > i tried to use bash from MacOS X Server no MacOS X, build 4K78 and it
    > works
    > fine. Next step i tried to use an dynamic-library, compiled for macosx,
    > written entirely in c, to use on macosx server with JNI access and it did
    > not work. Could anyone explain me if there is an binary compatibility
    > between MacOS X and MacOS X server 1.2 or not?

    Didn't notice that anyone answered your message, but the answer is
    complicated.  There is compatibility at the machine language since these
    are all PowerPC chips.  At the OS interface level, its still BSD, but I
    imagine that Mac OS X may have additional systems calls not supported on
    MOSXS.  But I would think programs should be forward compatible.

    The biggest difference, however, are the frameworks and dynamic libraries.
      A lot has changed, reorganized, renamed, etc. in X GM, so a program
    moved from Server to X GM may fail just because a dependent framework was
    moved.  I've had to deal with certain frameworks in Server and Beta that
    were changed to dynamic libraries in X GM.

    One thing that will be noticed is that the System framework now exists as
    both a dynamic library and a framework.  So code complied previously using
    the framework should work on X GM.  However, code complied on GM, if it
    links in the dynamic library, will now fail on previous systems that don't
    have the dynamic library.

    One way to check an old program is to run "otool -L" on that program and
    then check if the dynamic libraries and/or frameworks exist on X GM.

    One other thing that I have not personally seen, but is possible, is that
    dynamic libraries and frameworks use versioning, with major and minor
    version numbers.  A minor version change should be backward compatible,
    but a major version change is not.  So if a dynamic library or framework
    has a major version change in X GM, the linker would complain (as I
    understand it).
    --------------------------------------------------------------------------
    Edward Moy
    Apple Computer, Inc.
    <emoy...>

    (This message is from me as a reader of this list, and not a statement
    from Apple.)
  • Am Donnerstag, 29. März 2001 um 21:33 schrieb Edward Moy:

    > On Tuesday, March 27, 2001, at 07:22 AM, David Teran wrote:
    >
    >> i tried to use bash from MacOS X Server no MacOS X, build 4K78 and it
    >> works
    >> fine. Next step i tried to use an dynamic-library, compiled for macosx,
    >> written entirely in c, to use on macosx server with JNI access and it
    >> did
    >> not work. Could anyone explain me if there is an binary compatibility
    >> between MacOS X and MacOS X server 1.2 or not?
    >
    > Didn't notice that anyone answered your message, but the answer is
    > complicated.  There is compatibility at the machine language since
    > these are all PowerPC chips.  At the OS interface level, its still BSD,
    > but I imagine that Mac OS X may have additional systems calls not
    > supported on MOSXS.  But I would think programs should be forward
    > compatible.
    >
    I have had the experience with one Mac OS X Server C library, that some
    math routines (probably the long long stuff) didn't link. (MacOSXServer
    library -> MacOSX Application)

    Nat!
  • Hi,

    thanks to NAT! and Edward!

    i think now that the only way to get it work is to compile it on MacOS X
    Server 1.2 again, i hope it will not be a big deal and i think that
    adjusting some makefiles will be all i have to do.

    David

    on 29.03.2001 22:33 Uhr, Nat! at <nat...> wrote:

    >
    > Am Donnerstag, 29. März 2001 um 21:33 schrieb Edward Moy:
    >
    >> On Tuesday, March 27, 2001, at 07:22 AM, David Teran wrote:
    >>
    >>> i tried to use bash from MacOS X Server no MacOS X, build 4K78 and it
    >>> works
    >>> fine. Next step i tried to use an dynamic-library, compiled for macosx,
    >>> written entirely in c, to use on macosx server with JNI access and it
    >>> did
    >>> not work. Could anyone explain me if there is an binary compatibility
    >>> between MacOS X and MacOS X server 1.2 or not?
    >>
    >> Didn't notice that anyone answered your message, but the answer is
    >> complicated.  There is compatibility at the machine language since
    >> these are all PowerPC chips.  At the OS interface level, its still BSD,
    >> but I imagine that Mac OS X may have additional systems calls not
    >> supported on MOSXS.  But I would think programs should be forward
    >> compatible.
    >>
    > I have had the experience with one Mac OS X Server C library, that some
    > math routines (probably the long long stuff) didn't link. (MacOSXServer
    > library -> MacOSX Application)
    >
    > Nat!
    > _______________________________________________
    > MacOSX-dev mailing list
    > <MacOSX-dev...>
    > http://www.omnigroup.com/mailman/listinfo/macosx-dev
    >
    >