OS/2, eCS & ArcaOS - Technical > Programming
Compiling XPCOM (xpidl) fails -- need help!
R.M. Klippstein:
When compiling XPCOM it "craps out" when it gets to compiling XPIDL. Its looking for xpidl.o and there is no such file in the source or any other place I've searched. Anybody know where I can find xpidl.o? It looks like XPIDL could be replaced with PYXPIDL but I have no idea how a person would initiate this change in XPCOM. Thanks in advance for any ideas on how to solve this.
klipp
Dave Yeo:
More information please. What exactly are you compiling and perhaps post the tail of your build.log with the exact error
R.M. Klippstein:
Hi Dave, Thanks for responding, here is a little more info:
I'm trying to build a newer version of VirtualBox for OS/2-eCS. I've started with 3 older versions (1.6.0,1.6.6, and 2.2.4) hoping to get one to compile, and then move gradually up to newer versions. I started out doing this (gcc) in eCS but have now moved to Linux (much faster, and more friendly). I've had my best success compiling with 2.2.4 but all versions have the same problems getting through the XPCOM compile. My latest efforts are first trying to compile a pure Linux build (no OS/2 target) just to get a feel of how a successful build would look! -- it gives the same XPCOM error! I'm a FAR CRY from an expierenced gcc user, but this looks to me like something missing in the source code. I'm compiling using kmk. Thanks again for any ideas.
klipp
******************************************************************************************************************
kBuild: Installing /home/klipp/1.6.6/out/linux.x86/release/stage/bin/sdk/include/xpcom/ipcd/ipcdclient.h
kBuild: Compiling xpidl - xpcom/typelib/xpidl/xpidl.c
In file included from /home/klipp/1.6.6/src/libs/xpcom18a4/xpcom/typelib/xpidl/xpidl.c:42:0:
/home/klipp/1.6.6/src/libs/xpcom18a4/xpcom/typelib/xpidl/xpidl.h:58:24: fatal error: xpt_struct.h: No such file or directory
#include <xpt_struct.h>
^
compilation terminated.
kmk[3]: *** [/home/klipp/1.6.6/out/linux.x86/release/obj/src/libs/xpcom18a4/xpidl/xpcom/typelib/xpidl/xpidl.o] Error 1
The failing command:
@gcc -c -O2 -pipe -ansi -Wall -Wno-unused -I/usr/include/libIDL-2.0 -I/usr/include/glib-2.0 -I/usr/lib/i386-linux-gnu/glib-2.0/include -O -pthread -m32 -I/home/klipp/1.6.6/out/linux.x86/release/bin/sdk/include -I/home/klipp/1.6.6/out/linux.x86/release/bin/sdk/include/xpcom -I/home/klipp/1.6.6/out/linux.x86/release/bin/sdk/include/xpcom/nsprpub -I/home/klipp/1.6.6/out/linux.x86/release/bin/sdk/include/xpcom/string -I/home/klipp/1.6.6/out/linux.x86/release/bin/sdk/include/xpcom/xpcom -I/home/klipp/1.6.6/out/linux.x86/release/bin/sdk/include/xpcom/ipcd -I/home/klipp/1.6.6/include -I/home/klipp/1.6.6/out/linux.x86/release -DVBOX -DVBOX_OSE -DRT_OS_LINUX -D_FILE_OFFSET_BITS=64 -DRT_ARCH_X86 -D__X86__ -DMOZILLA_CLIENT=1 -DNDEBUG=1 -D_IMPL_NS_COM -DXPCOM_DLL_BASE=\"VBoxXPCOM\" -DMOZ_DLL_SUFFIX=\".so\" -DMOZ_PRESERVE_PIC -DEXPORT_XPT_API -DOSTYPE=\"Linux2.6\" -DOSARCH=\"Linux\" -DXP_UNIX=1 -D_GNU_SOURCE -DHAVE_VISIBILITY_ATTRIBUTE=1 -Di386=1 -Wp,-MD,/home/klipp/1.6.6/out/linux.x86/release/obj/src/libs/xpcom18a4/xpidl/xpcom/typelib/xpidl/xpidl.o.dep -Wp,-MT,/home/klipp/1.6.6/out/linux.x86/release/obj/src/libs/xpcom18a4/xpidl/xpcom/typelib/xpidl/xpidl.o -Wp,-MP -o /home/klipp/1.6.6/out/linux.x86/release/obj/src/libs/xpcom18a4/xpidl/xpcom/typelib/xpidl/xpidl.o /home/klipp/1.6.6/src/libs/xpcom18a4/xpcom/typelib/xpidl/xpidl.c
kmk[3]: Leaving directory `/home/klipp/1.6.6/src/libs/xpcom18a4'
kmk[2]: *** [pass_bldprogs_before] Error 2
kmk[2]: Leaving directory `/home/klipp/1.6.6/src/libs'
kmk[1]: *** [pass_bldprogs_before] Error 2
kmk[1]: Leaving directory `/home/klipp/1.6.6/src'
kmk: *** [pass_bldprogs_before] Error 2
klipp@Asus:~/1.6.6$
Dave Yeo:
Never built virtualbox and that's an old version of xpcom. I'd guess that for some reason the build isn't copying or symlinking xpcom/typelib/xpt/public/xpt_struct.h to /home/klipp/1.6.6/out/linux.x86/release/bin/sdk//include/xpcom. You could try manually copying or symlinking it as a temporary workaround, might need to do the same with xpt_xdr.h as well.
You're going to have to look earlier in your build log for where /home/klipp/1.6.6/out/linux.x86/release/bin/sdk//include/xpcom gets populated and see if anything jumps out at you in the way of warnings, errors etc. kmk 2>&1 | tee build.log should create a build.log for leisurely examination. It is actually a build system error rather then a GCC error which only looks for include files where you tell it to.
Hopefully you don't have similar issues with the idl files, they're compiled into h files with help from libidl which you will need. Newer xpcom uses Python and the xpcom\typelib\xpidl only has a makefile.
ivan:
Klipp, you are not the only one having this type of problem, in fact http://www.theregister.co.uk/2014/06/26/boffins_untangle_why_your_software_builds_fail/ it is a well known problem that world+dog are looking at.
I also have to say that I hope you are successful in your endeavour.
Navigation
[0] Message Index
[#] Next page
Go to full version