You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- copy the hash of the step you want to debug e.g. `631291db1751` in this case
76
-
- `docker run -it --entrypoint /bin/bash 631291db1751 # (the hash you copied)`
78
+
- copy the hash of the step you want to debug e.g. `da81452bc214` in this case
79
+
- `docker run -it --entrypoint /bin/bash da81452bc214 # (the hash you copied)`
77
80
78
81
Now we have a prompt inside the part-built container and can retry the failed
79
82
command.
80
83
81
84
```bash
82
-
cd /workspaces/ioc-lakeshore340/ibek-support
83
-
StreamDevice/install.sh 2.8.24
85
+
ansible.sh StreamDevice
84
86
```
85
87
86
88
You should see the same error again.
@@ -129,28 +131,29 @@ Now we can install the missing package in the container and retry the build:
129
131
130
132
```bash
131
133
apt-get install -y libpcre3-dev
132
-
StreamDevice/install.sh 2.8.24
134
+
ansible.sh StreamDevice
133
135
```
134
136
135
-
You should find the build succeeds. But this is not the whole story. There
136
-
is another line in `install.h` that I added to make this work:
137
+
You should find the build succeeds. But this is not the whole story. There is another section in `StreamDevice.install.yml` that I added to make this work:
137
138
138
-
```bash
139
-
ibek support add-config-macro ${NAME} PCRE_LIB /usr/lib/x86_64gnu
139
+
```yaml
140
+
patch_lines:
141
+
- path: "{{ config_linux_host }}"
142
+
regexp: PCRE_LIB
143
+
line: PCRE_LIB=/usr/lib/x86_64-linux-gnu
144
+
when: "{{ is_linux }}"
140
145
```
141
146
142
147
This added a macro to `CONFIG_SITE.linux-x86_64.Common` that tells the
143
148
Makefiles to add an extra include path to the compiler command line. working
144
149
out how to do this is a matter of taking a look in the Makefiles. But the
145
150
nice thing is that you can experiment with things inside the container and
146
151
get them working without having to keep rebuilding the container.
152
+
(TODO: strictly speaking this could be improved, we should remove the {{ is_linux }} and use the path {{ config_linux_target }} instead, that updates CONFIG_SITE.Common.linux-x86_64 which only affects the linux-x86_64 target)
147
153
148
-
Note that `ibek support add-config-macro` is idempotent, so you can run it
149
-
multiple times without getting repeated entries in the CONFIG. All `ibek`
150
-
commands behave this way as far as possible.
154
+
Note that ansible is idempotent, so you can run it multiple times without getting repeated entries in the CONFIG.
151
155
152
-
Once you are happy with your manual changes you can make them permanent by
153
-
adding to the install.sh or Dockerfile, then try a full rebuild.
156
+
Once you are happy with your manual changes you can make them permanent by adding to the `<module>install.yml` or Dockerfile, then try a full rebuild.
0 commit comments