<div dir="ltr">Hello Kamil, Galina,<div><br></div><div>If you would like to build LLDB with cmake and ninja, I suggest to consider the following two factory functions.</div><div>Depends on what you described, I feel the first one works better for you.</div><div><br></div><div>1. getLLDBUbuntuCMakeBuildFactory</div><div>If you only run local lldb tests, this is the factory to use.</div><div><br></div><div>For example, if you would like to build host lldb with clang and Release config, and run tests with clang on x86_64 host,</div><div>then call the function this way,</div><div><br></div><div><div>getLLDBUbuntuCMakeBuildFactory(build_compiler = "clang",</div><div> build_type = "Release",</div><div> local_test_archs=["x86_64"],</div><div> local_test_compilers=["clang"])</div></div><div>If you would like to run local tests with gcc compiler as well, then pass local_test_compilers=["clang", "gcc"]</div><div><br></div><div>Dependency: You need to have the required packages to build lldb.</div><div><br></div><div>Note*: please disable the last step in this function "archiveLLDBTestTraces", this steps will upload the log files to a cloud storage that you might not have access to. </div><div><br></div><div>2. getLLDBScriptCommandsFactory<br></div><div><br></div><div>If you have multiple targets to run tests against, for example, remote linux, remote android targets and etc, you should choose this factory.</div><div>The advantage of this factory is that it calls a script in each step, so it's highly configurable and easy to make changes. </div><div>You just need to make sure the scripts are in builder machine and have the correct commands.</div><div>For your reference, the ones that we're currently using could be found here.</div><div><a href="https://android.googlesource.com/platform/external/lldb-utils/+/lldb-master-dev/buildbotScripts/bashShell/svntotbuild/">https://android.googlesource.com/platform/external/lldb-utils/+/lldb-master-dev/buildbotScripts/bashShell/svntotbuild/</a></div><div>updateScript as the first step, is just copy the scripts to local builders.</div><div><br></div><div>Please let me know if you have further questions.</div><div><br></div><div>Thanks,</div><div>Ying</div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Oct 20, 2015 at 1:46 PM, Kamil Rytarowski <span dir="ltr"><<a href="mailto:n54@gmx.com" target="_blank">n54@gmx.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">-----BEGIN PGP SIGNED MESSAGE-----<br>
Hash: SHA256<br>
<br>
Hello Ying,<br>
<br>
I'm in trouble with my attempts to connect my NetBSD/amd64 machine to<br>
the LLDB/LLVM build zone.<br>
<br>
My host is NetBSD-7.0 (with buildslave ID: lldb-amd64-ninja-netbsd7).<br>
I use pkgsrc (2015Q3) to ship packages. I'm attaching a list of<br>
installed ones to this mail.<br>
<br>
I talked with Joerg and it was decided to go for CMake and Ninja, we<br>
don't want to change it for now (at least till single machine will be<br>
plugged in).<br>
<br>
Please try to spawn local NetBSD session and connect to the staging<br>
buildbot and debug it locally, to cut the number of iterations between<br>
me and the Galina.<br>
<br>
I'm adding here a short tutorial to get to reproduce quickly the setup<br>
of mine. It will take you like 2-5 minutes to get into installed<br>
system (depends of an internet connection).<br>
<br>
1. Prepare a disk image.<br>
$ qemu-img create -f qcow2 netbsd7.0_amd64 10G<br>
<br>
2. Get an installation media.<br>
$ $FETCH_TOOL<br>
<a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-7.0/amd64/installation/cdrom/boot" rel="noreferrer" target="_blank">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-7.0/amd64/installation/cdrom/boot</a><br>
- -com.iso<br>
<br>
3. Spawn installation<br>
$ qemu-system-x86_64 \<br>
-enable-kvm \<br>
-net user \<br>
-m 2G \<br>
-cdrom boot-com.iso \<br>
-nographic \<br>
-smp cores=2 \<br>
-hda netbsd7.0_amd64 \<br>
-boot d<br>
<br>
4. Inside the installer push ctrl-c and get the command line.<br>
<br>
5. Setup network connection:<br>
# dhcpcd<br>
<br>
6. Go to a writable dir, like /tmp<br>
# cd /tmp<br>
<br>
7. Fetch the autoinst.sh script of mine<br>
# ftp <a href="ftp://ftp.netbsd.org/pub/NetBSD/misc/kamil/autoinst.sh" rel="noreferrer" target="_blank">ftp://ftp.netbsd.org/pub/NetBSD/misc/kamil/autoinst.sh</a><br>
<br>
# sh autoinst.sh -s 128 -r mypass -c com0 -C 9600 -p wd0<br>
<br>
(take a coffee break)<br>
<br>
8. If everything went OK, just type:<br>
# poweroff<br>
<br>
9. Start your newly installed system<br>
qemu-system-x86_64 \<br>
-enable-kvm \<br>
-net user \<br>
-m 2G \<br>
-nographic \<br>
-smp cores=2 \<br>
-hda netbsd7.0_amd64 \<br>
-boot c<br>
(root password is empty)<br>
<br>
10. Install dependencies from pkgsrc, like:<br>
# cd /usr/pkgsrc/devel/cmake && make install<br>
<br>
Please install packags needed for buildslave, create dedicated user<br>
and try to connect it to the salve.<br>
<br>
Thank you in advance,<br>
<div><div class="h5"><br>
On 20.10.2015 21:40, Galina Kistanova wrote:<br>
> Hello Kamil,<br>
><br>
> It looks like you are missing dependencies for the LLDB builder<br>
> you have chosen.<br>
> <a href="http://lab.llvm.org:8014/builders/lldb-amd64-ninja-netbsd7/builds/75/s
teps/update%20scripts/logs/stdio" rel="noreferrer" target="_blank">http://lab.llvm.org:8014/builders/lldb-amd64-ninja-netbsd7/builds/75/s<br>
teps/update%20scripts/logs/stdio</a><br>
><br>
><br>
><br>
The getLLDBScriptCommandsFactory build factory does not document<br>
> the assumed dependency, so you may want to contact Ying Chen, who<br>
> is the author for the complete list of dependencies.<br>
><br>
> Another thing you may want to do is to reconsider the builder you<br>
> want to use. Maybe LLDBBuilder.getLLDBBuildFactory would work<br>
> better for you, though it requires autoconfig and make.<br>
><br>
> I'm adding the LLDB mail list in case somebody has an idea of what<br>
> would be the easiest way to get the NetBSD builder for LLDB up and<br>
> running.<br>
><br>
> Hello everyone,<br>
><br>
> Kamil is on the mission of getting LLDB builder for NetBSDwhich<br>
> would build clang+LLVM, then LLDB and run tests. What is the<br>
> shortest and less painful route there? Any suggestions? Just<br>
> looking at the source code of the current set of the LLDB builders,<br>
> it is hard to tell which one is the "main".<br>
><br>
> Thanks<br>
><br>
> Galina<br>
><br>
><br>
><br>
><br>
<br>
</div></div>-----BEGIN PGP SIGNATURE-----<br>
Version: GnuPG v2<br>
<br>
iQIcBAEBCAAGBQJWJqgPAAoJEEuzCOmwLnZsnA8P/1UpAgS4F6iViH1PbNcq6/8K<br>
FhAaLm3spctbiJpYs51OVyqv+cu0pjziwdEU3KRWvHqWq7Rd29smlRj9w7sPGijD<br>
iH5ofH/uTRpShwO/0taIyVtbMehyah2mtqk+M20Tx5V0H6ajRTYI+PKZWYKUs3V8<br>
bhCnD09emc0clqsHSc1dEUyBY+1n7ID5NjZsMKViKj5lT3EsCIk8hYHYcrFq8Zxh<br>
eDBXwCZUJHvItEA6FXED09IlhCdkeJd7rpLHeITb+3zg5ZNP6all1DnAaalSFRDm<br>
ObDRpsqD8DLGhe9MPPDZVXVKVaFH3lOcrpV0U3qx9ccy4ihRHEWWdgD+n8vEslXF<br>
Ai/j8PTgnZ1hQfmVTQPQoo9LCe3IS68Q2omEkZx+0/Thfv97yQ9rZk6RjWwekzfK<br>
okf4JcnxG4jxhE8jRkKKuOWLCo/es53Rc1UQ9Q8BgoyTRRUmicNEM+eiWBIHUWFs<br>
YRGcFbI+S8wJZuxFRizE0XkP4e1z4EGxn6Tu6m9WJYcUdhDn0mzDpjr6YVj+YgvS<br>
xtlGB78uVj5p3e/ljfBUkcwqGS9HNH15VGgA1sV5j5gvpJu37wqXXT6/4i4wLbuP<br>
0vIH6PoCwxiyP0FawQwyY7RZwY89LhnlHQbINMFAi5ZaH7q8ELNNkn7YXBSSlHjy<br>
VmVVg06mkdC3bo7U8lMT<br>
=Lm1Q<br>
-----END PGP SIGNATURE-----<br>
</blockquote></div><br></div>