XO from source and CentOS 7
-
Did something break with CentOS 7, and XO?
I run mine, built from source, and went to update CentOS 7, and XO today, and it broke badly. An error is below, from the /var/log/orchestra.log. Also some mention at (which i don't use, currently)
https://github.com/ronivay/XenOrchestraInstallerUpdater/issues/59that CentOS 7 support is gone!?
thanks.2020-12-30T22:42:59.610Z xo:xo-server ERROR uncaught exception { error:
Error: /lib64/libstdc++.so.6: version `CXXABI_1.3.8' not found (required by /root/xen-orchestra/node_modules/argon2/lib/binding/napi-v3/argon2.node)
at Object.Module._extensions..node (internal/modules/cjs/loader.js:807:18)
at Module.load (internal/modules/cjs/loader.js:653:32)
at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
at Function.Module._load (internal/modules/cjs/loader.js:585:3)
at Module.require (internal/modules/cjs/loader.js:692:17)
at require (internal/modules/cjs/helpers.js:25:18)
at Object.<anonymous> (/root/xen-orchestra/node_modules/argon2/argon2.js:9:56)
at Module._compile (internal/modules/cjs/loader.js:778:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
at Module.load (internal/modules/cjs/loader.js:653:32)
at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
at Function.Module._load (internal/modules/cjs/loader.js:585:3)
at Module.require (internal/modules/cjs/loader.js:692:17)
at require (internal/modules/cjs/helpers.js:25:18)
at Object.<anonymous> (/root/xen-orchestra/node_modules/hashy/index.js:124:4)
at Module._compile (internal/modules/cjs/loader.js:778:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
at Module.load (internal/modules/cjs/loader.js:653:32)
at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
at Function.Module._load (internal/modules/cjs/loader.js:585:3)
at Module.require (internal/modules/cjs/loader.js:692:17)
at require (internal/modules/cjs/helpers.js:25:18) }
error: Forever detected script exited with code: 0 -
@bberndt I doubt that support has been removed for centos 7. It's more likely that a required 3rd party library needs to be updated or built from source.
Did you encounter any issues during the actual build process?
-
@bberndt Hello, I believe that what @danp said is correct. There are some dependencies where XO requires newer versions not present in the current stock CentOS 7 distro. I also use Roni's script to build my XO appliance from source and it works flawlessly under CentOS 8 minimal installation with developer tools installed. You might want to spin that up and give it a try as it will probably be faster and less aggravating than manually resolving the issues. My normal practice is to update the OS fully, then run the script to recompile and upgrade XO. Hope this helps.
-
I don't remember we ever claimed to have specific distro version support @Danp
-
@olivierlambert I didn't mean to imply that Vates ever made such a claim. I was simply responding to the issue in the OP, which is where the removal of support for Centos 7 was first mentioned.
P.S. Happy New Year!
-
Indeed So OP thought there was a CentOS 7 support at the first place, I don't know where he found this information.
edit : and Happy new year too!!
-
Well, you are right, There wasn't explicit support for Cent I don't think. The installer script that I mentioned, did mention it (but not a primary target), and I thought it looked like it dropped 7. We've been standardizing on Cent, thats why I chose it. And am skittish on using 8 now that Redhat dropped it, hard. In fact I've been backtracking the couple machines I used 8 on.
In any case, I have two XO machines on different VLANs, one in the colocation facility. I attempted to update Cent, like I usually do, when you all release a version, and then update XO, with the git command, and the yarn, yarn build command. None of that seemed to error out at all.
After the error, and XO wouldn't start, I rolled back to the previous folder, and it started. So good news there. I looked at the other XO server, that I didn't upgrade, and it has gcc and gcc-g++ installed, and the first one does NOT. Weird that XO works at all, I guess. Not sure thats the key, but I'll have to do some testing with that.
Thanks all for the reply, and happy new year. Hope it gets better.
-
It might be related to an update in Node or a dep, causing this. So indeed, the solution would be to go for any more recent distro. Remember that we only officially support Xen Orchestra inside the turnkey appliance. We try to avoid breaking things as we can, but there's no guarantee outside XOA.
-
I concentrated here, after upgrading my second server:
Error: /lib64/libstdc++.so.6: version `CXXABI_1.3.8' not found (required by /root/xen-orchestra/node_modules/argon2/lib/binding/napi-v3/argon2.node)I've found circumstantial evidence that this depends on libraries found in newer gcc than is in the Cent OS 7 repo at this time.
strings /usr/lib64/libstdc++.so.6 | grep CXXABI
CXXABI_1.3
CXXABI_1.3.1
CXXABI_1.3.2
CXXABI_1.3.3
CXXABI_1.3.4
CXXABI_1.3.5
CXXABI_1.3.6
CXXABI_1.3.7
CXXABI_TM_1so argon2.node requires something newer than centos7 can provide?!
and upgrading gcc does the trick? I may have to try when I have more time.
https://stackoverflow.com/questions/63374392/node-module-argon2-usr-lib-x86-64-linux-gnu-libstdc-so-6-version-cxxabi-1Indeed here is Centos 8.
$ strings /usr/lib64/libstdc++.so.6 | grep CXXABI
CXXABI_1.3
CXXABI_1.3.1
CXXABI_1.3.2
CXXABI_1.3.3
CXXABI_1.3.4
CXXABI_1.3.5
CXXABI_1.3.6
CXXABI_1.3.7
CXXABI_1.3.8
CXXABI_1.3.9
CXXABI_1.3.10
CXXABI_1.3.11
CXXABI_TM_1
CXXABI_FLOAT128and yes, I understand that XO doesn't target CentOS, but its our 'standard' right now.