sagemath / sage

Main repository of SageMath
https://www.sagemath.org
Other
1.31k stars 449 forks source link

Singular won't compile with latest Xcode (5.1, build 5B130a) #15937

Closed jhpalmieri closed 10 years ago

jhpalmieri commented 10 years ago

Singular fails with the most recent version of Xcode (downloaded 12 March 2014), with the error

ld: symbol dyld_stub_binding_helper not found, normally in crt1.o/dylib1.o/bundle1.o for architecture x86_64
fatal error: libtool: internal link edit command failed

One fix is to remove the line

export MACOSX_DEPLOYMENT_TARGET=10.4

from spkg-install, and use the value of MACOSX_DEPLOYMENT_TARGET from sage-env. This needs testing on a variety of OS X machines.

CC: @kcrisman @jdemeyer @sagetrac-yomcat

Component: packages: standard

Author: John Palmieri

Branch/Commit: 6d6bfff

Reviewer: François Bissey, Karl-Dieter Crisman, Volker Braun

Issue created by migration from https://trac.sagemath.org/ticket/15937

jhpalmieri commented 10 years ago
comment:1

By the way, do I need to bump the package version number if I'm only changing spkg-install?

kiwifb commented 10 years ago
comment:3

Rest in Peace Tiger.... I'll test it on my mac later today (if I remember). I don't think rev-bumping is necessary. If anyone is upgrading from 6.1.1 they'll have to rebuild singular anyway because of the ntl upgrade.

kcrisman commented 10 years ago
comment:5

I wonder if one could just fake the "wrong" deployment target on Tiger and that would take care of it there... If this does indeed mean the end for 10.4, we will probably want to continue hosting the latest available version on the mirrors, like many programs do.

jhpalmieri commented 10 years ago
comment:6

When I implemented this change, first I deleted the line, but also added a line

echo "$MACOSX_DEPLOYMENT_TARGET"

On my machine, it told me the right version; this comes from the sage-env script. So this might still work on Tiger. The point is to not compile for OS X 10.4 when you're running OS X 10.8 or 10.9, for example. (I only have 10.8 and 10.9 machines available to me, so I can't test this.)

kiwifb commented 10 years ago
comment:7

I was jesting. Yes we should still be able to build on a Tiger machine - for now.

vbraun commented 10 years ago
comment:8

you need to bump the version to force a recompilation. No need to bump it if it fixes a problem building on a particular architecture as you wouldn't have been able to build that version on that computer previously.

Why do we set MACOSX_DEPLOYMENT_TARGET at all, isn't that only required for building portable binaries (i.e. if SAGE_FAT_BINARY=yes`)?

We don't have a 10.4 buildbot at this point (Jeroen's box doesn't have git).

jhpalmieri commented 10 years ago
comment:9

Replying to @vbraun:

Why do we set MACOSX_DEPLOYMENT_TARGET at all, isn't that only required for building portable binaries (i.e. if SAGE_FAT_BINARY=yes`)?

Good question, and I don't know the answer. I seem to recall problems building Python without doing this. I don't know about Singular; I'm not even sure when this part of spkg-install first appeared.

By the way, the cliquer spkg-install file has a similar line (with 10.3 instead of 10.4), but until that starts causing problems, we should probably leave it alone.

kcrisman commented 10 years ago
comment:10

Why do we set MACOSX_DEPLOYMENT_TARGET at all, isn't that only required for building portable binaries (i.e. if SAGE_FAT_BINARY=yes`)?

I think that John is right about this, though I forget the details.

We don't have a 10.4 buildbot at this point (Jeroen's box doesn't have git).

Oh, I didn't know that. I can try to rev up my machine again to do tests of at least the releases. Is git a prereq or does Sage include git like it included Mercurial? (I guess not?)

kiwifb commented 10 years ago
comment:11

Does include git but have to get to the sage shell first.

I guess an interesting question is: is there anymore Tiger install apart from your old machine?

kcrisman commented 10 years ago
comment:12

I guess an interesting question is: is there anymore Tiger install apart from your old machine?

Sure, but probably few. Mac users are way more upgrade-friendly than Windows, I would think.

Though: here's someone, and amazingly TenFourFox is still going strong!

kiwifb commented 10 years ago
comment:13

I am officially impressed.

kiwifb commented 10 years ago
comment:15

OK I have reproduced the problem on my maverick machine. Trying the fix now.

kiwifb commented 10 years ago
comment:16

Work for me with the fix here now we need to know if it will work with older xcode on older machine. I have a 10.5.8 that I can switch back on to experiment on Monday.

kcrisman commented 10 years ago
comment:17

Please do; I think that 10.5 definitely is still in some pipelines. I am going to try this on my computer but it will take some time to get going with it because I haven't tried to use git, or even compile Sage on it since 5.10.

vbraun commented 10 years ago
comment:18

Replying to @kcrisman:

We don't have a 10.4 buildbot at this point (Jeroen's box doesn't have git).

Is git a prereq or does Sage include git like it included Mercurial? (I guess not?)

The tarball includes git but the buildbot uses git directly to get the sources and changesets. So it is a requirement for running the buildbot slave.

kcrisman commented 10 years ago
comment:19

Please do; I think that 10.5 definitely is still in some pipelines. I am going to try this on my computer but it will take some time to get going with it because I haven't tried to use git, or even compile Sage on it since 5.10.

Since all I had to do was remove those two lines in a file already accessible in the tarball (I have to say, that new directory layout makes it easier to do that) I just changed that. I'm having some unrelated issues making (checksum issue for bzip2) but hopefully eventually that will be resolved.

kcrisman commented 10 years ago
comment:20

Ok, this fix works fine on my computer, though see #15942 for my other problem.

vbraun commented 10 years ago

Reviewer: Karl-Dieter Crisman, Volker Braun

kcrisman commented 10 years ago

Changed reviewer from Karl-Dieter Crisman, Volker Braun to François Bissey, Karl-Dieter Crisman, Volker Braun

vbraun commented 10 years ago

Changed branch from u/jhpalmieri/singular to 6d6bfff