Opened 10 years ago

Closed 22 months ago

#12400 closed defect (invalid)

Get Python to build all needed stuff on FreeBSD

Reported by: kcrisman Owned by: pjeremy
Priority: major Milestone: sage-duplicate/invalid/wontfix
Component: porting: BSD Keywords:
Cc: pjeremy, jpflori, dimpase Merged in:
Authors: Stephen Montgomery-Smith Reviewers:
Report Upstream: N/A Work issues:
Branch: Commit:
Dependencies: Stopgaps:

Status badges

Description (last modified by chapoton)

On newer versions of FreeBSD, apparently there are some slight changes we need. This is as reported by Stephen Montgomery-Smith on sage-devel, however with Python 2.6, not 2.7 as now used in Sage.

--- python-2.6.4.p13/src/ 2012-01-21 21:42:43.000000000 +0000
+++ python-2.6.4.p13/src/ 2012-01-21 21:45:11.000000000 +0000
@@ -1273,16 +1273,24 @@
             libraries = []
-        elif platform in ('freebsd4', 'freebsd5', 'freebsd6', 'freebsd7', 'freebsd8'):
+        elif platform in ('freebsd4', 'freebsd5', 'freebsd6'):
             # FreeBSD's P1003.1b semaphore support is very experimental
             # and has many known problems. (as of June 2008)
-            macros = dict(                  # FreeBSD
+            macros = dict(                  # FreeBSD 4-6
             libraries = []
+        elif platform in ('freebsd7', 'freebsd8', 'freebsd9', 'freebsd10'):
+            macros = dict(                  # FreeBSD 7+
+                HAVE_SEM_OPEN=1,
+                HAVE_SEM_TIMEDWAIT=1,
+                HAVE_FD_TRANSFER=1,
+               )
+            libraries = []
         elif platform.startswith('openbsd'):
             macros = dict(                  # OpenBSD
                 HAVE_SEM_OPEN=0,            # Not implemented

Change History (25)

comment:1 Changed 10 years ago by stephen

With sage 5.0.beta12, there are now no problems building python under FreeBSD. This ticket can be closed.

Changed 10 years ago by stephen

comment:2 Changed 10 years ago by stephen

It turns out that patches are necessary to python-2.7. Otherwise

sage -t  -force_lib "devel/sage/sage/parallel/"

fails. All of the needed patches may be taken more or less directly from the FreeBSD port of python-2.7 I have added the necessary patches to this trac ticket.

comment:3 Changed 10 years ago by kcrisman

  • Authors set to Stephen Montgomery-Smith

Great, so we just need to make an spkg for this.

comment:4 Changed 9 years ago by jpflori

I'm currently testing 5.9.beta3 with Python 2.7.3 on different FreeBSd releases, I'll report here later when I get to the point of testing

comment:5 Changed 9 years ago by jpflori

(Note that I had no problems building Python and running it.)

comment:6 Changed 9 years ago by jpflori

  • Cc jpflori added

comment:7 Changed 9 years ago by jpflori

These patches are indeed still needed. Let's wait for 2.7.5 to get in at #14600 to include them.

Changed 9 years ago by stephen

comment:8 Changed 9 years ago by stephen

I have upgraded the patches a little, to include all the patches from the python27 port in FreeBSD. The extra stuff isn't needed to make python on sage build and pass all the internal tests. But maybe it fixes some other problems for sage python on FreeBSD that we don't know about. (Looking at the file sizes, I think it is only the patch that is different.)

comment:9 Changed 9 years ago by jdemeyer

  • Milestone changed from sage-5.11 to sage-5.12

comment:10 Changed 8 years ago by vbraun_spam

  • Milestone changed from sage-6.1 to sage-6.2

comment:11 Changed 8 years ago by vbraun_spam

  • Milestone changed from sage-6.2 to sage-6.3

comment:12 Changed 8 years ago by vbraun_spam

  • Milestone changed from sage-6.3 to sage-6.4

comment:13 Changed 7 years ago by chapoton

  • Description modified (diff)

comment:14 Changed 23 months ago by mkoeppe

  • Cc dimpase added
  • Milestone changed from sage-6.4 to sage-duplicate/invalid/wontfix
  • Status changed from new to needs_review

Outdated spkg or build system ticket, should be closed

comment:15 Changed 22 months ago by chapoton

  • Resolution set to invalid
  • Status changed from needs_review to closed
Note: See TracTickets for help on using tickets.