pkgsrc-Bugs archive

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

pkg/44065: devel/glib2 compilation errors on NetBSD 4.0



>Number:         44065
>Category:       pkg
>Synopsis:       devel/glib2 compilation errors on NetBSD 4.0
>Confidential:   no
>Severity:       critical
>Priority:       high
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Mon Nov 08 07:55:00 +0000 2010
>Originator:     Robert Elz
>Release:        NetBSD 4.0   (pkgsrc current 2010-11-08)
>Organization:
        Prince of Songkla University
>Environment:
System: NetBSD jade.coe.psu.ac.th 5.1_RC3 NetBSD 5.1_RC3 (JADE-1.12-20100614) 
#2: Mon Jun 14 08:35:26 ICT 2010 
kre%jade.coe.psu.ac.th@localhost:/usr/obj/5.1/kernels/JADE i386
Architecture: i386
Machine: i386
>Description:
        devel/glib2 (2.26.0) fails to compile on NetBSD 4.0
        (the previous version, 2.24.2, worked OK).

        I've listed thts as critical/high as half the world depends
        upon glib2, it really needs to build...

>How-To-Repeat:
        I use pkg_comp with NetBSD 4.0 release sets installed (and libkver)
        to simulate a pure NetBSD 4.0 environment.

        In that environment, attempting to build devel/glib2
        results in...

/bin/sh ../libtool  --tag=CC   --mode=compile cc -DHAVE_CONFIG_H -I. -I..  -I.. 
-I../glib -I../glib -I.. -I/usr/pkg/include   -DG_LOG_DOMAIN=\"GLib\" 
-DG_DISABLE_CAST_CHECKS -DG_DISABLE_DEPRECATED -DGLIB_COMPILATION -DPCRE_STATIC 
-DPREFIX="\"/usr/pkg\"" -DPKGLOCALEDIR="\"share\"" 
-DPKG_SYSCONFDIR="\"/etc/conf\"" -I/usr/include -I/usr/pkg/include 
-DG_DISABLE_SINGLE_INCLUDES  -pthread   -O2 -I/usr/include -I/usr/pkg/include 
-Wall -MT gatomic.lo -MD -MP -MF .deps/gatomic.Tpo -c -o gatomic.lo gatomic.c
libtool: compile:  cc -DHAVE_CONFIG_H -I. -I.. -I../glib 
-I/pkg_comp/obj/pkgsrc/devel/glib2/4x/.buildlink/include 
-DG_LOG_DOMAIN=\"GLib\" -DG_DISABLE_CAST_CHECKS -DG_DISABLE_DEPRECATED 
-DGLIB_COMPILATION -DPCRE_STATIC -DPREFIX=\"/usr/pkg\" -DPKGLOCALEDIR=\"share\" 
-DPKG_SYSCONFDIR=\"/etc/conf\" -DG_DISABLE_SINGLE_INCLUDES -pthread -O2 -Wall 
-MT gatomic.lo -MD -MP -MF .deps/gatomic.Tpo -c gatomic.c  -fPIC -DPIC -o 
.libs/gatomic.o
gatomic.c:885: error: expected '=', ',', ';', 'asm' or '__attribute__' before 
'*' token
gatomic.c: In function 'g_atomic_int_exchange_and_add':
gatomic.c:906: warning: implicit declaration of function 'g_mutex_lock'
gatomic.c:906: error: 'g_atomic_mutex' undeclared (first use in this function)
gatomic.c:906: error: (Each undeclared identifier is reported only once
gatomic.c:906: error: for each function it appears in.)
gatomic.c:909: warning: implicit declaration of function 'g_mutex_unlock'
gatomic.c: In function 'g_atomic_int_add':
gatomic.c:928: error: 'g_atomic_mutex' undeclared (first use in this function)
gatomic.c: In function 'g_atomic_int_compare_and_exchange':
gatomic.c:954: error: 'g_atomic_mutex' undeclared (first use in this function)
gatomic.c: In function 'g_atomic_pointer_compare_and_exchange':
gatomic.c:988: error: 'g_atomic_mutex' undeclared (first use in this function)
gatomic.c: In function '_g_atomic_thread_init':
gatomic.c:1155: error: 'g_atomic_mutex' undeclared (first use in this function)
gatomic.c:1155: warning: implicit declaration of function 'g_mutex_new'
gmake[4]: *** [gatomic.lo] Error 1
gmake[4]: Leaving directory 
`/pkg_comp/obj/pkgsrc/devel/glib2/4x/glib-2.26.0/glib'
gmake[3]: *** [all-recursive] Error 1
gmake[3]: Leaving directory 
`/pkg_comp/obj/pkgsrc/devel/glib2/4x/glib-2.26.0/glib'
gmake[2]: *** [all] Error 2
gmake[2]: Leaving directory 
`/pkg_comp/obj/pkgsrc/devel/glib2/4x/glib-2.26.0/glib'
gmake[1]: *** [all-recursive] Error 1
gmake[1]: Leaving directory `/pkg_comp/obj/pkgsrc/devel/glib2/4x/glib-2.26.0'
gmake: *** [all] Error 2
*** Error code 2

Stop.
make: stopped in /usr/pkgsrc/devel/glib2
*** Error code 1

Stop.

>Fix:
        No idea.   I took a look, and don't see much difference between
        the 2.24.2 that builds, and 2.26.0 that doesn't.   In particular,
        the line that is 885 (in 2.26.0) looks unchanged - so the syntax
        error must be inherited from some include file that's changed.

        As best I can see, on NetBSD 4.0, no built-in atomic ops are
        supported (in particular, G_ATOMIC_I486 is not defined - this
        is a PC class system, 32 bits) and configure determines that it
        can't use assembler for atomic operations ...

conftest.c:(.text+0x1b): undefined reference to `__sync_bool_compare_and_swap_4'

        and (of course) we have no futex() sys call.



Home | Main Index | Thread Index | Old Index