Compatibility Issue of the Host and the VM
Closed this issue · 5 comments
Hi,
I am delighted that I have successfully deployed your infrastructure and run a simple simulation but I found a compatibility issue for the test-client executable. I deployed the whole project onto a Ubuntu 22.04.1 LTS machine, with kernel version 5.15.0-47-generic, and Glibc version 2.35. I compiled all the codes on my host machine and ran the simulation under the provided disk image. It failed due to a higher Glibc version requirement for test-client in the provided VM (the provided image has Glibc version 2.31).
For now, I manually compile test-client on an older version of kernel and Glibc, then upload it to the VM for simulation. It solves the problem but I believe it's better to compile all the codes in the VM during setup. (I guess you want to keep a cleaner VM so it does not even have a go compiler.)
I think this will make it easier to use.
Best,
Kaifeng
Hi Kaifeng,
Thanks for letting me know!
First of all I have to say that I did not test everything with the 22.04.1 version. Therefore I didn't advertise it as a feature. It was rather a request from one user and I could not test everything properly yet.
But this is good to know that it works except for this.
Can you maybe send the log files of the error?
Then I might be able to fix it.
Thanks again!
@xkf15 thanks for reporting! we would welcome your contribution! it would be great if you could help us support Ubuntu 22
Hi Kaifeng, Thanks for letting me know! First of all I have to say that I did not test everything with the 22.04.1 version. Therefore I didn't advertise it as a feature. It was rather a request from one user and I could not test everything properly yet.
But this is good to know that it works except for this. Can you maybe send the log files of the error? Then I might be able to fix it.
Thanks again!
Hi David,
Here is the full install.log, the errors are related to the Glibc version. I think the issue is that in my host Ubuntu22 machine, the Glibc version is 2.35, but in the VM, it has a lower version, so it says "`GLIBC_2.34' not found". I am not sure what's the best way to fix it, I guess compiling the codes in the VM may help.
Best,
Kaifeng
+ curl http://10.0.2.2:3003/test-client -f -o /root/test-client
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
100 12.3M 100 12.3M 0 0 427M 0 --:--:-- --:--:-- --:--:-- 427M
+ chmod 755 /root/test-client
+ curl http://10.0.2.2:3003/functions.yaml -f -o /root/functions.yaml
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
100 3312 100 3312 0 0 3234k 0 --:--:-- --:--:-- --:--:-- 3234k
+ curl http://10.0.2.2:3003/functions.list -f -o /root/functions.list
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
100 48 100 48 0 0 48000 0 --:--:-- --:--:-- --:--:-- 48000
++ cat /root/functions.list
++ sed '/^\s*#/d;/^\s*$/d'
+ FUNCTIONS='fibonacci-go
fibonacci-nodejs
fibonacci-python'
+ for f in $FUNCTIONS
+ pull_test_function fibonacci-go
+ FUNCTION_NAME=fibonacci-go
+ echo 'Install and test: fibonacci-go '
Install and test: fibonacci-go
+ docker-compose -f /root/functions.yaml pull fibonacci-go
fibonacci-go Pulling
4c3010804819 Pulling fs layer
376031597b2f Pulling fs layer
b82becefddd5 Pulling fs layer
4c3010804819 Downloading 99B/99B
4c3010804819 Verifying Checksum
4c3010804819 Download complete
4c3010804819 Extracting 99B/99B
4c3010804819 Extracting 99B/99B
4c3010804819 Pull complete
376031597b2f Downloading 2.137kB/115.2kB
376031597b2f Verifying Checksum
376031597b2f Extracting 32.77kB/115.2kB
376031597b2f Extracting 115.2kB/115.2kB
b82becefddd5 Downloading 78.9kB/7.676MB
b82becefddd5 Downloading 2.122MB/7.676MB
b82becefddd5 Downloading 4.273MB/7.676MB
b82becefddd5 Downloading 6.738MB/7.676MB
b82becefddd5 Verifying Checksum
b82becefddd5 Download complete
376031597b2f Pull complete
b82becefddd5 Extracting 98.3kB/7.676MB
b82becefddd5 Extracting 7.676MB/7.676MB
b82becefddd5 Pull complete
fibonacci-go Pulled
+ docker-compose -f /root/functions.yaml up -d --remove-orphans fibonacci-go
Network root_default Creating
Network root_default Created
Container function Creating
Container function Created
Container function Starting
Container function Started
+ sleep 5
+ /root/test-client -function-name fibonacci-go -url localhost -port 50000 -n 5 -input 1
/root/test-client: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.32' not found (required by /root/test-client)
/root/test-client: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by /root/test-client)
+ docker-compose -f /root/functions.yaml down
Container function Stopping
Container function Stopping
Container function Stopped
Container function Removing
Container function Removed
Network root_default Removing
Network root_default Removed
++ docker ps -a -q
+ CONTAINERS=
++ expr length ''
+ '[' 0 -gt 0 ']'
+ for f in $FUNCTIONS
+ pull_test_function fibonacci-nodejs
+ FUNCTION_NAME=fibonacci-nodejs
+ echo 'Install and test: fibonacci-nodejs '
Install and test: fibonacci-nodejs
+ docker-compose -f /root/functions.yaml pull fibonacci-nodejs
fibonacci-nodejs Pulling
461246efe0a7 Already exists
2109e39d8e97 Already exists
c13b86695d29 Already exists
3638cced3688 Already exists
99720dbfc7e0 Already exists
0474d454e71d Pulling fs layer
c3f5c6456b6d Pulling fs layer
c3f5c6456b6d Downloading 38.94kB/3.875MB
0474d454e71d Downloading 99B/99B
0474d454e71d Verifying Checksum
0474d454e71d Download complete
0474d454e71d Extracting 99B/99B
0474d454e71d Extracting 99B/99B
c3f5c6456b6d Downloading 3.483MB/3.875MB
c3f5c6456b6d Downloading 3.875MB/3.875MB
c3f5c6456b6d Verifying Checksum
c3f5c6456b6d Download complete
0474d454e71d Pull complete
c3f5c6456b6d Extracting 65.54kB/3.875MB
c3f5c6456b6d Extracting 917.5kB/3.875MB
c3f5c6456b6d Extracting 1.573MB/3.875MB
c3f5c6456b6d Extracting 2.621MB/3.875MB
c3f5c6456b6d Extracting 3.875MB/3.875MB
c3f5c6456b6d Pull complete
fibonacci-nodejs Pulled
+ docker-compose -f /root/functions.yaml up -d --remove-orphans fibonacci-nodejs
Network root_default Creating
Network root_default Created
Container function Creating
Container function Created
Container function Starting
Container function Started
+ sleep 5
+ /root/test-client -function-name fibonacci-nodejs -url localhost -port 50000 -n 5 -input 1
/root/test-client: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.32' not found (required by /root/test-client)
/root/test-client: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by /root/test-client)
+ docker-compose -f /root/functions.yaml down
Container function Stopping
Container function Stopping
Container function Stopped
Container function Removing
Container function Removed
Network root_default Removing
Network root_default Removed
++ docker ps -a -q
+ CONTAINERS=
++ expr length ''
+ '[' 0 -gt 0 ']'
+ for f in $FUNCTIONS
+ pull_test_function fibonacci-python
+ FUNCTION_NAME=fibonacci-python
+ echo 'Install and test: fibonacci-python '
Install and test: fibonacci-python
+ docker-compose -f /root/functions.yaml pull fibonacci-python
fibonacci-python Pulling
025c56f98b67 Pulling fs layer
778656c04542 Pulling fs layer
a797f4af5315 Pulling fs layer
80295b16500b Pulling fs layer
25b33f30a646 Pulling fs layer
8dfdbc885c70 Pulling fs layer
59c5b73102bc Pulling fs layer
4f4fb700ef54 Pulling fs layer
80295b16500b Waiting
25b33f30a646 Waiting
8dfdbc885c70 Waiting
59c5b73102bc Waiting
4f4fb700ef54 Waiting
025c56f98b67 Downloading 326.9kB/31.41MB
778656c04542 Downloading 11.71kB/1.078MB
a797f4af5315 Downloading 114.5kB/11.33MB
778656c04542 Verifying Checksum
778656c04542 Download complete
025c56f98b67 Downloading 5.495MB/31.41MB
a797f4af5315 Downloading 1.751MB/11.33MB
80295b16500b Downloading 231B/231B
80295b16500b Verifying Checksum
80295b16500b Download complete
025c56f98b67 Downloading 9.063MB/31.41MB
a797f4af5315 Downloading 3.828MB/11.33MB
25b33f30a646 Downloading 32.08kB/3.179MB
025c56f98b67 Downloading 12.93MB/31.41MB
a797f4af5315 Downloading 6.028MB/11.33MB
25b33f30a646 Downloading 1.588MB/3.179MB
025c56f98b67 Downloading 16.51MB/31.41MB
25b33f30a646 Verifying Checksum
25b33f30a646 Download complete
a797f4af5315 Downloading 8.223MB/11.33MB
025c56f98b67 Downloading 19.42MB/31.41MB
a797f4af5315 Downloading 9.841MB/11.33MB
8dfdbc885c70 Downloading 94.47kB/9.268MB
025c56f98b67 Downloading 21.67MB/31.41MB
a797f4af5315 Verifying Checksum
a797f4af5315 Download complete
8dfdbc885c70 Downloading 4.769MB/9.268MB
025c56f98b67 Downloading 24.61MB/31.41MB
59c5b73102bc Downloading 771B/3.965kB
59c5b73102bc Downloading 3.965kB/3.965kB
59c5b73102bc Verifying Checksum
59c5b73102bc Download complete
8dfdbc885c70 Verifying Checksum
8dfdbc885c70 Download complete
4f4fb700ef54 Downloading 32B/32B
4f4fb700ef54 Verifying Checksum
4f4fb700ef54 Download complete
025c56f98b67 Downloading 27.52MB/31.41MB
025c56f98b67 Downloading 30.13MB/31.41MB
025c56f98b67 Verifying Checksum
025c56f98b67 Download complete
025c56f98b67 Extracting 327.7kB/31.41MB
025c56f98b67 Extracting 8.52MB/31.41MB
025c56f98b67 Extracting 16.71MB/31.41MB
025c56f98b67 Extracting 27.85MB/31.41MB
025c56f98b67 Extracting 30.15MB/31.41MB
025c56f98b67 Extracting 31.41MB/31.41MB
025c56f98b67 Pull complete
778656c04542 Extracting 32.77kB/1.078MB
778656c04542 Extracting 1.078MB/1.078MB
778656c04542 Extracting 1.078MB/1.078MB
778656c04542 Pull complete
a797f4af5315 Extracting 131.1kB/11.33MB
a797f4af5315 Extracting 4.981MB/11.33MB
a797f4af5315 Extracting 11.33MB/11.33MB
a797f4af5315 Pull complete
80295b16500b Extracting 231B/231B
80295b16500b Extracting 231B/231B
80295b16500b Pull complete
25b33f30a646 Extracting 32.77kB/3.179MB
25b33f30a646 Extracting 2.982MB/3.179MB
25b33f30a646 Extracting 3.179MB/3.179MB
25b33f30a646 Pull complete
8dfdbc885c70 Extracting 98.3kB/9.268MB
8dfdbc885c70 Extracting 6.291MB/9.268MB
8dfdbc885c70 Extracting 9.268MB/9.268MB
8dfdbc885c70 Pull complete
59c5b73102bc Extracting 3.965kB/3.965kB
59c5b73102bc Extracting 3.965kB/3.965kB
59c5b73102bc Pull complete
4f4fb700ef54 Extracting 32B/32B
4f4fb700ef54 Extracting 32B/32B
4f4fb700ef54 Pull complete
fibonacci-python Pulled
+ docker-compose -f /root/functions.yaml up -d --remove-orphans fibonacci-python
Network root_default Creating
Network root_default Created
Container function Creating
Container function Created
Container function Starting
Container function Started
+ sleep 5
+ /root/test-client -function-name fibonacci-python -url localhost -port 50000 -n 5 -input 1
/root/test-client: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.32' not found (required by /root/test-client)
/root/test-client: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by /root/test-client)
+ docker-compose -f /root/functions.yaml down
Container function Stopping
Container function Stopping
Container function Stopped
Container function Removing
Container function Removed
Network root_default Removing
Network root_default Removed
++ docker ps -a -q
+ CONTAINERS=
++ expr length ''
+ '[' 0 -gt 0 ']'
+ end_logging
+ exec
@xkf15 thanks for reporting! we would welcome your contribution! it would be great if you could help us support Ubuntu 22
I am very happy to contribute. My current solution is pretty ugly, just to precompile test-client
in an old version of the machine and upload it to gem5 VM to do the tests. Not sure what is the best way to do that, but I think maybe compiling inside VM, rather than compiling on the host, may help.
Best,
Kaifeng