Actions
Bug #10625
closedconfigure --with or --without-jemalloc fails
Description
I have installed jemalloc(version 3.6.0) from MacPorts on OSX Yosemite and tried building ruby trunk@96fc310.
The result were
$ ../configure --srcdir=.. --with-opt-dir=/opt/local --with-jemalloc
:
checking size of long long... configure: error: in `/Users/sakuro/Projects/github.com/sakuro/ruby/build-with-jemalloc':
configure: error: cannot compute sizeof (long long)
fails.
$ ../configure --srcdir=.. --with-opt-dir=/opt/local --without-jemalloc
:
checking size of long long... configure: error: in `/Users/sakuro/Projects/github.com/sakuro/ruby/build-without-jemalloc':
configure: error: cannot compute sizeof (long long)
fails.
$ ../configure --srcdir=.. --with-opt-dir=/opt/local
:
config.status: creating GNUmakefile
config.status: creating Makefile
config.status: creating ruby-2.2.pc
succeeds.
The header of jemalloc resides as /opt/local/include/jemalloc/jemalloc.h and seems correctly recognized by the script.
checking for malloc_conf in -ljemalloc... yes
checking jemalloc/jemalloc.h usability... yes
checking jemalloc/jemalloc.h presence... yes
checking for jemalloc/jemalloc.h... yes
Files
Updated by nobu (Nobuyoshi Nakada) over 9 years ago
This is consist of 2 issues.
-
with_jemalloc
is set toyes
even if--without-jemalloc
is given. - MacPorts jemalloc's
install_name
has the base name only, so its runtime library needs to be located in a system standard library path, or one ofDYLD_LIBRARY_PATH
.
Updated by nobu (Nobuyoshi Nakada) over 9 years ago
- Status changed from Open to Closed
- % Done changed from 0 to 100
Applied in changeset r48907.
configure.in: fix jemalloc option
- configure.in (jemalloc): fix option argument, should use
$withval
but notyes
always. [ruby-core:66994] [Bug #10625] - configure.in (jemalloc): defer adding the liner option to get
rid of linking contest against jemalloc, so that it works
without runtime dynamic load path.
Updated by nobu (Nobuyoshi Nakada) over 9 years ago
Fixed the former bug, so --without-jemalloc
should work.
But the latter is caused by MacPorts jemalloc, it is just a workaround and you still need to set DYLD_LIBRARY_PATH
to run built binaries.
OS X ld(1)
seems not to provide a way to override the runtime load path for linked libraries at link time.
Actions
Like0
Like0Like0Like0