Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 444796 - dev-db/redis-2.4.17 with dev-libs/jemalloc-3.2.0 - In function `zmalloc': zmalloc.c:(.text+0x1a): undefined reference to `jmalloc'
Summary: dev-db/redis-2.4.17 with dev-libs/jemalloc-3.2.0 - In function `zmalloc': zma...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: AMD64 Linux
: Normal normal (vote)
Assignee: Robin Johnson
URL:
Whiteboard:
Keywords:
: 442944 (view as bug list)
Depends on: 441834
Blocks: 439354
  Show dependency tree
 
Reported: 2012-11-26 12:49 UTC by Marios Andreopoulos
Modified: 2012-12-26 11:02 UTC (History)
7 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
build.log (file_444796.txt,9.24 KB, text/plain)
2012-11-26 12:51 UTC, Marios Andreopoulos
Details
redis-2.4.17-r1.ebuild (redis-2.4.17-r1.ebuild,2.94 KB, text/plain)
2012-12-01 02:17 UTC, Johan Bergström
Details
redis-2.4.17-r1.ebuild (redis-2.4.17-r1.ebuild,2.93 KB, text/plain)
2012-12-01 02:18 UTC, Johan Bergström
Details
redis-2.4.17-shared.patch (redis-2.4.17-shared.patch,729 bytes, patch)
2012-12-01 02:19 UTC, Johan Bergström
Details | Diff
build.log (build.log,10.75 KB, text/plain)
2012-12-09 14:21 UTC, Alex
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Marios Andreopoulos 2012-11-26 12:49:39 UTC
Yesterday, jemalloc had an upgrade from 3.1.0 to 3.2.0.

This broke redis, which does not execute with the error below.
$ redis-server 
redis-server: symbol lookup error: redis-server: undefined symbol: jcalloc

revdep-rebuild does not detect any problems.

Re-emerging redis fails too with:
    LINK redis-benchmark
zmalloc.o: In function `zmalloc':
zmalloc.c:(.text+0x1a): undefined reference to `jmalloc'
zmalloc.c:(.text+0x2c): undefined reference to `jmalloc_usable_size'
zmalloc.o: In function `zcalloc':
zmalloc.c:(.text+0xd2): undefined reference to `jcalloc'
zmalloc.c:(.text+0xe4): undefined reference to `jmalloc_usable_size'
zmalloc.o: In function `zrealloc':
zmalloc.c:(.text+0x1a5): undefined reference to `jmalloc_usable_size'
zmalloc.c:(.text+0x1b5): undefined reference to `jrealloc'
zmalloc.c:(.text+0x1ed): undefined reference to `jmalloc_usable_size'
zmalloc.o: In function `zfree':
zmalloc.c:(.text+0x31b): undefined reference to `jmalloc_usable_size'
zmalloc.c:(.text+0x35f): undefined reference to `jfree'
collect2: ld returned 1 exit status
make[1]: *** [redis-benchmark] Error 1
make[1]: Leaving directory `/var/tmp/portage/dev-db/redis-2.4.17/work/redis-2.4.17/src'
make: *** [all] Error 2
 * ERROR: dev-db/redis-2.4.17 failed (compile phase):
 *   emake failed


Reproducible: Always




# emerge --info
Portage 2.1.11.31 (hardened/linux/amd64, gcc-4.6.3, glibc-2.16.0, 3.6.7-hardened-gwhp x86_64)
=================================================================
System uname: Linux-3.6.7-hardened-gwhp-x86_64-Intel_Core_i7_9xx_-Nehalem_Class_Core_i7-with-gentoo-2.2
Timestamp of tree: Mon, 26 Nov 2012 12:30:01 +0000
ld GNU ld (GNU Binutils) 2.23.1
app-shells/bash:          4.2_p39
dev-lang/python:          2.7.3-r2, 3.2.3-r1
dev-util/cmake:           2.8.9-r1
dev-util/pkgconfig:       0.27.1
sys-apps/baselayout:      2.2
sys-apps/openrc:          0.11.5
sys-apps/sandbox:         2.6
sys-devel/autoconf:       2.69
sys-devel/automake:       1.12.5
sys-devel/binutils:       2.23.1
sys-devel/gcc:            4.6.3
sys-devel/gcc-config:     1.8
sys-devel/libtool:        2.4.2
sys-devel/make:           3.82-r4
sys-kernel/linux-headers: 3.6 (virtual/os-headers)
sys-libs/glibc:           2.16.0
Repositories: gentoo a3li x-personal
ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="* -@EULA"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -pipe -march=native"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.4/ext-active/ /etc/php/cgi-php5.4/ext-active/ /etc/php/cli-php5.4/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-O2 -pipe -march=native"
DISTDIR="/usr/portage/distfiles"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch webrsync-gpg"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="en_US.UTF-8"
LC_ALL="en_US.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/portage/local/layman/a3li /usr/portage/local/personal"
SYNC=""
USE="acl amd64 berkdb bzip2 cli cracklib crypt cups cxx dri gdbm gmp hardened iconv icu ipv6 justify mmx modules mudflap multilib ncurses nls nptl openmp pam pax_kernel pcre pppd readline session sse sse2 ssl tcpd unicode urandom zlib" APACHE2_MODULES="actions access_compat alias auth_basic authn_alias authn_anon authn_core authn_dbm authn_default authn_file authz_core authz_dbm authz_default authz_groupfile authz_host authz_owner auth_digest authn_dbd authz_user autoindex cache cache_disk deflate dir disk_cache env slotmem_shm expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif socache_shmcb speling status reqtimeout lbmethod_byrequests unique_id unixd usertrack vhost_alias proxy proxy_fcgi proxy_http proxy_balancer lbmethod_bytraffic" APACHE2_MPMS="event" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" PHP_TARGETS="php5-4" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_2" RUBY_TARGETS="ruby19" USERLAND="GNU" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LINGUAS, MAKEOPTS, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON
Comment 1 Marios Andreopoulos 2012-11-26 12:51:16 UTC
Created attachment 330614 [details]
build.log
Comment 2 Johan Bergström 2012-11-26 22:01:25 UTC
Here's the problem: https://bugs.gentoo.org/show_bug.cgi?id=441834
Comment 3 Johan Bergström 2012-11-26 22:02:43 UTC
Sorry, let me clarify. The new jemalloc ebuild doesn't use --prefix anymore which will break all libraries relying on this.

Not saying this is the best way, but it's at least how we use it currently.
Comment 4 Johan Bergström 2012-12-01 02:17:09 UTC
Created attachment 331100 [details]
redis-2.4.17-r1.ebuild

Here's an updated ebuild (with patch) that accepts the new route of jemalloc 3.2 and uses JEMALLOC_NO_DEMANGLE to expose the je_ prefix.

Forced a dep against jemalloc 3.2 or newer.
Comment 5 Johan Bergström 2012-12-01 02:18:51 UTC
Created attachment 331102 [details]
redis-2.4.17-r1.ebuild

Update patch name while at it.
Comment 6 Johan Bergström 2012-12-01 02:19:45 UTC
Created attachment 331104 [details, diff]
redis-2.4.17-shared.patch
Comment 7 Alex 2012-12-09 14:20:28 UTC
I have the same problem, with patch added above.

Portage 2.1.11.33 (default/linux/amd64/10.0/desktop/kde, gcc-4.6.3, glibc-2.16.0, 3.6.4-gentoo x86_64)
=================================================================
System uname: Linux-3.6.4-gentoo-x86_64-Intel-R-_Celeron-R-_CPU_G540_@_2.50GHz-with-gentoo-2.2
Timestamp of tree: Sun, 09 Dec 2012 13:00:01 +0000
ld GNU ld (GNU Binutils) 2.23.1
ccache version 3.1.8 [enabled]
app-shells/bash:          4.2_p39
dev-java/java-config:     2.1.12
dev-lang/python:          2.7.3-r2, 3.2.3-r1
dev-util/ccache:          3.1.8
dev-util/cmake:           2.8.10.2
dev-util/pkgconfig:       0.27.1
sys-apps/baselayout:      2.2
sys-apps/openrc:          0.11.6
sys-apps/sandbox:         2.6
sys-devel/autoconf:       2.13, 2.69
sys-devel/automake:       1.9.6-r3, 1.11.6
sys-devel/binutils:       2.23.1
sys-devel/gcc:            4.6.3
sys-devel/gcc-config:     1.8
sys-devel/libtool:        2.4.2
sys-devel/make:           3.82-r4
sys-kernel/linux-headers: 3.6 (virtual/os-headers)
sys-libs/glibc:           2.16.0
Repositories: gentoo gentoo-haskell
ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -pipe -ggdb"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt /usr/share/maven-bin-3.0/conf /usr/share/polkit-1/actions"
CONFIG_PROTECT_MASK="${EPREFIX}/etc/gconf /etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.3/ext-active/ /etc/php/apache2-php5.4/ext-active/ /etc/php/cgi-php5.3/ext-active/ /etc/php/cgi-php5.4/ext-active/ /etc/php/cli-php5.3/ext-active/ /etc/php/cli-php5.4/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-O2 -pipe -ggdb"
DISTDIR="/home/distfiles"
EMERGE_DEFAULT_OPTS="-j2 --keep-going --backtrack=30 --autounmask n"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs ccache compressdebug config-protect-if-modified distlocks ebuild-locks fixlafiles installsources merge-sync news parallel-fetch protect-owned sandbox sfperms splitdebug strict unknown-features-warn unmerge-logs unmerge-orphans userfetch"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="ftp://mirror.yandex.ru/gentoo-distfiles/ http://mirror.yandex.ru/gentoo-distfiles/ http://gentoo.bloodhost.ru/ http://gentoo.kiev.ua/ftp/ ftp://gentoo.kiev.ua/ http://gentoo.tiscali.nl/ http://gentoo.mirror.dkm.cz/pub/gentoo/ http://tux.rainside.sk/gentoo/ http://mirror2.corbina.ru/gentoo-distfiles/ http://gentoo.mneisen.org/ ftp://gentoo.bloodhost.ru/ http://ftp.snt.utwente.nl/pub/os/linux/gentoo http://mirrors.linuxant.fr/distfiles.gentoo.org/ http://gentoo.modulix.net/gentoo/ ftp://mirror2.corbina.ru/gentoo-distfiles/"
LANG="ru_RU.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/home/portage"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/var/lib/layman/haskell"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X a52 aac acl acpi alsa amd64 avx bash-completion berkdb bluetooth branding bzip2 cairo cdda cdr cjk cli consolekit cracklib crypt cups cxx dbus declarative djvu dri dts dvd dvdr emacs emboss encode exif fam ffmpeg fftw firefox flac fortran gallium gdbm gif gles gles2 gmp gpm gtk iconv icu imagemagick jemalloc jpeg jpeg2k kde kipi ladspa lcdfilter lcms ldap libnotify logrotate lzma lzo mad mmx mmxext mng modules mp3 mp4 mpeg mpi mudflap multilib ncurses nls nptl ogg openexr opengl openmp pam pango pcre pdf phonon plasma png policykit ppds pppd profile pulseaudio qt3support qt4 readline sdl semantic-desktop session sndfile spell sqlite sse sse2 sse3 sse4_1 sse4_2 ssl ssse3 startup-notification svg tcpd theora threads tiff truetype udev udisks unicode upower usb vaapi vim-syntax vorbis vpx webkit wxwidgets x264 xcb xcomposite xinerama xml xscreensaver xv xvid xvmc zlib zsh-completion" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="ru en" PHP_TARGETS="php5-4" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_2" QEMU_SOFTMMU_TARGETS="i386 x86_64" QEMU_USER_TARGETS="i386 x86_64" RUBY_TARGETS="ruby19" USERLAND="GNU" VIDEO_CARDS="intel i915" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CPPFLAGS, CTARGET, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON
Comment 8 Alex 2012-12-09 14:21:15 UTC
Created attachment 331876 [details]
build.log

And here is my build.log
Comment 9 Johan Bergström 2012-12-09 19:57:45 UTC
(In reply to comment #8)
> Created attachment 331876 [details]
> build.log
> 
> And here is my build.log

You're doing something wrong - from your build log:
>>> Preparing source in /home/portage/portage/dev-db/redis-2.4.17/work/redis-2.4.17 ...
 * Applying redis-2.4.3-shared.patch ...

..thats the old patch. Double check that you've set everything up correctly and try again. Thanks!
Comment 10 Johan Bergström 2012-12-10 21:09:25 UTC
*** Bug 442944 has been marked as a duplicate of this bug. ***
Comment 11 Johan Bergström 2012-12-11 23:53:49 UTC
Maintainers, this should in my opinion be escalated. _All_ people that emerges redis will now get a broken build (if they pull in jemalloc 3.2.0 which is by default). Can we at least get this fix in and do the bumps later? (you should've gotten a couple of emails from me/bugzilla over the last weeks/months).
Comment 12 Petteri Räty (RETIRED) gentoo-dev 2012-12-12 07:54:47 UTC
(In reply to comment #11)
> Maintainers, this should in my opinion be escalated. _All_ people that
> emerges redis will now get a broken build (if they pull in jemalloc 3.2.0
> which is by default). Can we at least get this fix in and do the bumps
> later? (you should've gotten a couple of emails from me/bugzilla over the
> last weeks/months).

QA: Let's commit these?
Comment 13 Dirkjan Ochtman (RETIRED) gentoo-dev 2012-12-26 11:02:14 UTC
Sorry for taking so damn long with this, but it's in the tree now. Thanks!