Opened 14 years ago

Closed 14 years ago

#25469 closed update (fixed)

tbb 3.0 has been released

Reported by: josephsacco Owned by: mnick@…
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc: kyle.tarplee@…, stromnov (Andrey Stromnov)
Port: tbb

Description

The current version of devel/tbb is 2.2, released 20090809. Version 3.0 is the current stable version released 20100406. Version 3.0 builds on a number of different architectures [See the build directory] including MAC ppc32 and ppc64.

I built version 3.0 on a dual 7448 G4 PPC [OS X 10.5.8] using Apple's gcc-4.2 and the default build system that comes with the tar ball. Version 3.0 will also build using Apple's gcc-4.0.1 All of the tests ran/passed, albeit slowly... :-)

FWIW... OpenCV-2.1.0 will build using TBB rather than openMP if available. [See the Change Log for OpenCV-2.1.0]

-Joseph

Attachments (1)

Portfile.tbb-3.0 (3.1 KB) - added by josephsacco 14 years ago.
Portfile for building tbb-3.0

Download all attachments as: .zip

Change History (10)

comment:1 Changed 14 years ago by jmroot (Joshua Root)

Cc: mnick@… removed
Keywords: tbb removed
Owner: changed from macports-tickets@… to mnick@…
Port: tbb added; devel/tbb removed
Version: 1.9.1

Changed 14 years ago by josephsacco

Attachment: Portfile.tbb-3.0 added

Portfile for building tbb-3.0

comment:2 Changed 14 years ago by josephsacco

I have uploaded a revised Portfile that will successfully build tbb-3.0 on a G4 PowerMac. I suspect it will also work on other platforms, but that remains to be tested.

Some thoughts...

  • The build uses whatever default Apple g++ and gcc it finds in /usr/bin. It might be worthwhile offer variants that allow tbb to be built with versions of the GNU compiler(s) installed in the macports tree.
  • The examples were configured to build within the build tree. It takes some minor hacking to build the examples elsewhere. I am not sure it is worth adding enough scripting foo to the Portfile to fix this. If a user is interested in building these examples, learning to set the right include and library paths is a useful exercise left to the user... :-)

-Joseph

comment:3 Changed 14 years ago by josephsacco

tbb-3.0 builds and runs on a MacBook Pro 2.8GHz Core Duo running OS X 10.6.4.

==> Time to update?

-Joseph

comment:4 Changed 14 years ago by kyle.tarplee@…

Cc: kyle.tarplee@… added

Cc Me!

comment:5 Changed 14 years ago by stromnov (Andrey Stromnov)

Joseph, please review earlier patch from #25208. I want to commit merged variant of tbb patch, cause'of maintainer timeout.

comment:6 Changed 14 years ago by stromnov (Andrey Stromnov)

Cc: stromnov@… added

Cc Me!

comment:7 in reply to:  5 ; Changed 14 years ago by josephsacco

Replying to stromnov@…:

Joseph, please review earlier patch from #25208. I want to commit merged variant of tbb patch, cause'of maintainer timeout.

The Portfile generated by the patches in #25208 does not work on a PPC because of the lack of an appropriate build_arch. Modifying the if-statement logic to include PPCs works:

          ...
if {${build_arch} eq "i386"} {
    set arch_flag ia32
} elseif {${build_arch} eq "x86_64"} {
    set arch_flag intel64
} elseif {${build_arch} eq "ppc"} {
    set arch_flag ppc
} elseif {${build_arch} eq "ppc64"} {
    set arch_flag ppc64
}
               ...

I will review the other patches today and report back my findings.

-Joseph

comment:8 in reply to:  7 Changed 14 years ago by josephsacco

Replying to drjesacco@…:

I have looked over the proposed patches and compared their effect to the effect of the Portfile patch I submitted three months ago. I do not see the benefit of the new patches nor do I see any harm provided the Portfile is altered to support PPCs. Your call...

FWIW... Some of the tests fail on both a 32 bit PPC and x86_64 platform irrespective of which patch set is used.

-Joseph

comment:9 Changed 14 years ago by stromnov (Andrey Stromnov)

Resolution: fixed
Status: newclosed

Committed in r71975.

JFYI: +universal variant doesn't works - libs created only for x64

Note: See TracTickets for help on using tickets.