William Gibson
|
InitialPrototype build issues (newbie)
|
William Gibson
02/22/2009 3:52 PM
post22697
|
InitialPrototype build issues (newbie)
First off I just wanted to say Hi to the people working on DTrace.. My friends and I going to be using it as a basis for
our fourth year design project in university.
That said, I'm fairly new to *nix in general, especially so with building parts of an OS, so please don't be too harsh
when I ask silly questions :P
I've literally been trying to get DTrace for 12 hours.. Finally I got it downloaded (I know that sounds terrible... I
tried using 6.2.1 and 6.3 but neither came SVN installed, and tried downloading and building a copy of that, to no
avail) so now I'm on 6.4, trying to make DTrace on self-hosted Neutrino, x86.
BTW I'm using Microsoft VirtualPC to run my QNX box.
Oh, and I got the source from the SVN checkout /svn/repos/dtrace_pub
That is InitialPrototype, correct? Or have I been screwing with the old dtrace source... If so, please point me to the
correct checkout
My dtrace source is in /root/dtrace_pub, which is where I happened to be when I called svn checkout
I set up the staging directory as specified:
1. Made the 'stage' directory (/root/dtrace_pub/stage)
2. Created the qconf-override.mk file, but since I'm using 6.4 I set the VERSION_REL to 6.4.0 instead of 6.3.0
Not sure if that's the right thing to do...
3. set the QCONF_OVERRIDE environment variable to the .mk file in 2.
- Question about the environment variables...
Sometimes my box crashes (probably due to being a virtual machine) and when I restart, the environment variables are
reset to their defaults, so I have to re-set the QCONF_OVERRIDE. Why are these not being saved correctly?
4. I tried to run make in /trunk but as was mentioned in another post on this forum, we shouldn't be making the trunk of
DTrace.. Besides there is no 'Makefile' there, so I couldn't even if I wanted to.
So, what folder should we be calling make inside? (read on for my attempt)
I've tried to make inside dtrace_pub/trunk/lib/dtrace
make CPULIST=x86 hinstall
results:
make -j 1 -Cx86 -fMakefile hinstall
make[1]: Entering directory 'root/dtrace_pub/trunk/lib/x86'
make -j 1 -Ca -fMakefile hinstall
make[2] Entering directory 'root/dtrace_pub/trunk/lib/x86/a'
make[2] Nothing to be done for 'hinstall'.
make[2] Leaving directory 'root/dtrace_pub/trunk/lib/x86/a'
make[1] Leaving directory 'root/dtrace_pub/trunk/lib/x86'
and then make CPULIST=x86 install
at which point the results are very similar, except when hinstall says nothing to be done, install does this:
/bin/cp -vfpc libdtrace.a /usr/qnx640/target/qnx6/x86/lib/libdtrace.a
cp: Copying libdtrace.a to /usr/qnx640/target/qnx6/x86/lib/libdtrace.a
Then when I go into my staging directory, obviously all I find is /root/dtrace_pub/stage/x86/lib/libdtrace.a
So there are several places I could be going wrong here... hoping for some tips to get me started.
I've been reading documents in the community, like "Understanding the Neutrino Build Process" and "Build It --
Downloading the Neutrino OS/Kernel Source" to no avail..
All they bring up is more questions.. Like when I examine the Makefiles in the /trunk/lib/dtrace and /trunk/lib/dtrace/
x86 directories, they reference recurse.mk. According to "U t N B P" (at the bottom), the 'magic' files should be:
$QNX_TARGET/usr/include/recurse.mk
$QNX_TARGET/usr/include/qconfig.mk
$QNX_TARGET/usr/include/buildlist.mk
With support of the $QNX_TARGET/usr/include/mk
But these directories and files do not exist in the DTrace source..
Am I not looking correctly, or do I need to get these from somewhere else?
Please help me out. Your responses are *greatly* appreciated.
Thanks!
William Gibson
|
|
|