Skip to content

Building binary packages for distribution

7 messages · Roy Mendelssohn - NOAA Federal, Simon Urbanek, Brian Ripley +1 more

#
I have hitherto used a Leopard system to build Mac binary packages for 
distribution, but that system has died and we only have Lion systems 
left (and the replacement hardware only runs Lion).  I'm only concerned 
with building i386/x86_64 packages.

We saw problems with packages built on Snow Leopard which would not run 
on Leopard, and the trick was to use -mmacosx-version-min=10.5 for 
compiling and linking.

Does anyone know for certain if that suffices?  And does setting the 
environment variable MACOSX_DEPLOYMENT_TARGET to 10.5 do the same thing? 
  (My man pages suggest so, but I don't trust Apple's documentation to 
be current.)

Brian Ripley
#
On Apr 13, 2012, at 8:36 AM, Prof Brian Ripley wrote:

            
I posted this on the FInk mailing list.   I received the following response from Alexander Hansen, who does a lot of the package upkeep at Fink. YMMV.

-Roy M.
**********************
"The contents of this message do not reflect any position of the U.S. Government or NOAA."
**********************
Roy Mendelssohn
Supervisory Operations Research Analyst
NOAA/NMFS
Environmental Research Division
Southwest Fisheries Science Center
1352 Lighthouse Avenue
Pacific Grove, CA 93950-2097

e-mail: Roy.Mendelssohn at noaa.gov (Note new e-mail address)
voice: (831)-648-9029
fax: (831)-648-8440
www: http://www.pfeg.noaa.gov/

"Old age and treachery will overcome youth and skill."
"From those who have been given much, much will be expected" 
"the arc of the moral universe is long, but it bends toward justice" -MLK Jr.
#
On Apr 13, 2012, at 11:36 AM, Prof Brian Ripley wrote:

            
It is only partially sufficient. The min version makes sure that the Mach-O output is 10.5-compatible, but it will still happily use Lion-only libraries when linking. You have to use 10.5 SDK (typically via -isysroot) in order to make sure the linked frameworks and libraries are actually compatible and present on Leopard.

I have at some point contemplated building the R releases and packages on SL with the 10.5 SDK, but it is simply too fragile. There are issues in details of dependencies, such as packages that use configuration scripts to determine flags (like gsl-config) -- you'd have to maintain a full system and worry about paths (linker/include paths may work with -isysroot re-direction but any other paths won't).

That said, it is possible to build R itself that way. I'd even argue that it's better to simply create pre-drivers for compilers that automatically add the corresponding -isysroot et al. and then exec the compiler rather than setting the flags fully.
AFAIK, yes, but it is equally insufficient. Apple has been warning about the env vars for a while that they may get rid of them, but I dont' think they did so far (there were more useful ones for managing sysroot which I think they got rid of by now).

Best,
Simon
#
Thanks, that is bad news.

I really don't want to ask our sysadmins to maintain a Leopard system 
for the very limited amount of package building we do, so we'll have to 
hope this suffices.
On 13/04/2012 18:05, Simon Urbanek wrote:

  
    
#
On Apr 13, 2012, at 1:34 PM, Prof Brian Ripley wrote:

            
There is a lot of bad new from Apple recently ;)
FWIW you can run Leopard in VirtualBox on Lion so if the building is limited, that may be something to think about.
Another alternative would be to use the RForge.net package building system (which essentially just requires to a URL to get the tar ball from).

Best,
Simon
#
Hi,

I will readily admit that I am naive in terms of some of the subtleties, but would running Leopard under Lion in a VM be a suitable possibility?

It would seem that with Lion, some of the licensing issues relative to running non-server versions of the older OSX distributions under a VM have changed, at least that it what is intimated by an article here for VMWare Fusion:

  http://www.macworld.com/article/1163755/vmware_fusion_update_lets_users_virtualize_leopard_snow_leopard.html

Not sure if that is helpful, but recalled seeing some discussions on this over the past few months or so.

Regards,

Marc Schwartz
On Apr 13, 2012, at 12:34 PM, Prof Brian Ripley wrote:

            
#
On Apr 13, 2012, at 12:48 PM, Marc Schwartz wrote:

            
<Snipped older content>

Just as a follow up and in the course of an offlist exchange with Prof. Ripley, I located some additional information on the issue of non-server versions of OSX running as guest OS's under Lion.

The Release Notes for VMWare's Fusion, version 4.1.1, include a "Resolved Issues" list (http://www.vmware.com/support/fusion4/doc/releasenotes_fusion_411.html#resolvedissues), which notes:

  Fusion 4.1.1 includes the Mac OS X Server check omitted from VMware Fusion 4.1.0.

So it would seem that the prior behavior described in the MacWorld article was either an error on the part of VMWare and/or Apple's corporate counsel made some phone calls.

I also posted a comment to the MacWorld article with the above information for the benefit of others who may, as I did, read the article and get the wrong impression of the current state of affairs.

So with that, based upon other research, each of the VM providers, VMWare, Parallels and VirtualBox, are limited to using the server versions of Leopard and Snow Leopard under Lion as a host.

Regards,

Marc