Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 259218

Summary: net-wireless/bluez-libs-2.25 doesn't build with gcc-4.3 or 4.1.2
Product: Gentoo Linux Reporter: Bogdanov Ivan <bogdanov.bin>
Component: [OLD] LibraryAssignee: Petteri Räty (RETIRED) <betelgeuse>
Status: RESOLVED FIXED    
Severity: normal CC: brendan.ribera, denilsonsa, evolution, keith.maxwell, neil, xmw
Priority: High    
Version: unspecified   
Hardware: AMD64   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on: 230591    
Bug Blocks:    
Attachments: build.log
environment
compatibility patch for GCC 4.3
add #include <limits.h> for gcc-4.3
Ebuild incorporating the patch
Michael Weber's patch, modified to work with the ebuil

Description Bogdanov Ivan 2009-02-16 12:54:33 UTC
When i'm trying to emerge net-wireless/bluez-libs, build fails. 

Reproducible: Always

Steps to Reproduce:
1. make all necessary modules
2. emerge net-wireless/bluez-libs
3.

Actual Results:  
sdp.c: In function 'sdp_data_alloc_with_length':
sdp.c:426: error: 'USHRT_MAX' undeclared (first use in this function)
sdp.c:426: error: (Each undeclared identifier is reported only once
sdp.c:426: error: for each function it appears in.)
sdp.c:435: error: 'UCHAR_MAX' undeclared (first use in this function)
sdp.c: In function 'sdp_append_to_buf':
sdp.c:2348: error: 'UCHAR_MAX' undeclared (first use in this function)
make[2]: *** [sdp.lo] Ошибка 1
make[2]: *** Ожидание завершения заданий...
 x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../include -march=nocona -O2 -pipe -D_FORTIFY_SOURCE=2 -MT bluetooth.lo -MD -MP -MF .deps/bluetooth.Tpo -c bluetooth.c -o bluetooth.o >/dev/null 2>&1
 x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../include -march=nocona -O2 -pipe -D_FORTIFY_SOURCE=2 -MT hci.lo -MD -MP -MF .deps/hci.Tpo -c hci.c -o hci.o >/dev/null 2>&1
make[2]: Leaving directory `/var/tmp/portage/net-wireless/bluez-libs-2.25/work/bluez-libs-2.25/src'
make[1]: *** [all-recursive] Ошибка 1
make[1]: Leaving directory `/var/tmp/portage/net-wireless/bluez-libs-2.25/work/bluez-libs-2.25'
make: *** [all] Ошибка 2
Comment 1 Bogdanov Ivan 2009-02-16 12:56:23 UTC
Created attachment 182229 [details]
build.log
Comment 2 Bogdanov Ivan 2009-02-16 12:56:40 UTC
Created attachment 182230 [details]
environment
Comment 3 Rafał Mużyło 2009-02-16 14:37:02 UTC
Lots of info, but not the relevant.

As those are defined in limits.h, I suspect it's a gcc 4.3 problem
(or, more exactly, a problem which is probably fixed in the recent versions,
but they aren't in stable yet).

So this will probably turn into stable request.
Comment 4 Petteri Räty (RETIRED) gentoo-dev 2009-02-16 17:01:12 UTC
there's already a stable request but arches are slacking
Comment 5 Nico Schlömer 2009-02-19 12:59:51 UTC
Created attachment 182546 [details, diff]
compatibility patch for GCC 4.3

hi!

i was struggling with bluez-utils now for a while and don't want to wait for stabilization of >=bluez-3 or -4, so here's the patch for 2.25. please test!

cheers,
nico
Comment 6 Bogdanov Ivan 2009-02-19 14:32:52 UTC
(In reply to comment #5)
> Created an attachment (id=182546) [edit]
> compatibility patch for GCC 4.3
> 
> hi!
> 
> i was struggling with bluez-utils now for a while and don't want to wait for
> stabilization of >=bluez-3 or -4, so here's the patch for 2.25. please test!
> 
> cheers,
> nico
> 

Yes, it helps for now. Waiting for stable '-3' version. Thank you.
Comment 7 Michael Weber (RETIRED) gentoo-dev 2009-02-21 13:02:26 UTC
Hi,

there a missing #include <limits.h> in the /var/tmp/portage/net-wireless/bluez-libs-2.25/work/bluez-libs-2.25/src/sdp.c when compiled with gcc-4.3.3

The patch by Nico Schlömer does not work against this package (no 
bluez-utils-2.25/hidd/sdp.c bluez-utils-2.25/sdpd/request.c bluez-utils-2.25/tools/hciattach.c bluez-utils-2.25/tools/hciconfig.c)

I'm new to gentoo (no experience with portage-overlays and so on), but I've 
got bluez-libs-2.25 this way:

ebuild /usr/portage/net-wireless/bluez-libs/bluez-libs-2.25.ebuild unpack
added an extra #include <limits.h> to /var/tmp/portage/net-wireless/bluez-libs-2.25/work/bluez-libs-2.25/src/sdp.c
ebuild /usr/portage/net-wireless/bluez-libs/bluez-libs-2.25.ebuild compile
ebuild /usr/portage/net-wireless/bluez-libs/bluez-libs-2.25.ebuild install
ebuild /usr/portage/net-wireless/bluez-libs/bluez-libs-2.25.ebuild qmerge

maybe someone has the expertise to change the portage-tree.

thx Michael
Comment 8 Michael Weber (RETIRED) gentoo-dev 2009-02-21 13:06:41 UTC
Created attachment 182728 [details, diff]
add #include <limits.h> for gcc-4.3
Comment 9 Petteri Räty (RETIRED) gentoo-dev 2009-02-21 15:10:41 UTC
(In reply to comment #8)
> Created an attachment (id=182728) [edit]
> add #include <limits.h> for gcc-4.3
> 

If you want to use ~arch gcc then you might as well use ~arch bluez.
Comment 10 Petteri Räty (RETIRED) gentoo-dev 2009-02-22 21:25:48 UTC
*** Bug 259811 has been marked as a duplicate of this bug. ***
Comment 11 Petteri Räty (RETIRED) gentoo-dev 2009-02-25 12:38:34 UTC
*** Bug 259981 has been marked as a duplicate of this bug. ***
Comment 12 Brendan 2009-02-25 18:16:26 UTC
This is also broken for gcc 4.1.2 (I know this is listed in the bug title, but Petteri's comment about gcc ~arch made me think that fact might have been missed).

Michael's patch & instructions fix the problem for 4.1.2 also, so it would be great if this could surface in portage-tree.
Comment 13 John Whitlock 2009-03-01 06:56:20 UTC
Created attachment 183537 [details]
Ebuild incorporating the patch

Ebuild including the #include <limits> patch
Comment 14 John Whitlock 2009-03-01 06:57:21 UTC
Created attachment 183539 [details, diff]
Michael Weber's patch, modified to work with the ebuil
Comment 15 Neil Stone 2009-03-01 10:33:51 UTC
 x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../include -O2 -march=k8 -pipe -D_FORTIFY_SOURCE=2 -MT sdp.lo -MD -MP -MF .deps/sdp.Tpo -c sdp.c  -fPIC -DPIC -o .libs/sdp.o
 x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../include -O2 -march=k8 -pipe -D_FORTIFY_SOURCE=2 -MT hci.lo -MD -MP -MF .deps/hci.Tpo -c hci.c  -fPIC -DPIC -o .libs/hci.o
sdp.c: In function 'sdp_data_alloc_with_length':
sdp.c:426: error: 'USHRT_MAX' undeclared (first use in this function)
sdp.c:426: error: (Each undeclared identifier is reported only once
sdp.c:426: error: for each function it appears in.)
sdp.c:435: error: 'UCHAR_MAX' undeclared (first use in this function)
 x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../include -O2 -march=k8 -pipe -D_FORTIFY_SOURCE=2 -MT bluetooth.lo -MD -MP -MF .deps/bluetooth.Tpo -c bluetooth.c  -fPIC -DPIC -o .libs/bluetooth.o
sdp.c: In function 'sdp_append_to_buf':
sdp.c:2348: error: 'UCHAR_MAX' undeclared (first use in this function)
make[2]: *** [sdp.lo] Error 1
make[2]: *** Waiting for unfinished jobs....
 x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../include -O2 -march=k8 -pipe -D_FORTIFY_SOURCE=2 -MT bluetooth.lo -MD -MP -MF .deps/bluetooth.Tpo -c bluetooth.c -o bluetooth.o >/dev/null 2>&1
 x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../include -O2 -march=k8 -pipe -D_FORTIFY_SOURCE=2 -MT hci.lo -MD -MP -MF .deps/hci.Tpo -c hci.c -o hci.o >/dev/null 2>&1
make[2]: Leaving directory `/var/tmp/portage/net-wireless/bluez-libs-2.25/work/bluez-libs-2.25/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/tmp/portage/net-wireless/bluez-libs-2.25/work/bluez-libs-2.25'
make: *** [all] Error 2

***************

# gcc --version
gcc (GCC) 4.1.2 (Gentoo 4.1.2 p1.3)
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

****************

emerge --info
Portage 2.1.6.7 (default/linux/amd64/2008.0, gcc-4.1.2, glibc-2.8_p20080602-r1, 2.6.27-gentoo-r8 x86_64)
=================================================================
System uname: Linux-2.6.27-gentoo-r8-x86_64-AMD_Phenom-tm-_9950_Quad-Core_Processor-with-glibc2.2.5
Timestamp of tree: Sun, 01 Mar 2009 09:45:02 +0000
app-shells/bash:     3.2_p39
dev-java/java-config: 1.3.7-r1, 2.1.6-r1
dev-lang/python:     2.4.4-r13, 2.5.2-r7
dev-python/pycrypto: 2.0.1-r6
dev-util/cmake:      2.4.8
sys-apps/baselayout: 1.12.11.1
sys-apps/sandbox:    1.2.18.1-r2
sys-devel/autoconf:  2.13, 2.63
sys-devel/automake:  1.5, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.2
sys-devel/binutils:  2.18-r3
sys-devel/gcc-config: 1.4.0-r4
sys-devel/libtool:   1.5.26
virtual/os-headers:  2.6.27-r2
ACCEPT_KEYWORDS="amd64"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -march=k8 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/config /var/lib/hsqldb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/terminfo /etc/udev/rules.d"
CXXFLAGS="-O2 -march=k8 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="ccache distlocks fixpackages parallel-fetch protect-owned sandbox sfperms strict unmerge-orphans userfetch"
GENTOO_MIRRORS="http://gentoo.virginmedia.com           ftp://mirrors.blueyonder.co.uk/mirrors/gentoo           http://www.mirrorservice.org/sites/www.ibiblio.org/gentoo/                 ftp://ftp.mirrorservice.org/sites/www.ibiblio.org/gentoo/"
LDFLAGS="-Wl,-O1"
LINGUAS="en"
MAKEOPTS="-j5"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
SYNC="rsync://rsync.uk.gentoo.org/gentoo-portage"
USE="3dnow 3dnowext 7zip X Xaw3d a52 aac aalib acl acpi additions aim alsa amavis amd64 apache2 apm ares arts audiofile avahi avi bash-completion berkdb bidi blender-game bluetooth browser bzip2 bzlib calendar cdda cddb cdparanoia cdr cgi clamav cli corba cpudetection cracklib crypt css cups curl daap dbus dga divx4linux dri dts dv dvb dvd dvdr dvdread emacs emerald encode esd ethereal exif expat extras fam fax fbcon ffmpeg firefox flac flash font-server foomaticdb fortran ftp gcj gd gdbm ggi gif gimp gimpprint glitz gnome gnutls gocr gpm gps gstreamer gtk gtk2 hal hddtemp httpd iconv icq id3tag iee1394 ieee1394 imagemagick ipv6 isdnlog jabber java javascript joystick jpeg kde kdehiddenvisibility libcaca live lm_sensors logitech-mouse logrotate matroska mcve mdnsresponder-compat mgetty midi mikmod mime mmx mng mod mozilla mozsvg mp3 mpeg mplayer msn mudflap multilib musepack musicbrainz mysql nagios-dns nagios-game nagios-ntp nagios-ping nagios-ssh nas ncurses network network-cron nls nodrm nptl nptlonly nsplugin ntfs nvidia ocrad odk offensive ogg oggvorbis opengl openmp optimisememory osc oscar oss pam passwordsave pcre pda pdf pdflib perl php pic pkcs11 plotutils png postscript ppds pppd python qt3 qt4 quicktime rar rdesktop readline reflection rtsp samba sasl scanner sdl sensord session shout skins slang sndfile sound sox speex spell spl sse sse2 ssl stream subtitles svg symlink sysfs tcltk tcpd tesseract theora threads tidy tiff tk truetype unicode upnp ups usb utf8 v4l v4l2 vcd videos vlm vorbis wavpack wmf wxwindows xcomposite xine xinerama xml xorg xosd xpm xscreensaver xv xvid yahoo yv12 zeroconf zlib" 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="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 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" ELIBC="glibc" INPUT_DEVICES="mouse keyboard joystick evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en" USERLAND="GNU" VIDEO_CARDS="nvidia v4l nv"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LANG, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY
Comment 16 Keith Maxwell 2009-03-01 22:01:35 UTC
To follow up comment #13:

An alternative workaround is to keyword net-wireless/bluez-libs-3.27 which compiles ok (sdp.c includes limits.h).

I am running stable amd64 - gcc 4.1.2