Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 06 Jul 1997 13:32:37 +0200
From:      Kent Boortz <kent@erlang.ericsson.se>
To:        tom@sdf.com
Cc:        kent@erlang.ericsson.se
Subject:   Re: Application os version compatibility?
Message-ID:  <199707061132.NAA29134@townsend.ericsson.se>
In-Reply-To: Your message of "Sat, 5 Jul 1997 20:17:24 -0700 (PDT)"
References:  <Pine.BSF.3.95q.970705200828.12420C-100000@misery.sdf.com>

next in thread | previous in thread | raw e-mail | index | archive | help

Thank you Tom, it is more clear to me know but I'm still a bit
confused.

>   The libc version is ONLY changed if the interface changes.  If the
> interface changes, some applications will not work.  Hence, the version
> number change.

Do you talk about "system calls" like read/write? Or the interface
from the library to the user, like fread/fwrite? 

>   Huh?  Statically linked applications ALWAYS work.

Could it be the case that a new system call is added from FreeBSD
X.X.1 to X.X.2 and for example a new libc.a implement fopen() with
this new call?  Then running even statically linked applications
compiled in X.X.2 running on X.X.1 will break, right? 

Do the behaviour of system calls *ever* change change in an 
incompatible way?

>  Statically link it, and it will work on any version, or
> dynamically link it to the oldest good release (probably 2.1.7), and 2.2
> users can install the 2.1 compat package (basically just a copy of
> libc.2.2).

This will solve the problem I describe above, good idea, thanks.
(even though I hate to install an old 2.1.7 on my system just
to be able to compile ;-)

>   It is foolish to make binary-only releases to support an unreleases
> os version.  

There will be other libraries than 'libc' in this application.
What I'm after is that if I compile and release a 2.2.2 version
and an unreleased 2.2.3 shows up that "there is a good chance" it will
work. No guarantee of cause, I may have to do a new release or
give instruction how to use a compatibility package or something.

The sad thing is that when the user starts the application and he 
get lots of warnings or it refuses to run he will blame me ;-)
or think the product is crap. It doesn't help if the release
note says 2.2.2, he runs 2.2.3 and expect it to work

I want a FreeBSD version of our free non-commercial version of the
product we develop (Erlang, a development system for concurrent and
distributed applications) and want FreeBSD look like a "good option"
to Solaris that is mostly used by our customers. Thats why I try to
understand how I make binary distributions the best way and how and
how well new releases are handled in this respect by the FreeBSD
group.

>   It really is quite simple.

For you maybe ;-)

Thank you for your reply,

/kgb



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199707061132.NAA29134>