Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 88713 - net-im/ekg-1.6_rc1 doesn't compile with nptl
Summary: net-im/ekg-1.6_rc1 doesn't compile with nptl
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High major (vote)
Assignee: Michal Januszewski (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-04-11 06:36 UTC by ketjow
Modified: 2005-04-14 13:07 UTC (History)
0 users

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


Attachments
an updated version of the ebuild for 1.6_rc1 (ekg-1.6_rc1.ebuild,1.28 KB, text/plain)
2005-04-13 04:50 UTC, Michal Januszewski (RETIRED)
Details
patch that fixes the pthread-configure-error (ekg-patch.diff,487 bytes, patch)
2005-04-14 04:21 UTC, ketjow
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description ketjow 2005-04-11 06:36:36 UTC
I tried to emerge net-im/ekg-1.6_rc1, but I get a compile error. I have both nptl and nptl-only in my USE-flags. I don't think it's a amd64 specific bug, so I didn't set amd64 as the hardware platform.

Reproducible: Always
Steps to Reproduce:
1. compile glibc with USE="ntpl nptl-only"
2. emerge ekg
Actual Results:  
doesn't want to compile. error message: 

checking for x86_64-pc-linux-gnu-gcc... x86_64-pc-linux-gnu-gcc
checking for C compiler default output... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether x86_64-pc-linux-gnu-gcc accepts -g... yes
checking for x86_64-pc-linux-gnu-gcc option to accept ANSI C... none needed
checking how to run the C preprocessor... x86_64-pc-linux-gnu-gcc -E
checking for a BSD-compatible install... /bin/install -c
checking for x86_64-pc-linux-gnu-ranlib... x86_64-pc-linux-gnu-ranlib
checking whether ln -s works... yes
checking for an ANSI C-conforming const... yes
checking for gmake... /usr/bin/gmake
checking for x86_64-pc-linux-gnu-ar... x86_64-pc-linux-gnu-ar
checking for x86_64-pc-linux-gnu-strip... x86_64-pc-linux-gnu-strip
checking whether byte ordering is bigendian... no
checking for uintXX_t types... found in <stdint.h>
checking for t_accept in -lnsl... no
checking for socket in -lsocket... no
checking for __inet_addr in -lbind... no
checking for gethostbyname_r... yes
checking for inet_pton... yes
checking for va_copy... yes
checking for __va_copy... yes
checking for C99-compatible vsnprintf()... yes
checking for the pthreads library -lpthreads... no
checking whether pthreads work without any flags... no
checking whether pthreads work with -Kthread... no
checking whether pthreads work with -kthread... no
checking for the pthreads library -llthread... no
checking whether pthreads work with -pthread... yes
checking for joinable pthread attribute... PTHREAD_CREATE_JOINABLE
checking if -pthread is sufficient with -shared... no
checking if -lpthread fixes that... no
checking if more special flags are required for pthreads... no
checking for cc_r... x86_64-pc-linux-gnu-gcc
configure: error: Your system is not supporting pthreads

!!! Please attach the config.log to your bug report:
!!! /var/tmp/portage/ekg-1.6_rc1/work/ekg-1.6rc1/config.log

!!! ERROR: net-im/ekg-1.6_rc1 failed.
!!! Function econf, Line 485, Exitcode 0
!!! econf failed
!!! If you need support, post the topmost build error, NOT this status message.



Expected Results:  
should compile :)

crayfish64 root # emerge info
Portage 2.0.51.19 (default-linux/amd64/2004.3, gcc-3.4.3,
glibc-2.3.4.20041102-r1, 2.6.10-nitro4 x86_64)
=================================================================
System uname: 2.6.10-nitro4 x86_64 AMD Athlon(tm) 64 Processor 3200+
Gentoo Base System version 1.4.16
Python:              dev-lang/python-2.3.4-r1 [2.3.4 (#1, Feb  7 2005, 16:33:36)]
distcc 2.18.3 x86_64-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled]
ccache version 2.3 [enabled]
dev-lang/python:     2.3.4-r1
sys-devel/autoconf:  2.59-r6, 2.13
sys-devel/automake:  1.7.9-r1, 1.8.5-r3, 1.5, 1.4_p6, 1.6.3, 1.9.4
sys-devel/binutils:  2.15.92.0.2-r7
sys-devel/libtool:   1.5.10-r4
virtual/os-headers:  2.6.8.1-r4
ACCEPT_KEYWORDS="amd64"
AUTOCLEAN="yes"
CFLAGS="-O2 -march=athlon64 -pipe -fomit-frame-pointer"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.3/env
/usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3/share/config
/usr/lib/X11/xkb/usr/lib/mozilla/defaults/pref /usr/share/config
/usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/
/usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/
/usr/share/texmf/xdvi/ /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-O2 -march=athlon64 -pipe -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs autoconfig ccache distlocks sandbox"
GENTOO_MIRRORS="http://gentoo.inode.at http://gentoo.prz.rzeszow.pl
http://gentoo.zie.pg.gda.pl http://gentoo.inode.at/ ftp://gentoo.inode.at/source"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="amd64 X apache2 cdparanoia doc dvd dvdr dvdread ex extramodules fbcon gcj
gd gtk2 jabber java javascript kadu-modules ldap libcaca milter mp3 nocd nowin
nptl nptlonly nvidia openal pam php spell tlen vim-with-x xosd"
Unset:  ASFLAGS, CBUILD, CTARGET, LANG, LC_ALL, LDFLAGS, PORTDIR_OVERLAY
Comment 1 Michal Januszewski (RETIRED) gentoo-dev 2005-04-13 04:50:25 UTC
Created attachment 56158 [details]
an updated version of the ebuild for 1.6_rc1

Please try replacing the ebuild from Portage with the attached one and let me
know whether it fixes the problem for you.
Comment 2 ketjow 2005-04-14 04:21:25 UTC
Created attachment 56246 [details, diff]
patch that fixes the pthread-configure-error

patch that fixes the pthread-configure-error. it adds -fPIC to the compile
flags in a configure-test.
Comment 3 ketjow 2005-04-14 04:22:26 UTC
ok, it worked, but ekg without pthread sux
I found out why configure crashes. The problem occurs, because any program, that requires pthreads fails to compile with the -shared flag when compiling without -fPIC..
example:

#include <pthread.h>
int
main ()
{
      pthread_t th;  pthread_join(th, 0);
      pthread_attr_init(0);  pthread_cleanup_push(0, 0);
      pthread_create(0,0,0,0);  pthread_cleanup_pop(0);
      return 0;
}


when trying to compile:

bash-2.05b$ gcc -shared main.c -lpthread
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3/../../../../x86_64-pc-linux-gnu/bin/ld: /tmp/cc5PWaFt.o: relocation R_X86_64_PC32 against `pthread_join@@GLIBC_2.2.5' can not be used when making a shared object; recompile with -fPIC
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3/../../../../x86_64-pc-linux-gnu/bin/ld: final link failed: Bad value
collect2: ld returned 1 exit status
bash-2.05b$ gcc -lpthread -shared main.c
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3/../../../../x86_64-pc-linux-gnu/bin/ld: /tmp/ccYI0m7t.o: relocation R_X86_64_PC32 against `pthread_join@@GLIBC_2.2.5' can not be used when making a shared object; recompile with -fPIC
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3/../../../../x86_64-pc-linux-gnu/bin/ld: final link failed: Bad value
collect2: ld returned 1 exit status

configure contains such a test that tries to compile -shared without -fPIC. I created a patch that fixes the bug. I hope everything is ok with it...
Comment 4 Michal Januszewski (RETIRED) gentoo-dev 2005-04-14 13:07:31 UTC
I've added the patch to the ebuild in CVS. Thanks :)