NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

standards/50983: stddef.h max_align_t conflicts with pkgsrc firefox



>Number:         50983
>Category:       standards
>Synopsis:       stddef.h max_align_t conflicts with pkgsrc firefox
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    standards-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sun Mar 20 08:10:00 +0000 2016
>Originator:     David Shao
>Release:        
>Organization:
>Environment:
NetBSD xxxxx.xxxxx 7.99.26 NetBSD 7.99.26 (GENERIC) #2: Sat Mar 19 18:56:25 PDT 2016  xxxxx%xxxxx.xxxx@localhost:/usr/obj/sys/arch/amd64/compile/GENERIC amd64
>Description:
The newly added definition in NetBSD 7.99.26 of max_align_t in /usr/include/stddef.h conflicts with pkgsrc firefox:

gcc -o Unified_c_media_libnestegg_src0.o -c -I/usr/pkgsrc/www/firefox/work/build/dist/system_wrappers -include /usr/pkgsrc/www/firefox/work/firefox-45.0.1/config/gcc_hidden.h  -I/usr/pkgsrc/www/firefox/work/firefox-45.0.1/media/libnestegg/src -I.  -I../../../dist/include  -I/usr/pkg/include/nspr -I/usr/pkg/include/nss/nss -I/usr/pkg/include/nss -I/usr/pkg/include/nspr    -I/usr/pkg/include/pixman-1   -fPIC -DPIC  -include ../../../mozilla-config.h -DMOZILLA_CLIENT -MD -MP -MF .deps/Unified_c_media_libnestegg_src0.o.pp -I/usr/include -I/usr/pkg/include -I/usr/pkg/include/nspr -I/usr/pkg/include/nss/nss -I/usr/pkg/include/libdrm -I/usr/pkg/include/freetype2 -Wall -Wempty-body -Wpointer-to-int-cast -Wsign-compare -Wtype-limits -Wno-unused -Wcast-align -O2 -g -I/usr/include -I/usr/pkg/include -I/usr/pkg/include/nspr -I/usr/pkg/include/nss/nss -I/usr/pkg/include/libdrm -I/usr/pkg/include/freetype2 -std=gnu99 -fgnu89-inline -fno-strict-aliasing -Dunix -fno-math-errno -pthread -pipe  -DNDEB
 UG -DTRIMMED -O2 -fomit-frame-pointer     /usr/pkgsrc/www/firefox/work/build/media/libnestegg/src/Unified_c_media_libnestegg_src0.c
In file included from /usr/pkgsrc/www/firefox/work/firefox-45.0.1/media/libnestegg/src/halloc.c:19:0,
                 from /usr/pkgsrc/www/firefox/work/build/media/libnestegg/src/Unified_c_media_libnestegg_src0.c:2:
/usr/pkgsrc/www/firefox/work/firefox-45.0.1/media/libnestegg/src/align.h:42:25: error: conflicting types for 'max_align_t'
 typedef union max_align max_align_t;
                         ^
In file included from /usr/pkgsrc/www/firefox/work/build/dist/system_wrappers/stddef.h:3:0,
                 from /usr/pkgsrc/www/firefox/work/firefox-45.0.1/media/libnestegg/src/halloc.h:18,
                 from /usr/pkgsrc/www/firefox/work/firefox-45.0.1/media/libnestegg/src/halloc.c:18,
                 from /usr/pkgsrc/www/firefox/work/build/media/libnestegg/src/Unified_c_media_libnestegg_src0.c:2:
/usr/include/stddef.h:74:3: note: previous declaration of 'max_align_t' was here
 } max_align_t;


>How-To-Repeat:

>Fix:
I have no idea if this is good practice, but DragonFly BSD 4.5 DEVELOPMENT uses the same guard in its
/usr/include/stddef.h
that gcc seems to from
external/gpl3/gcc/dist/gcc/ginclude/stddef.h

#if (defined (__STDC_VERSION__) && __STDC_VERSION__ >= 201112L) \
  || (defined(__cplusplus) && __cplusplus >= 201103L)

typedef ... {
...
} max_align_t;

#endif /* C11 or C++11.  */




Home | Main Index | Thread Index | Old Index