gcc 5.x move to the new ABI - new toolchain
Next big group is to move to the new gcc ABI.
that includes also that we must update the whole toolchain group.
- prepare the .py script
- prepare the full list of core packages to rebuild (https://piratenpad.de/p/chakra-gcc)
- update gcc and the toolchain
- rebuild the list of packages (gitlab-ci?)
thanks Inkane, do you know already how to map this libraries? and how to have the list of packages to rebuild?
Hm, that's actually a bit difficult. Let's assume that we don't want to compile each and every package. In that case, one way to move forward would be to try to install all packages. Then, scan the .so files in /usr/lib and its subdirectories and check if they depend on libstdc++.so. Those need to be rebuild. Afterwards, we can use pacman -Qo to get the packages from the libraries. Finally, we order the packages by their dependency tree and rebuild them in that order. To collect the files, you can use https://paste.kde.org/pelkfwcp0 , which is basically a repurposed version of chakra-check-links. If I can find a bit more time, I can add the part where it runs pacman -Qo.
thanks Fabian, instead of installing all packages, can we untar every pkg in a loop and readelf the libraries? Do you know how to reorder by dependencies? there is something already coded? I think I found it, rebuildlist-order.py in our repos. With that script I should be able to reorder a list of packages based on their deps
Regarding the installation: If you change the path in the script above, it should still work on the extracted files.
I changed this line with:
"for dpath, dnames, fnames in walk_multi_dir("/home/luca/Chakra/repo/chakra-pkgs/core/usr"):" but it continue to search in /usr, then /home/luca/Chakra/repo/chakra-pkgs/core/usr. Do you know why
Oh my, stupid error on my part. walk_multi_dir expects a list as its argument, not a string. Needs to be walk_multi_dir(["/home/luca/Chakra/repo/chakra-pkgs/core/usr"]).
yes, sorry, I saw later. But if I set a list the script returns immediately without any output...
Now I wrote:
for dpath, dnames, fnames in walk_multi_dir(['/home/luca/Chakra/repo/chakra-pkgs/core/usr']):
my bad, I had a debug code enabled:
if "/home/luca" in lib: break
it works now...