tech-pkg archive

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

Re: FireFox 10.0.1 pkg for testing

On 3/10/2012 22:35, Martin Husemann wrote:
The second issue is a bit trickier. If you look at the object generated,
you see:

objdump -t ipc/chromium/process_util_bsd.o|fgrep kvm
0000000000000000         *UND*  0000000000000000 .hidden kvm_open
0000000000000000         *UND*  0000000000000000 .hidden kvm_getprocs
0000000000000000         *UND*  0000000000000000 .hidden kvm_close

Now this of course is plain wrong. The cause is a bug in /usr/include/cdefs.h:

#define     __BEGIN_DECLS   extern "C" {

This needs to explicitly set the visibility, here is the NetBSD variant of

#if defined(__cplusplus)
#define __BEGIN_EXTERN_C        extern "C" {
#  define __BEGIN_PUBLIC_DECLS  \
         _Pragma("GCC visibility push(default)") __BEGIN_EXTERN_C
#define __BEGIN_DECLS           __BEGIN_PUBLIC_DECLS

Since you can not easily fix this for all existing installs out there
without a time machine, I'd suggest you add something similar around
the #include<kvm.h>  for DragonFly in process_util_bsd.cpp.

I am not sure how to best fix the library dependeny issue inside pkgsrc,
but you probably can do that easily. The source patch for the second problem
should be easy, let me know if you want me to handle it.


Hi Martin,
We decided this cdefs.h approach was better than individually exporting symbols which is what was being done. The master branch and the 3.0 release branch has been updated accordingly:

As you noted, this won't allow people using previous releases to build Firefox 10 unless they rebuild kvm with the new cdefs.h. I think we'll just tell them to do that as the majority of the 3.0 Release users will stick with 2011Q4 for a while.

If this proves to be not a popular decision, we can always generate a diff to modify devel/xulrunner locally with the process_util_bsd.cpp modification you mentioned.

The indirect linking issues on both xulrunner and firefox were fixed this morning.


Home | Main Index | Thread Index | Old Index