Opened 5 years ago
Closed 5 years ago
#63586 closed defect (fixed)
ruby30 @3.0.2_2 +doc+gmp+jemalloc does not build, on macOS 10.11.6
| Reported by: | snowflake (Dave Evans) | Owned by: | kimuraw (kimura wataru) |
|---|---|---|---|
| Priority: | Normal | Milestone: | |
| Component: | ports | Version: | 2.7.99 |
| Keywords: | jemalloc | Cc: | |
| Port: | ruby30 |
Description
The bug may be in jemalloc, which is not a default variant.
make[2]: Entering directory `/opt/local/var/macports/build/_Users_davidevans_macports_sources_github.com_macports_macports-ports_lang_ruby30/ruby30/work/ruby-3.0.2/ext/-test-/cxxanyargs'
compiling cxxanyargs.cpp
In file included from cxxanyargs.cpp:1:
In file included from ../../.././include/ruby/ruby.h:23:
In file included from ../../.././include/ruby/defines.h:80:
In file included from ../../.././include/ruby/missing.h:26:
/opt/local/include/jemalloc/jemalloc.h:226:28: error: exception specification in declaration does not match previous declaration
void JEMALLOC_NOTHROW *je_malloc(size_t size)
^
/opt/local/include/jemalloc/jemalloc.h:69:21: note: expanded from macro 'je_malloc'
# define je_malloc malloc
^
/usr/include/stdlib.h:152:7: note: previous declaration is here
void *malloc(size_t);
^
In file included from cxxanyargs.cpp:1:
In file included from ../../.././include/ruby/ruby.h:23:
In file included from ../../.././include/ruby/defines.h:80:
In file included from ../../.././include/ruby/missing.h:26:
/opt/local/include/jemalloc/jemalloc.h:229:28: error: exception specification in declaration does not match previous declaration
void JEMALLOC_NOTHROW *je_calloc(size_t num, size_t size)
^
/opt/local/include/jemalloc/jemalloc.h:63:21: note: expanded from macro 'je_calloc'
# define je_calloc calloc
^
/usr/include/stdlib.h:140:7: note: previous declaration is here
void *calloc(size_t, size_t);
^
In file included from cxxanyargs.cpp:1:
In file included from ../../.././include/ruby/ruby.h:23:
In file included from ../../.././include/ruby/defines.h:80:
In file included from ../../.././include/ruby/missing.h:26:
/opt/local/include/jemalloc/jemalloc.h:231:38: error: exception specification in declaration does not match previous declaration
JEMALLOC_EXPORT int JEMALLOC_NOTHROW je_posix_memalign(void **memptr,
^
/opt/local/include/jemalloc/jemalloc.h:77:29: note: expanded from macro 'je_posix_memalign'
# define je_posix_memalign posix_memalign
^
/usr/include/stdlib.h:156:7: note: previous declaration is here
int posix_memalign(void **, size_t, size_t) __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_3_0);
^
In file included from cxxanyargs.cpp:1:
In file included from ../../.././include/ruby/ruby.h:23:
In file included from ../../.././include/ruby/defines.h:80:
In file included from ../../.././include/ruby/missing.h:26:
/opt/local/include/jemalloc/jemalloc.h:238:28: error: exception specification in declaration does not match previous declaration
void JEMALLOC_NOTHROW *je_realloc(void *ptr, size_t size)
^
/opt/local/include/jemalloc/jemalloc.h:79:22: note: expanded from macro 'je_realloc'
# define je_realloc realloc
Change History (2)
comment:1 Changed 5 years ago by kimuraw (kimura wataru)
| Keywords: | jemalloc added |
|---|
comment:2 Changed 5 years ago by kimura wataru <kimuraw@…>
| Resolution: | → fixed |
|---|---|
| Status: | assigned → closed |
Note: See
TracTickets for help on using
tickets.

it looks some of port:jemalloc binary distributions do not include #61419.
re-install jemalloc from source code will solve your problem.
note: "JEMALLOC_NOTHROW" for some jemalloc functions should be "JEMALLOC_SYS_NOTHROW".
/opt/local/include/jemalloc/jemalloc.h:226:28: error: exception specification in declaration does not match previous declaration void JEMALLOC_NOTHROW *je_malloc(size_t size) ^ /opt/local/include/jemalloc/jemalloc.h:69:21: note: expanded from macro 'je_malloc' # define je_malloc malloc ^