Bug 171566

Summary: www/libxul: ./jscompartment.h:394:8: error: visibility does not match previous declaration
Product: Ports & Packages Reporter: O. Hartmann <ohartmann>
Component: Individual Port(s)Assignee: freebsd-gecko (Nobody) <gecko>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: Latest   
Hardware: Any   
OS: Any   

Description O. Hartmann 2012-09-12 08:40:01 UTC
Updating www/libxul from version libxul-1.9.2.28_1 to new 10.0.7 via portupgrade fails with the follwoing error emitted:

[...]
clang++ -o jsapi.o -c  -I./../../dist/system_wrappers_js -include ./config/gcc_hidden.h -DOSTYPE=\"FreeBSD10\" -DOSARCH=FreeBSD -DEXPORT_JS_API -DIMPL_MFBT -DJS_HAS_CTYPES -DDLL_PREFIX=\"lib\" -DDLL_SUFFIX=\".so\" -I/usr/local/lib/libffi-3.0.9/include  -I.  -I. -I. -I./../../dist/include -I./../../dist/include/nsprpub  -I/usr/local/include/nspr  -I. -I./assembler -I./yarr  -fPIC -isystem/usr/local/include        -I/usr/local/include/nss -I/usr/local/include/nss/nss      -I/usr/local/include -fno-rtti -Wall -Wpointer-arith -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wno-invalid-offsetof -Wno-variadic-macros -Werror=return-type -O2 -pipe -pipe -O3 -march=native -fno-strict-aliasing -Wno-return-type-c-linkage -pipe  -DNDEBUG -DTRIMMED -fno-omit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_JIT=1 -DENABLE_ASSEMBLER=1  -isystem/usr/local/include        -I/usr/local/include/nss -I/usr/local/include/nss/nss      -I/usr/local/include -DMOZILLA_CLIENT -include ./
 js-confdefs.h -MD -MF .deps/jsapi.pp /usr/ports/www/libxul/work/mozilla-esr10/js/src/jsapi.cpp
In file included from /usr/ports/www/libxul/work/mozilla-esr10/js/src/jsanalyze.cpp:40:
In file included from ./jsanalyze.h:44:
./jscompartment.h:394:8: error: visibility does not match previous declaration
struct JS_FRIEND_API(JSCompartment) {
       ^
./jstypes.h:162:29: note: expanded from macro 'JS_FRIEND_API'
#define JS_FRIEND_API(t)    JS_PUBLIC_API(t)
                            ^
./jstypes.h:152:29: note: expanded from macro 'JS_PUBLIC_API'
# define JS_PUBLIC_API(t)   JS_EXPORT_API(t)
                            ^
./jstypes.h:113:33: note: expanded from macro 'JS_EXPORT_API'
# define JS_EXPORT_API(__type)  JS_EXTERNAL_VIS __type
                                ^
./jstypes.h:94:42: note: expanded from macro 'JS_EXTERNAL_VIS'
#  define JS_EXTERNAL_VIS __attribute__((visibility ("default")))
                                         ^
./config/gcc_hidden.h:2:13: note: previous attribute is here
#pragma GCC visibility push(hidden)
            ^
In file included from /usr/ports/www/libxul/work/mozilla-esr10/js/src/jsanalyze.cpp:45:
In file included from ./jsinferinlines.h:50:
In file included from ./vm/Stack-inl.h:49:
In file included from ./jsscriptinlines.h:54:
In file included from ./jsscopeinlines.h:58:
In file included from ./jsobjinlines.h:53:
./jsproxy.h:52:7: error: visibility does not match previous declaration
class JS_FRIEND_API(ProxyHandler) {

[...]

How-To-Repeat: Update/install www/libxul (10.0.7) on FreeBSD 10.0-CURRENT/amd64 with the current CLANG v3.2 as the main compiler and buildworld/buildkernel with clang.
Comment 1 Edwin Groothuis freebsd_committer freebsd_triage 2012-09-12 08:40:17 UTC
Responsible Changed
From-To: freebsd-ports-bugs->gecko

Over to maintainer (via the GNATS Auto Assign Tool)
Comment 2 O. Hartmann 2012-09-19 14:47:38 UTC
If compiled with USE_GCC=4.6+, port www/libxul compiles, but fails
installing:

/usr/ports/www/libxul/work/mozilla-esr10/dist/bin/xpcshell: Undefined
symbol "JSVAL_NULL"
gmake[1]: *** [install] Error 1
gmake[1]: Leaving directory
`/usr/ports/www/libxul/work/mozilla-esr10/xulrunner/installer'
gmake: *** [install] Error 2
*** [gecko-pre-install] Error code 2

Stop in /usr/ports/www/libxul.
*** [install] Error code 1

Stop in /usr/ports/www/libxul.
Comment 3 Florian Smeets freebsd_committer freebsd_triage 2012-10-10 22:18:29 UTC
State Changed
From-To: open->closed

Should be fixed in r305684