ports/75785: lang/gcc32 uses libc_r instead of libpthread on 5.3
Oleg Sharoiko
os at rsu.ru
Tue Jan 4 09:30:29 UTC 2005
>Number: 75785
>Category: ports
>Synopsis: lang/gcc32 uses libc_r instead of libpthread on 5.3
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Tue Jan 04 09:30:28 GMT 2005
>Closed-Date:
>Last-Modified:
>Originator: Oleg Sharoiko
>Release: FreeBSD 5.3-STABLE i386
>Organization:
Computer Center of Rostov State University
>Environment:
System: FreeBSD wolf.os.rsu.ru 5.3-STABLE FreeBSD 5.3-STABLE #0: Sat Jan 1 21:36:31 MSK 2005 os at wolf.os.rsu.ru:/usr/obj/usr/src/sys/wolf.os.i686.RELENG_5.2005-01-01 i386
>Description:
The commit http://docs.freebsd.org/cgi/getmsg.cgi?fetch=305919+0+archive/2004/cvs-all/20041226.cvs-all broke selection of pthreads library on 5.3
wolf, ~/src/test > uname -a
FreeBSD wolf.os.rsu.ru 5.3-STABLE FreeBSD 5.3-STABLE #0: Sat Jan 1 21:36:31 MSK 2005 os at wolf.os.rsu.ru:/usr/obj/usr/src/sys/wolf.os.i686.RELENG_5.2005-01-01 i386
With system compiler:
wolf, ~/src/test > gcc -v
Using built-in specs.
Configured with: FreeBSD/i386 system compiler
Thread model: posix
gcc version 3.4.2 [FreeBSD] 20040728
wolf, ~/src/test > gcc -Wall -pedantic -pthread test_pth.c -o test_pth
wolf, ~/src/test > ldd test_pth
test_pth:
libpthread.so.1 => /usr/lib/libpthread.so.1 (0x28081000)
libc.so.5 => /lib/libc.so.5 (0x280a7000)
With gcc32 from ports
wolf, ~/src/test > gcc32 -v
Reading specs from /usr/local/lib/gcc-lib/i386-portbld-freebsd5.3/3.2.3/specs
Configured with: ./..//gcc-3.2.3/configure --disable-nls --with-gxx-include-dir=/usr/local/lib/gcc-lib/i386-portbld-freebsd5.3/3.2.3/include/g++-v3 --with-system-zlib --includedir=/usr/local/lib/gcc-lib/i386-portbld-freebsd5.3/3.2.3/include/Java --disable-shared --prefix=/usr/local i386-portbld-freebsd5.3
Thread model: posix
gcc version 3.2.3
wolf, ~/src/test > gcc32 -Wall -pedantic -pthread test_pth.c -o test_pth
wolf, ~/src/test > ldd test_pth
test_pth:
libc_r.so.5 => /usr/lib/libc_r.so.5 (0x28081000)
libc.so.5 => /lib/libc.so.5 (0x280a5000)
This at least breaks editors/openoffice-1.1 linking it's binaries against both libc_r and libpthread. Number of people complained on freebsd-openoffice:
http://docs.freebsd.org/cgi/getmsg.cgi?fetch=15561+0+archive/2004/freebsd-openoffice/20041231.freebsd-openoffice
http://docs.freebsd.org/cgi/getmsg.cgi?fetch=53386+0+archive/2004/freebsd-openoffice/20041231.freebsd-openoffice
http://docs.freebsd.org/cgi/getmsg.cgi?fetch=0+0+archive/2004/freebsd-openoffice/20041231.freebsd-openoffice
>How-To-Repeat:
Builg lang/gcc32
Try to link with -pthread
Check libs with ldd
It's also possible to check /usr/local/lib/gcc-lib/i386-portbld-freebsd5.3/3.2.3/specs for pthread libs specification
>Fix:
Either rollback the commit or change the patch-gcc,config,freebsd-spec.h
It may have sence that gcc/config/freebsd-spec.h has a note in comments that __FreeBSD_version from osreldate.h can not be used because it breaks cross-compilation. No sure what would be the best solution so I leave it for someone more competent to decide.
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list