hi, I just upgraded to gentoo 2006.1 and bumped gcc to 4.1.1 and glibc 2.4-r3 When i try to compile a tinyos app (say Blink) for the "pc" target i have the following bug: preprocessing /usr/src/tinyos-1.x/tos/system/tos.h In file included from /usr/include/pthread.h:8, from /usr/src/tinyos-1.x/tos/platform/pc/event_queue.h:61, from /usr/src/tinyos-1.x/tos/platform/pc/nido.h:77, from /usr/src/tinyos-1.x/tos/platform/pc/hardware.h:43, from /usr/src/tinyos-1.x/tos/system/tos.h:144: /usr/include/gentoo-multilib/amd64/pthread.h:485: requested alignment is not a constant the url given above shows that the problem occurs also on fedora 4 with gcc-4.0 however the only advice given is to downgrade gcc. emege --info : Gentoo Base System version 1.12.4 Portage 2.1-r2 (default-linux/amd64/2006.1/desktop, gcc-4.1.1, glibc-2.4-r3, 2.6.17-gentoo-r4 x86_64) ================================================================= System uname: 2.6.17-gentoo-r4 x86_64 Intel(R) Pentium(R) D CPU 3.00GHz distcc 2.18.3 x86_64-pc-linux-gnu (protocols 1 and 2) (default port 3632) [enabled] ccache version 2.3 [enabled] app-admin/eselect-compiler: [Not Present] dev-lang/python: 2.4.3-r1 dev-python/pycrypto: 2.0.1-r5 dev-util/ccache: 2.3 dev-util/confcache: [Not Present] sys-apps/sandbox: 1.2.17 sys-devel/autoconf: 2.13, 2.59-r7 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2 sys-devel/binutils: 2.16.1-r3 sys-devel/gcc-config: 1.3.13-r3 sys-devel/libtool: 1.5.22 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="amd64" AUTOCLEAN="yes" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=nocona -fomit-frame-pointer -O2 -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /opt/jetty/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /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/" CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/java-config/vms/ /etc/revdep-rebuild /etc/terminfo" CXXFLAGS="-march=nocona -fomit-frame-pointer -O2 -pipe" DISTDIR="/mnt/iseran/Planete/gentoo/portage-x86_64-pc-linux-gnu/distfiles" FEATURES="autoconfig buildpkg ccache distcc distlocks metadata-transfer sandbox sfperms strict" GENTOO_MIRRORS="ftp://ftp.proxad.net/mirrors/ftp.gentoo.org/ http://gentoo.osuosl.org" LINGUAS="fr es en fr_FR de en_GB pl hu" MAKEOPTS="-j7" PKGDIR="/mnt/iseran/Planete/gentoo/portage-x86_64-pc-linux-gnu/packages" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude='/distfiles' --exclude='/local' --exclude='/packages'" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage /usr/local/tinyos-overlay /usr/local/keywords-overlay" SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" USE="X aac alsa amd64 apm arts audiofile avi berkdb bitmap-fonts bootsplash bzip2 cairo cdparanoia cdr cli crypt ctype cups curl dba dbus dlloader dri dvd dvdr eds elibc_glibc emacs emboss encode esd ethereal exif expat fam fastbuild firefox flac foomaticdb force-cgi-redirect fortran ftp gd gdbm gif glut gmp gnome gnuplot gpm gstreamer gtk gtk2 gtkhtml guile hal idn imlib ipv6 isdnlog java jpeg junit kde kernel_linux lcms libg++ libwww live mad matroska matrox memlimit mikmod mng motif mozilla mp3 mpeg musicbrainz mysql ncurses nls nptl nptlonly nsplugin nvidia ogg openal opengl oss pam pcre pdflib perl png posix ppds pppd python qt qt3 qt4 quicktime readline reflection samba sdl session simplexml slang soap sockets speex spell spl ssl symlink tcl tcltk tcpd tetex theora tiff tk tokenizer truetype truetype-fonts type1-fonts udev unicode usb userland_GNU vorbis xanim xine xml xml2 xmms xorg xsl xv xvid zlib input_devices_keyboard input_devices_mouse input_devices_evdev linguas_fr linguas_es linguas_en linguas_fr_FR linguas_de linguas_en_GB linguas_pl linguas_hu video_cards_nvidia video_cards_nv" Unset: CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Created attachment 95655 [details, diff] glibc-pthread.patch the followig patch for glibc's pthread.h fixes it, i can build and run the app without trouble. But i don't know if it's the "correct fix" ... thanks Aur
Created attachment 95655 [details, diff] glibc-pthread.patch the followig patch for glibc's pthread.h fixes it, i can build and run the app without trouble. But i don't know if it's the "correct fix" ... thanks Aurélien
not a bug in glibc
not an amd64 bug either ;) i'd assign it to the tinyos peeps
I have NFC who's tinyos poeple, please do it.
TinyOS is my work. As far as I know, TinyOS is not supported under amd64. That's a reason because it is still keyworded ~x86 only. I'll take a look at the provided link, but I'm not so sure I want to try to port this to amd64 by myself.
Hi Sandro, Actually it turns out that's not a amd64 related bug ... I had exactly the same issue on x86 with fresh glibc-2.4-r3 and gcc 4.1.1 here. Same workaround. Can you reproduce it ? BTW, tinyos works pretty well on amd64 i use it daily on amd64 no big issues so far although i don't use every tools... I would support keywording the ebuilds ~amd64, reported at bug #141693. Thanks Aur
Hi Sandro, Actually it turns out that's not a amd64 related bug ... I had exactly the same issue on x86 with fresh glibc-2.4-r3 and gcc 4.1.1 here. Same workaround. Can you reproduce it ? BTW, tinyos works pretty well on amd64 i use it daily on amd64 no big issues so far although i don't use every tools... I would support keywording the ebuilds ~amd64, reported at bug #141693. Thanks Aurélien the full log on x86 (with PFLAGS+=-v in makefile ): using dev-tinyos/tos-1.1.15-r1 >echo $TOSROOT /usr/src/tinyos-1.x >echo $TOSDIR /usr/src/tinyos-1.x/tos > make pc mkdir -p build/pc compiling Blink to a pc binary ncc -o build/pc/main.exe -g -O0 -v -pthread -fnesc-nido-tosnodes=1000 -fnesc-simulate -Wall -Wshadow -DDEF_TOS_AM_GROUP=125 -Wnesc-all -target=pc -fnesc-cfile=build/pc/app.c -board=micasb -DCC1K_DEFAULT_FREQ=CC1K_915_998_MHZ -DRADIO_XMIT_POWER=0xFF -DCC2420_TXPOWER=TXPOWER_MAX -DCC2420_DEF_CHANNEL=26 -DIDENT_PROGRAM_NAME=\"Blink\" -DIDENT_USER_ID=\"francill\" -DIDENT_HOSTNAME=\"vanua\" -DIDENT_USER_HASH=0x948da2eeL -DIDENT_UNIX_TIME=0x44fd4e87L -DIDENT_UID_HASH=0xd660ed49L Blink.nc -lm /usr/bin/nescc -DPLATFORM_PC -DBOARD_MICASB -fnesc-include=tos -topdir=/usr/src/tinyos-1.x -o build/pc/main.exe -g -O0 -v -pthread -fnesc-nido-tosnodes=1000 -fnesc-simulate -Wall -Wshadow -DDEF_TOS_AM_GROUP=125 -Wnesc-all -fnesc-cfile=build/pc/app.c -DCC1K_DEFAULT_FREQ=CC1K_915_998_MHZ -DRADIO_XMIT_POWER=0xFF -DCC2420_TXPOWER=TXPOWER_MAX -DCC2420_DEF_CHANNEL=26 -DIDENT_PROGRAM_NAME="Blink" -DIDENT_USER_ID="francill" -DIDENT_HOSTNAME="vanua" -DIDENT_USER_HASH=0x948da2eeL -DIDENT_UNIX_TIME=0x44fd4e87L -DIDENT_UID_HASH=0xd660ed49L Blink.nc -lm -fnesc-target=pc -fnesc-simulate -I/usr/src/tinyos-1.x/tos/sensorboards/micasb -I/usr/src/tinyos-1.x/tos/platform/pc -I/usr/src/tinyos-1.x/tos/interfaces -I/usr/src/tinyos-1.x/tos/types -I/usr/src/tinyos-1.x/tos/system nescc: 1.2.7a gcc -_fnesc-gcc=gcc -specs=/usr/lib/ncc/tdspecs -_fnesc-include=nesc_nx -I/usr/lib/ncc -DPLATFORM_PC -DBOARD_MICASB -_fnesc-include=tos -o build/pc/main.exe -g -O0 -v -pthread -_fnesc-nido-tosnodes=1000 -_fnesc-simulate -Wall -Wshadow -DDEF_TOS_AM_GROUP=125 -_Wnesc-all -_fnesc-cfile=build/pc/app.c -DCC1K_DEFAULT_FREQ=CC1K_915_998_MHZ -DRADIO_XMIT_POWER=0xFF -DCC2420_TXPOWER=TXPOWER_MAX -DCC2420_DEF_CHANNEL=26 -DIDENT_PROGRAM_NAME="Blink" -DIDENT_USER_ID="francill" -DIDENT_HOSTNAME="vanua" -DIDENT_USER_HASH=0x948da2eeL -DIDENT_UNIX_TIME=0x44fd4e87L -DIDENT_UID_HASH=0xd660ed49L Blink.nc -lm -_fnesc-target=pc -_fnesc-simulate -I/usr/src/tinyos-1.x/tos/sensorboards/micasb -I/usr/src/tinyos-1.x/tos/platform/pc -I/usr/src/tinyos-1.x/tos/interfaces -I/usr/src/tinyos-1.x/tos/types -I/usr/src/tinyos-1.x/tos/system -DNESC=127 Utilisation des specs internes. Lecture des spécification à partir de /usr/lib/ncc/tdspecs Target: i686-pc-linux-gnu Configuré avec: /var/tmp/portage/gcc-4.1.1/work/gcc-4.1.1/configure --prefix=/usr --bindir=/usr/i686-pc-linux-gnu/gcc-bin/4.1.1 --includedir=/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include --datadir=/usr/share/gcc-data/i686-pc-linux-gnu/4.1.1 --mandir=/usr/share/gcc-data/i686-pc-linux-gnu/4.1.1/man --infodir=/usr/share/gcc-data/i686-pc-linux-gnu/4.1.1/info --with-gxx-include-dir=/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4 --host=i686-pc-linux-gnu --build=i686-pc-linux-gnu --disable-altivec --enable-nls --without-included-gettext --with-system-zlib --disable-checking --disable-werror --disable-libunwind-exceptions --disable-multilib --disable-libmudflap --disable-libssp --enable-java-awt=gtk --enable-languages=c,c++,java,fortran --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu Modèle de thread: posix version gcc 4.1.1 (Gentoo 4.1.1) perl -S nesc-compile -_fnesc-gcc=gcc -_fnesc-include=nesc_nx -_fnesc-include=tos -_fnesc-nido-tosnodes=1000 -_fnesc-simulate -_Wnesc-all -_fnesc-cfile=build/pc/app.c -_fnesc-target=pc -_fnesc-simulate -mtune=pentiumpro -DPLATFORM_PC -DBOARD_MICASB -DDEF_TOS_AM_GROUP=125 -DCC1K_DEFAULT_FREQ=CC1K_915_998_MHZ -DRADIO_XMIT_POWER=0xFF -DCC2420_TXPOWER=TXPOWER_MAX -DCC2420_DEF_CHANNEL=26 -DIDENT_PROGRAM_NAME="Blink" -DIDENT_USER_ID="francill" -DIDENT_HOSTNAME="vanua" -DIDENT_USER_HASH=0x948da2eeL -DIDENT_UNIX_TIME=0x44fd4e87L -DIDENT_UID_HASH=0xd660ed49L -DNESC=127 -I/usr/lib/ncc -I/usr/src/tinyos-1.x/tos/sensorboards/micasb -I/usr/src/tinyos-1.x/tos/platform/pc -I/usr/src/tinyos-1.x/tos/interfaces -I/usr/src/tinyos-1.x/tos/types -I/usr/src/tinyos-1.x/tos/system -g -O0 -Wall -Wshadow -v -pthread -o /tmp/ccwJqPXq.o Blink.nc -_ASM nesc1 -_fnesc-gcc=gcc -_fnesc-include=nesc_nx -_fnesc-include=tos -_fnesc-nido-tosnodes=1000 -_fnesc-simulate -_Wnesc-all -_fnesc-target=pc -_fnesc-simulate -mtune=pentiumpro -DPLATFORM_PC -DBOARD_MICASB -DDEF_TOS_AM_GROUP=125 -DCC1K_DEFAULT_FREQ=CC1K_915_998_MHZ -DRADIO_XMIT_POWER=0xFF -DCC2420_TXPOWER=TXPOWER_MAX -DCC2420_DEF_CHANNEL=26 -DIDENT_PROGRAM_NAME="Blink" -DIDENT_USER_ID="francill" -DIDENT_HOSTNAME="vanua" -DIDENT_USER_HASH=0x948da2eeL -DIDENT_UNIX_TIME=0x44fd4e87L -DIDENT_UID_HASH=0xd660ed49L -DNESC=127 -I/usr/lib/ncc -I/usr/src/tinyos-1.x/tos/sensorboards/micasb -I/usr/src/tinyos-1.x/tos/platform/pc -I/usr/src/tinyos-1.x/tos/interfaces -I/usr/src/tinyos-1.x/tos/types -I/usr/src/tinyos-1.x/tos/system -Wall -Wshadow -v -pthread Blink.nc -o build/pc/app.c preprocessing /usr/lib/ncc/nesc_nx.h preprocessing /usr/src/tinyos-1.x/tos/system/tos.h In file included from /usr/src/tinyos-1.x/tos/platform/pc/event_queue.h:61, from /usr/src/tinyos-1.x/tos/platform/pc/nido.h:77, from /usr/src/tinyos-1.x/tos/platform/pc/hardware.h:43, from /usr/src/tinyos-1.x/tos/system/tos.h:144: /usr/include/pthread.h:485: requested alignment is not a constant preprocessing Blink.nc preprocessing /usr/src/tinyos-1.x/tos/platform/pc/Main.nc preprocessing /usr/src/tinyos-1.x/tos/types/AM.h preprocessing /usr/src/tinyos-1.x/tos/platform/pc/PCRadio.h preprocessing /usr/src/tinyos-1.x/tos/interfaces/StdControl.nc preprocessing /usr/src/tinyos-1.x/tos/platform/pc/Nido.nc preprocessing /usr/src/tinyos-1.x/tos/platform/pc/nido.h preprocessing /usr/src/tinyos-1.x/tos/interfaces/ReceiveMsg.nc preprocessing /usr/src/tinyos-1.x/tos/interfaces/BareSendMsg.nc preprocessing /usr/src/tinyos-1.x/tos/interfaces/Pot.nc preprocessing /usr/src/tinyos-1.x/tos/platform/pc/PowerState.nc preprocessing /usr/src/tinyos-1.x/tos/system/PotC.nc preprocessing /usr/src/tinyos-1.x/tos/system/PotM.nc preprocessing /usr/src/tinyos-1.x/tos/interfaces/HPLPot.nc preprocessing /usr/src/tinyos-1.x/tos/platform/pc/HPLPotC.nc preprocessing /usr/src/tinyos-1.x/tos/platform/pc/PowerStateM.nc preprocessing /usr/src/tinyos-1.x/tos/platform/pc/powermod.h preprocessing /usr/src/tinyos-1.x/tos/sensorboards/micasb/sensorboard.h preprocessing BlinkM.nc preprocessing /usr/src/tinyos-1.x/tos/interfaces/Timer.nc preprocessing /usr/src/tinyos-1.x/tos/interfaces/Timer.h preprocessing /usr/src/tinyos-1.x/tos/interfaces/Leds.nc preprocessing SingleTimer.nc preprocessing /usr/src/tinyos-1.x/tos/platform/pc/TimerC.nc preprocessing /usr/src/tinyos-1.x/tos/system/TimerM.nc preprocessing /usr/src/tinyos-1.x/tos/interfaces/Clock.nc preprocessing /usr/src/tinyos-1.x/tos/interfaces/Clock.h preprocessing /usr/src/tinyos-1.x/tos/interfaces/PowerManagement.nc preprocessing /usr/src/tinyos-1.x/tos/system/ClockC.nc preprocessing /usr/src/tinyos-1.x/tos/platform/pc/HPLClock.nc preprocessing /usr/src/tinyos-1.x/tos/system/NoLeds.nc preprocessing /usr/src/tinyos-1.x/tos/platform/pc/HPLPowerManagementM.nc preprocessing /usr/src/tinyos-1.x/tos/platform/pc/LedsC.nc preprocessing /usr/src/tinyos-1.x/tos/platform/pc/LedsM.nc make: *** [exe0] Erreur 1
Created attachment 96049 [details, diff] glibc-pthread-x86.patch same patch for x86, "fixes" pthread.h
Comment on attachment 95655 [details, diff] glibc-pthread.patch glibc isnt going to be patched
(In reply to comment #8) > (From update of attachment 95655 [details, diff] [edit]) > glibc isnt going to be patched Yes i completely agree, that's not what i intended to say ;) (unless it was really a bug in glibc, but you was pretty clear in comment #2 ) apologies for not being clear with this. It's just a temporary workaround that i use in order to be able to work on tinyos apps... And also a way to highlight the problem. I'm still trying to understand the root of the problem and it's most likely a bug in the nesc compiler at: function "static cval get_alignment(gcc_attribute attr)" in src/attributes.c in nesc distribution. Basically nesc is confused between nesc and C "attributes(__aligned__)". If i can't find a decent fix i will report this on nesc's sf bug tracking system. thanks Aur
(In reply to comment #8) > (From update of attachment 95655 [details, diff] [edit]) > glibc isnt going to be patched Yes i completely agree, that's not what i intended to say ;) (unless it was really a bug in glibc, but you was pretty clear in comment #2 ) apologies for not being clear with this. It's just a temporary workaround that i use in order to be able to work on tinyos apps... And also a way to highlight the problem. I'm still trying to understand the root of the problem and it's most likely a bug in the nesc compiler at: function "static cval get_alignment(gcc_attribute attr)" in src/attributes.c in nesc distribution. Basically nesc is confused between nesc and C "attributes(__aligned__)". If i can't find a decent fix i will report this on nesc's sf bug tracking system. thanks Aurélien
(In reply to comment #9) > It's just a temporary workaround that i use in order to be able to work on > tinyos apps... And also a way to highlight the problem. I'm still trying to > understand the root of the problem and it's most likely a bug in the nesc > compiler at: > function "static cval get_alignment(gcc_attribute attr)" in src/attributes.c in > nesc distribution. > Basically nesc is confused between nesc and C "attributes(__aligned__)". If i > can't find a decent fix i will report this on nesc's sf bug tracking system. Please file a bug on nesc's sf bug tracking system anyway as soon as possible. NesC people can help solving this issue.
Created attachment 96090 [details, diff] nesc-1.2.7a_alignment.patch this patch for nesc fixes the problem, it might be incomplete, i have send it upstream to see if it needs changes
Hi, I reported this bug 2 month ago to sourceforge ... nothing happened. Would you consider adding this patch to the portage tree ? it makes nesc work and i noticed no side effect ... Thanks Aur
Hi, I reported this bug 2 month ago to sourceforge ... nothing happened. Would you consider adding this patch to the portage tree ? it makes nesc work and i noticed no side effect ... Thanks Aurélien
> Would you consider adding this patch to the portage tree ? > it makes nesc work and i noticed no side effect ... > Thanks Aur
> Would you consider adding this patch to the portage tree ? > it makes nesc work and i noticed no side effect ... > Thanks Aurélien Thanks to you for your patience. I think that I'll add the patch to nesc also if I don't like too much adding patches that are ignored upstream for so much time. I'm going to add it anyway, but if you have some spare time, please send the patch also to nesc bugs mailing list. You can find the address on nescc sourceforge page.
The patch file contains a duplicate of the same patch. Applying just the first.
Fixed in CVS. Commit message: Removing obsolete versions. Inheriting java-pkg-2 avoiding errors with a JRE as VM. Adding patch provided by Aur
Fixed in CVS. Commit message: Removing obsolete versions. Inheriting java-pkg-2 avoiding errors with a JRE as VM. Adding patch provided by Aurélien Francillon fixing bug #145870. Keywording ~amd64
nesC 1.2.8 (to be released soon) adds supports for this form of gcc's aligned attribute ("align to maximum alignment of any type")
(In reply to comment #16) > nesC 1.2.8 (to be released soon) adds supports for this form of gcc's aligned > attribute ("align to maximum alignment of any type") > Thanks David, nesC 1.2.8 in portage now (bug #156856).