[Lldb-commits] New llvm build server account request

Kamil Rytarowski via lldb-commits lldb-commits at lists.llvm.org
Tue Oct 20 18:38:57 PDT 2015


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Please update the documentation from
http://lldb.llvm.org/build.html#BuildingLldbOnLinux. and add an entry
for NetBSD:

On NetBSD one might run:
> pkgin install swig python27

Regarding the cmake issue, I suggest to add this change to cmake.sh:

if [[ $host == NetBSD ]]; then
  cmake -GNinja -DCMAKE_BUILD_TYPE=Release $llvmDir
- -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++
else
  cmake -GNinja -DCMAKE_BUILD_TYPE=Release $llvmDir
- -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++
endif


Additionally please replace all shebangs '/bin/bash' to /usr/bin/env
bash' it will be more portable and I will drop my /bin/bash linkage.

Thank you in advance,

On 21.10.2015 03:23, Kamil Rytarowski via lldb-commits wrote:
> My $CC/$CXX is GCC 4.8.5.
> 
> I have good reason for it - to not intermix system-wide and
> fetched headers for llvm. In the past this was causing problems for
> me during my lldb porting.
> 
> Please update my builder.py for using gcc.
> 
> On 21.10.2015 03:11, Ying Chen wrote:
>> Submitted the change, http://reviews.llvm.org/rL250871
> 
>> The problem you mentioned has been resolved. But clang is
>> missing from your system. You need to make sure the system is
>> able to build and test lldb. Follow this 
>> http://lldb.llvm.org/build.html#BuildingLldbOnLinux.
> 
> 
>> On Tue, Oct 20, 2015 at 5:47 PM, Kamil Rytarowski <n54 at gmx.com 
>> <mailto:n54 at gmx.com>> wrote:
> 
>> http://lab.llvm.org:8014/builders/lldb-amd64-ninja-netbsd7/builds/90
>
>>  cmake.sh is still wrong:
> 
>> #!/bin/bash -e set -x host=$(uname) if [[ $host != Linux ]]; then
>>  echo "Skip cmake step for" $host else source setEnv.sh mkdir -p 
>> $buildDir cd $buildDir cmake -GNinja -DCMAKE_BUILD_TYPE=Release 
>> $llvmDir -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++
>> fi
> 
> 
>> The uname result on NetBSD is 'NetBSD' and we need to use cmake. 
>> The correct check is:
> 
>> if [[ $host != Linux ]] && [[ $host != NetBSD ]]
> 
> 
>> I noticed also a check for ${OS} in 
>> /home/motus/build/build/scripts/lldb-utils/build.sh
> 
>> case "$(uname -s)" in Linux)  OS=linux;; Darwin) OS=darwin;; 
>> *_NT-*) OS=windows;; esac
> 
>> There is need for NetBSD) OS=netbsd;; and new file 
>> build-netbsd.sh.
> 
>> This is why, I suggested you to install NetBSD locally and adapt 
>> the scripts for this system. Ping-pong overmails can take another
>> 2 weeks.
> 
>> On 21.10.2015 02:05, Kamil Rytarowski via lldb-commits wrote:
>>> On 21.10.2015 02:03, Ying Chen wrote:
> 
> 
>>>> On Tue, Oct 20, 2015 at 4:46 PM, Kamil Rytarowski
>>>> <n54 at gmx.com <mailto:n54 at gmx.com> <mailto:n54 at gmx.com
>>>> <mailto:n54 at gmx.com>>> wrote:
> 
>>>> It just appeared there.
> 
>>>> I took your updateScripts.sh, moved it to my $PATH. Is it 
>>>> everything?
> 
> 
>>>>> Please also put the test_cfg.json to this location, 
>>>>> /home/motus/build/build/. A dummy file is ok if you don't 
>>>>> want to run any test.
> 
> 
>>> I added there a dummy literally empty file (of size 0) there.
> 
> 
> 
>>>> Will the rest of the scripts from 
>>>> https://android.googlesource.com/platform/external/lldb-utils/+/lld
b
>
>>>> 
- -
> 
>>>> 
> m
> 
>>>> 
>> as
> 
> 
>>> ter-dev/buildbotScripts/bashShell/svntotbuild/
>>>> <https://android.googlesource.com/platform/external/lldb-utils/+/ll
d
>
>>>> 
b
> 
>>>> 
> -
> 
>>>> 
>> mas
> 
> 
>>> ter-dev/buildbotScripts/bashShell/svntotbuild/>
>>>> be fetched/used automatically?
> 
>>>> Do I need a local copy of it? If so, do I need to fetch the 
>>>> whole directory 
>>>> https://android.googlesource.com/platform/external/lldb-utils/+/lld
b
>
>>>> 
- -
> 
>>>> 
> m
> 
>>>> 
>> as
> 
> 
>>> ter-dev/buildbotScripts
>>>> <https://android.googlesource.com/platform/external/lldb-utils/+/ll
d
>
>>>> 
b
> 
>>>> 
> -
> 
>>>> 
>> mas
> 
> 
>>> ter-dev/buildbotScripts>
>>>> ?
> 
> 
>>>>> You don't need a local copy of any of it. updateScripts.sh
>>>>>  will fetch everything automatically.
> 
> 
>>> Thank you!
> 
>>> I also linked /bin/bash to /usr/pkg/bin/bash on my NetBSD
>>> host.
> 
>>> If there are some GNU tools used there, gawk please let me
>>> know.
> 
> 
> 
>>>> According to builders.py ( 
>>>> https://github.com/llvm-mirror/zorg/commit/c901503848e900fc1af0c43c
9
>
>>>> 
3
> 
>>>> 
> c
> 
>>>> 
>> 98
> 
> 
>>> daddd2f23fd
>>>> <https://github.com/llvm-mirror/zorg/commit/c901503848e900fc1af0c43
c
>
>>>> 
9
> 
>>>> 
> 3
> 
>>>> 
>> c98
> 
> 
>>> daddd2f23fd>
>>>> )
> 
>>>> I use: 
>>>> 'factory':LLDBBuilder.getLLDBScriptCommandsFactory(runTest=False)
>>>>
>>>>
>
>>>> 
}
> 
> 
>>>>> Please also add "downloadBinary=False"
> 
> 
>>> Please add this change there to the zorg repository and commit 
>>> (I don't have a commit bit).
> 
>>>> At the moment I don't want to run tests and leave it for 
>>>> later.
> 
>>>> I restarted the build bot with the staging server and this is
>>>>  what I get : 2015-10-20 23:43:33+0000 [-] Log opened. 
>>>> 2015-10-20 23:43:33+0000 [-] twistd 15.4.0 
>>>> (/usr/pkg/bin/python2.7 2.7.10) starting up. 2015-10-20 
>>>> 23:43:33+0000 [-] reactor class: 
>>>> twisted.internet.pollreactor.PollReactor. 2015-10-20 
>>>> 23:43:33+0000 [-] Starting BuildSlave -- version: 0.8.8 
>>>> 2015-10-20 23:43:33+0000 [-] recording hostname in 
>>>> twistd.hostname 2015-10-20 23:43:33+0000 [-] Starting factory
>>>>  <buildslave.bot.BotFactory instance at 0x7f7ff53e0908> 
>>>> 2015-10-20 23:43:33+0000 [-] Connecting to lab.llvm.org:9994
>> <http://lab.llvm.org:9994>
>>>> <http://lab.llvm.org:9994> 2015-10-20 23:43:34+0000 
>>>> [Broker,client] message from master: attached 2015-10-20 
>>>> 23:43:35+0000 [Broker,client] 
>>>> SlaveBuilder.remote_print(lldb-amd64-ninja-netbsd7): message 
>>>> from master: attached 2015-10-20 23:43:35+0000
>>>> [Broker,client] Connected to lab.llvm.org:9994
>>>> <http://lab.llvm.org:9994>
>> <http://lab.llvm.org:9994>; slave
>>>> is ready 2015-10-20 23:43:35+0000 [Broker,client] sending 
>>>> application-level keepalives every 600 seconds
> 
> 
>>>> How to enforce it to start a test build now? I want to check
>>>>  quickly whether it works, not just send keepalives every 10
>>>>  minutes..
> 
> 
>>>>> Click force build button from this page to kick off a build
>>>>>  right away. 
>>>>> http://lab.llvm.org:8014/builders/lldb-amd64-ninja-netbsd7
> 
> 
>>> I will do, thank you!
> 
> 
> 
> 
>>>> Thank you in advance,
> 
> 
>>>> On 21.10.2015 01:17, Ying Chen wrote:
>>>>> Please check again. Please note that this file needs to be
>>>>>  included in your PATH. The rest of the scripts don't have 
>>>>> to. Sample of test configuration file could be found here.
>>>>>  
>>>>> https://android.googlesource.com/platform/external/lldb-utils/+/ll
d
>
>>>>> 
b
> 
>>>>> 
> -
> 
>>>>> 
>> m
> 
>>>>> 
>>> aster-dev/buildbotScripts/testCfg/
>>>> <https://android.googlesource.com/platform/external/lldb-utils/+/ll
d
>
>>>> 
b
> 
>>>> 
> -
> 
>>>> 
>> m
> 
> 
>>> aster-dev/buildbotScripts/testCfg/>
> 
>>>>> On Tue, Oct 20, 2015 at 3:50 PM, Kamil Rytarowski 
>>>>> <n54 at gmx.com <mailto:n54 at gmx.com> <mailto:n54 at gmx.com 
>>>>> <mailto:n54 at gmx.com>> <mailto:n54 at gmx.com
>> <mailto:n54 at gmx.com>
>>>>> <mailto:n54 at gmx.com <mailto:n54 at gmx.com>>>> wrote:
> 
>>>>> Where can I find this updateScripts.sh? It's missing under 
>>>>> your link:
> 
>>>>> https://android.googlesource.com/platform/external/lldb-utils/+/ll
d
>
>>>>> 
b
> 
>>>>> 
> -
> 
>>>>> 
>> m
> 
>>>>> 
>>> as
> 
> 
>>>> ter-dev/buildbotScripts/bashShell/svntotbuild/
>>>>> <https://android.googlesource.com/platform/external/lldb-utils/+/l
l
>
>>>>> 
d
> 
>>>>> 
> b
> 
>>>>> 
>> -
> 
>>>>> 
>>> mas
> 
> 
>>>> ter-dev/buildbotScripts/bashShell/svntotbuild/>
> 
>>>>> On 21.10.2015 00:29, Ying Chen wrote:
>>>>>> Hello Kamil, Galina,
> 
>>>>>> If you would like to build LLDB with cmake and ninja, I 
>>>>>> suggest to consider the following two factory functions.
>>>>>>  Depends on what you described, I feel the first one
>>>>>> works better for you.
> 
>>>>>> 1. getLLDBUbuntuCMakeBuildFactory If you only run local 
>>>>>> lldb tests, this is the factory to use.
> 
>>>>>> For example, if you would like to build host lldb with 
>>>>>> clang and Release config, and run tests with clang on 
>>>>>> x86_64 host, then call the function this way,
> 
>>>>>> getLLDBUbuntuCMakeBuildFactory(build_compiler = "clang",
>>>>>>  build_type = "Release", local_test_archs=["x86_64"], 
>>>>>> local_test_compilers=["clang"]) If you would like to run
>>>>>>  local tests with gcc compiler as well, then pass 
>>>>>> local_test_compilers=["clang", "gcc"]
> 
>>>>>> Dependency: You need to have the required packages to 
>>>>>> build lldb.
> 
>>>>>> 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.
> 
>>>>>> 2. getLLDBScriptCommandsFactory
> 
>>>>>> If you have multiple targets to run tests against, for 
>>>>>> example, remote linux, remote android targets and etc,
>>>>>> you should choose this factory. The advantage of this
>>>>>> factory is that it calls a script in each step, so it's
>>>>>> highly configurable and easy to make changes. You just
>>>>>> need to make sure the scripts are in builder machine and
>>>>>> have the correct commands. For your reference, the ones
>>>>>> that we're currently using could be found here. 
>>>>>> https://android.googlesource.com/platform/external/lldb-utils/+/l
l
>
>>>>>> 
d
> 
>>>>>> 
> b
> 
>>>>>> 
>> -
> 
>>>>>> 
>>> m
> 
>>>>>> 
>>>> aster-dev/buildbotScripts/bashShell/svntotbuild/
>>>>> <https://android.googlesource.com/platform/external/lldb-utils/+/l
l
>
>>>>> 
d
> 
>>>>> 
> b
> 
>>>>> 
>> -
> 
>>>>> 
>>> m
> 
> 
>>>> aster-dev/buildbotScripts/bashShell/svntotbuild/>
> 
> 
>>>>> updateScript as the first step, is just copy the scripts to
>>>>>  local builde rs.
> 
>>>>>> Please let me know if you have further questions.
> 
>>>>>> Thanks, Ying
> 
> 
>>>>>> On Tue, Oct 20, 2015 at 1:46 PM, Kamil Rytarowski 
>>>>>> <n54 at gmx.com <mailto:n54 at gmx.com> <mailto:n54 at gmx.com
>> <mailto:n54 at gmx.com>>
>>>>> <mailto:n54 at gmx.com <mailto:n54 at gmx.com>
>>>>> <mailto:n54 at gmx.com
>> <mailto:n54 at gmx.com>>>
>>>>>> <mailto:n54 at gmx.com <mailto:n54 at gmx.com> 
>>>>>> <mailto:n54 at gmx.com
>> <mailto:n54 at gmx.com>> <mailto:n54 at gmx.com <mailto:n54 at gmx.com>
>>>> <mailto:n54 at gmx.com <mailto:n54 at gmx.com>>>>> wrote:
> 
>>>>>> Hello Ying,
> 
>>>>>> I'm in trouble with my attempts to connect my
>>>>>> NetBSD/amd64 machine to the LLDB/LLVM build zone.
> 
>>>>>> My host is NetBSD-7.0 (with buildslave ID: 
>>>>>> lldb-amd64-ninja-netbsd7). I use pkgsrc (2015Q3) to ship
>>>>>>  packages. I'm attaching a list of installed ones to this
>>>>>>  mail.
> 
>>>>>> I talked with Joerg and it was decided to go for CMake
>>>>>> and Ninja, we don't want to change it for now (at least
>>>>>> till single machine will be plugged in).
> 
>>>>>> Please try to spawn local NetBSD session and connect to 
>>>>>> the staging buildbot and debug it locally, to cut the 
>>>>>> number of iterations between me and the Galina.
> 
>>>>>> I'm adding here a short tutorial to get to reproduce 
>>>>>> quickly the setup of mine. It will take you like 2-5 
>>>>>> minutes to get into installed system (depends of an 
>>>>>> internet connection).
> 
>>>>>> 1. Prepare a disk image. $ qemu-img create -f qcow2 
>>>>>> netbsd7.0_amd64 10G
> 
>>>>>> 2. Get an installation media. $ $FETCH_TOOL 
>>>>>> ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-7.0/amd64/installation/cdr
o
>
>>>>>> 
m
> 
>>>>>> 
> /
> 
>>>>>> 
>> b
> 
>>>>>> 
>>> o
> 
>>>>>> 
>>>> ot
> 
> 
>>>>> -com.iso
> 
>>>>>> 3. Spawn installation $ qemu-system-x86_64 \ -enable-kvm
>>>>>> \ -net user \ -m 2G \ -cdrom boot-com.iso \ -nographic \ 
>>>>>> -smp cores=2 \ -hda netbsd7.0_amd64 \ -boot d
> 
>>>>>> 4. Inside the installer push ctrl-c and get the command 
>>>>>> line.
> 
>>>>>> 5. Setup network connection: # dhcpcd
> 
>>>>>> 6. Go to a writable dir, like /tmp # cd /tmp
> 
>>>>>> 7. Fetch the autoinst.sh script of mine # ftp 
>>>>>> ftp://ftp.netbsd.org/pub/NetBSD/misc/kamil/autoinst.sh
> 
>>>>>> # sh autoinst.sh -s 128 -r mypass -c com0 -C 9600 -p wd0
> 
>>>>>> (take a coffee break)
> 
>>>>>> 8. If everything went OK, just type: # poweroff
> 
>>>>>> 9. Start your newly installed system qemu-system-x86_64 \
>>>>>>  -enable-kvm \ -net user \ -m 2G \ -nographic \ -smp
>>>>>> cores=2 \ -hda netbsd7.0_amd64 \ -boot c (root password
>>>>>> is empty)
> 
>>>>>> 10. Install dependencies from pkgsrc, like: # cd 
>>>>>> /usr/pkgsrc/devel/cmake && make install
> 
>>>>>> Please install packags needed for buildslave, create 
>>>>>> dedicated user and try to connect it to the salve.
> 
>>>>>> Thank you in advance,
> 
>>>>>> On 20.10.2015 21:40, Galina Kistanova wrote:
>>>>>>> Hello Kamil,
> 
>>>>>>> It looks like you are missing dependencies for the LLDB
>>>>>>>  builder you have chosen. 
>>>>>>> http://lab.llvm.org:8014/builders/lldb-amd64-ninja-netbsd7/build
s
>
>>>>>>> 
/
> 
>>>>>>> 
> 7
> 
>>>>>>> 
>> 5
> 
>>>>>>> 
>>> /
> 
>>>>>>> 
>>>> s
> 
>>>>>>> 
>>>>> teps/update%20scripts/logs/stdio
>>>>>> <http://lab.llvm.org:8014/builders/lldb-amd64-ninja-netbsd7/build
s
>
>>>>>> 
/
> 
>>>>>> 
> 7
> 
>>>>>> 
>> 5
> 
>>>>>> 
>>> /
> 
>>>>>> 
>>>> s
> 
> 
>>>>> teps/update%20scripts/logs/stdio>
> 
> 
> 
>>>>>> The getLLDBScriptCommandsFactory build factory does not 
>>>>>> document
>>>>>>> the assumed dependency, so you may want to contact Ying
>>>>>>>  Chen, who is the author for the complete list of 
>>>>>>> dependencies.
> 
>>>>>>> Another thing you may want to do is to reconsider the 
>>>>>>> builder you want to use. Maybe 
>>>>>>> LLDBBuilder.getLLDBBuildFactory would work better for 
>>>>>>> you, though it requires autoconfig and make.
> 
>>>>>>> I'm adding the LLDB mail list in case somebody has an 
>>>>>>> idea of what would be the easiest way to get the
>>>>>>> NetBSD builder for LLDB up and running.
> 
>>>>>>> Hello everyone,
> 
>>>>>>> Kamil is on the mission of getting LLDB builder for 
>>>>>>> NetBSDwhich would build clang+LLVM, then LLDB and run 
>>>>>>> tests. What is the shortest and less painful route 
>>>>>>> there? Any suggestions? Just looking at the source
>>>>>>> code of the current set of the LLDB builders, it is
>>>>>>> hard to tell which one is the "main".
> 
>>>>>>> Thanks
> 
>>>>>>> Galina
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
>>> _______________________________________________ lldb-commits 
>>> mailing list lldb-commits at lists.llvm.org
>> <mailto:lldb-commits at lists.llvm.org>
>>> http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
> 
> 
> 
> 
> 
> _______________________________________________ lldb-commits
> mailing list lldb-commits at lists.llvm.org 
> http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
> 

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQIcBAEBCAAGBQJWJuyvAAoJEEuzCOmwLnZsHLUQAKFdXaz9awKYPVa10SRdhlw5
va1OcJDF1gmdePGODsYP4jicBk409cD3ZtZG+o9xyS1kgKCHOwIx7JLvcw2Sylie
73OikYapg69xEd288DX3DYVuc0T6YnU3iSZy9Yj6ugg9RyN0zEP/ejC/xxj8ZVwq
n1F1q69ykMvx9K9HjxtFimls3b4UAi94lwB+QOLWvuJP0xr4xpKRYNMtYSYm1vqG
F5pUiwF2Dn0CwoX0IiY/5Qxm7cljqYBSrJyFZ0+Gq5nFZg+SCmVTmBLzKMGeMLFk
uP0JeJ8ApZThFxh5ZDz57BNu3wUdNDwBv8IYXtyCDwPveSNQ2iwVF57TJX8KtHaN
dkhwcwnkziPH6c9OojbT2U3iS6pjWgU61m5GnGrxEMnSb0cZ+CXVp63P2vNg4si1
dkfl2HsG6+T0yyQKZcnYNDyTg88Ni1M/zOY6UhcvxyIJ/it3IW14M3redp7IvoMk
IcuNbrAt6a2+12yfZeUjWize49G0WFACnCnsl0pLBULXVcFzU4Yvpre+cpYHHsQ1
i9w1MXV6SPlFxfdjGGvllBooNJtNikzI4r7SDF/6+N4H3Ad5OPtVWiPny706tSvi
+Nr+lWIHsfiMdv2xyUT9qfcupHks1JqO5/dq9uxac42r8Cs3UqaOAeK0W+HivneK
1sO3GxKleHKifGgP98Tv
=8qIK
-----END PGP SIGNATURE-----


More information about the lldb-commits mailing list