Opened 10 years ago

Closed 6 years ago

#44941 closed defect (fixed)

tbb @4.3-20140724: ‘struct malloc_introspection_t’ has no members named ‘enable_discharge_checking’ ‘disable_discharge_checking’ or ‘discharge’

Reported by: ryandesign (Ryan Carsten Schmidt) Owned by: sean@…
Priority: Normal Milestone:
Component: ports Version: 2.3.1
Keywords: Cc: cooljeanius (Eric Gallager)
Port: tbb

Description

tbb failed to build on the snow leopard build server.

https://build.macports.org/builders/buildports-snowleopard-x86_64/builds/29443/steps/compile/logs/stdio

/usr/bin/g++-4.2 -c -MMD -g -O0 -DTBB_USE_DEBUG -DUSE_PTHREAD -m64  -Wall  -fPIC -D__TBBMALLOC_BUILD=1 -I../../src -I../../src/rml/include -I../../include -I../../src/tbbmalloc -I../../src/tbbmalloc ../../src/tbbmalloc/proxy.cpp
/usr/bin/g++-4.2 -c -MMD -g -O0 -DTBB_USE_DEBUG -DUSE_PTHREAD -m64  -Wall  -fPIC -D__TBBMALLOC_BUILD=1 -I../../src -I../../src/rml/include -I../../include -I../../src/tbbmalloc -I../../src/tbbmalloc ../../src/tbbmalloc/tbb_function_replacement.cpp
In file included from ../../src/tbbmalloc/proxy.cpp:65:
../../src/tbbmalloc/proxy_overload_osx.h: In constructor ‘DoMallocReplacement::DoMallocReplacement()’:
../../src/tbbmalloc/proxy_overload_osx.h:134: error: ‘struct malloc_introspection_t’ has no member named ‘enable_discharge_checking’
../../src/tbbmalloc/proxy_overload_osx.h:135: error: ‘struct malloc_introspection_t’ has no member named ‘disable_discharge_checking’
../../src/tbbmalloc/proxy_overload_osx.h:136: error: ‘struct malloc_introspection_t’ has no member named ‘discharge’
../../src/tbbmalloc/proxy_overload_osx.h:150: error: ‘struct malloc_zone_t’ has no member named ‘pressure_relief’
make[1]: *** [proxy.o] Error 1

Change History (7)

comment:1 Changed 10 years ago by sean@…

In my haste to upgrade I missed that the latest TBB only supports 10.9 (the previous version only officially support 10.8 and higher).

What is the best way to approach this? Unfortunately, I don't have a 10.6 system to test on.

comment:2 Changed 10 years ago by sean@…

Confirmed that the missing members are only available in 10.7 and higher. I will go ahead and submit a patch to remove the lines setting the offending fields in the malloc_introspection_t structure in the TBB source, which should allow TBB to work under 10.6.

comment:3 Changed 10 years ago by cooljeanius (Eric Gallager)

Cc: egall@… added

Cc Me!

comment:4 Changed 9 years ago by ryandesign (Ryan Carsten Schmidt)

Did a patch get submitted to the developers about this? Version 4.3-20141204 still has this problem.

comment:5 Changed 9 years ago by sean@…

Unfortunately, only OS X 10.9 and later are officially supported by the latest versions, although 10.7 and later work (the missing fields malloc_introspection_t in were added with 10.7).

I don't have a 10.6 system to test with and see about potentially patching this.

comment:7 Changed 6 years ago by kencu (Ken)

Resolution: fixed
Status: newclosed

In 3e6414902dba8fc5cfa0c69066df92fe21cd1de7/macports-ports:

tbb: add fixes for snowleopard and earlier

block malloc functions missing prior to 10.7
closes #44941
closes #55180

Note: See TracTickets for help on using tickets.