Rename libraries to always have ROOT prefix
This Pull request:
Changes or fixes:
Adds an option to the ROOT_STANDARD_LIBRARY_PACKAGE macro to allow renaming libraries with sub-optimal names (e.g. libGui). On install, it will symlink from the legacy name to the new name (e.g. libGui.so -> libROOTGui.so).
This is still a draft with a proof of concept. The libraries have not been renamed yet and it is not optional at the moment (requires for Windows and nice to have for distributions).
Checklist:
- [ ] tested changes locally
- [x] updated the docs (if necessary)
- [ ] make it optional
- [ ] prefix all libraries with ROOT
This PR fixes #10985.
Can one of the admins verify this patch?
@phsft-bot build
Starting build on ROOT-debian10-i386/soversion, ROOT-performance-centos8-multicore/cxx17, ROOT-ubuntu18.04/nortcxxmod, ROOT-ubuntu2004/python3, mac1015/cxx17, mac11/cxx14, windows10/cxx14
How to customize builds
Build failed on ROOT-performance-centos8-multicore/cxx17. Running on olbdw-01.cern.ch:/data/sftnight/workspace/root-pullrequests-build See console output.
Errors:
- [2022-08-01T09:36:09.588Z] CMake Error at gui/gui/CMakeLists.txt:210 (target_include_directories):
- [2022-08-01T09:36:15.274Z] CMake Error at /data/sftnight/workspace/root-pullrequests-build/rootspi/jenkins/root-build.cmake:1160 (message):
Build failed on ROOT-debian10-i386/soversion. Running on pcepsft10.dyndns.cern.ch:/build/workspace/root-pullrequests-build See console output.
Errors:
- [2022-08-01T09:36:11.691Z] CMake Error at gui/gui/CMakeLists.txt:210 (target_include_directories):
- [2022-08-01T09:36:16.999Z] CMake Error at /home/sftnight/build/workspace/root-pullrequests-build/rootspi/jenkins/root-build.cmake:1160 (message):
Build failed on ROOT-ubuntu2004/python3. Running on root-ubuntu-2004-1.cern.ch:/home/sftnight/build/workspace/root-pullrequests-build See console output.
Errors:
- [2022-08-01T09:36:17.826Z] CMake Error at gui/gui/CMakeLists.txt:210 (target_include_directories):
- [2022-08-01T09:36:29.996Z] CMake Error at /home/sftnight/build/workspace/root-pullrequests-build/rootspi/jenkins/root-build.cmake:1160 (message):
Build failed on mac11/cxx14. Running on macphsft20.dyndns.cern.ch:/Users/sftnight/build/workspace/root-pullrequests-build See console output.
Errors:
- [2022-08-01T09:36:23.560Z] CMake Error at gui/gui/CMakeLists.txt:210 (target_include_directories):
- [2022-08-01T09:36:30.859Z] CMake Error at /Users/sftnight/build/workspace/root-pullrequests-build/rootspi/jenkins/root-build.cmake:1160 (message):
Build failed on ROOT-ubuntu18.04/nortcxxmod. Running on sft-ubuntu-1804-2.cern.ch:/build/workspace/root-pullrequests-build See console output.
Errors:
- [2022-08-01T09:37:28.342Z] CMake Error at gui/gui/CMakeLists.txt:210 (target_include_directories):
- [2022-08-01T09:37:40.215Z] CMake Error at /mnt/build/workspace/root-pullrequests-build/rootspi/jenkins/root-build.cmake:1160 (message):
Build failed on windows10/cxx14. Running on null:C:\build\workspace\root-pullrequests-build See console output.
Errors:
- [2022-08-01T09:38:48.920Z] CMake Error at gui/gui/CMakeLists.txt:210 (target_include_directories):
- [2022-08-01T09:39:31.570Z] CMake Error at C:/build/workspace/root-pullrequests-build/rootspi/jenkins/root-build.cmake:1160 (message):
Build failed on mac1015/cxx17. Running on macitois22.dyndns.cern.ch:/Users/sftnight/build/workspace/root-pullrequests-build See console output.
Errors:
- [2022-08-01T09:39:35.811Z] CMake Error at gui/gui/CMakeLists.txt:210 (target_include_directories):
- [2022-08-01T09:40:02.079Z] CMake Error at /Volumes/HD2/build/workspace/root-pullrequests-build/rootspi/jenkins/root-build.cmake:1160 (message):
@phsft-bot build
Starting build on ROOT-debian10-i386/soversion, ROOT-performance-centos8-multicore/cxx17, ROOT-ubuntu18.04/nortcxxmod, ROOT-ubuntu2004/python3, mac1015/cxx17, mac11/cxx14, windows10/cxx14
How to customize builds
Build failed on ROOT-ubuntu18.04/nortcxxmod. Running on sft-ubuntu-1804-2.cern.ch:/build/workspace/root-pullrequests-build See console output.
Errors:
- [2022-08-01T11:11:00.334Z] CMake Error at gui/gui/CMakeLists.txt:210 (target_include_directories):
- [2022-08-01T11:11:06.724Z] CMake Error at /mnt/build/workspace/root-pullrequests-build/rootspi/jenkins/root-build.cmake:1160 (message):
Build failed on ROOT-ubuntu2004/python3. Running on root-ubuntu-2004-1.cern.ch:/home/sftnight/build/workspace/root-pullrequests-build See console output.
Errors:
- [2022-08-01T11:11:14.927Z] CMake Error at gui/gui/CMakeLists.txt:210 (target_include_directories):
- [2022-08-01T11:11:26.324Z] CMake Error at /home/sftnight/build/workspace/root-pullrequests-build/rootspi/jenkins/root-build.cmake:1160 (message):
Build failed on windows10/cxx14. Running on null:C:\build\workspace\root-pullrequests-build See console output.
Errors:
- [2022-08-01T11:12:33.102Z] CMake Error at gui/gui/CMakeLists.txt:210 (target_include_directories):
- [2022-08-01T11:13:01.163Z] CMake Error at C:/build/workspace/root-pullrequests-build/rootspi/jenkins/root-build.cmake:1160 (message):
Build failed on ROOT-debian10-i386/soversion. Running on pcepsft11.dyndns.cern.ch:/home/sftnight/build/workspace/root-pullrequests-build See console output.
Errors:
- [2022-08-01T11:41:00.239Z] FAILED: lib/libROOTGui.so.6.27.01
- [2022-08-01T11:41:01.615Z] collect2: error: ld returned 1 exit status
Build failed on ROOT-performance-centos8-multicore/cxx17. Running on olbdw-01.cern.ch:/data/sftnight/workspace/root-pullrequests-build See console output.
Errors:
- [2022-08-01T11:49:03.214Z] collect2: error: ld returned 1 exit status
Build failed on mac11/cxx14. Running on macphsft20.dyndns.cern.ch:/Users/sftnight/build/workspace/root-pullrequests-build See console output.
Errors:
- [2022-08-01T12:21:49.382Z] FAILED: lib/libROOTGui.6.27.01.so
- [2022-08-01T12:21:51.020Z] clang: error: linker command failed with exit code 1 (use -v to see invocation)
Build failed on mac1015/cxx17. Running on macitois21.dyndns.cern.ch:/Users/sftnight/build/workspace/root-pullrequests-build See console output.
Errors:
- [2022-08-01T14:20:07.444Z] FAILED: lib/libROOTGui.6.27.01.so
- [2022-08-01T14:20:10.732Z] clang: error: linker command failed with exit code 1 (use -v to see invocation)
@phsft-bot build
Starting build on ROOT-debian10-i386/soversion, ROOT-performance-centos8-multicore/cxx17, ROOT-ubuntu18.04/nortcxxmod, ROOT-ubuntu2004/python3, mac1015/cxx17, mac11/cxx14, windows10/cxx14
How to customize builds
@Axel-Naumann @bellenot so this is my suggestion to move forward, including an example to rename libGui -> libROOTGui. If this is deemed reasonable, it is then "only" a matter of adding the appropriate switch (on by default, off for gnuinstall and on Windows) and doing this for all the libraries.
Build failed on ROOT-ubuntu2004/python3. Running on root-ubuntu-2004-1.cern.ch:/home/sftnight/build/workspace/root-pullrequests-build See console output.
Errors:
- [2022-08-22T10:02:35.460Z] FAILED: lib/libROOTGui.so.6.27.01
- [2022-08-22T10:02:36.878Z] collect2: error: ld returned 1 exit status
Build failed on mac11/cxx14. Running on macphsft20.dyndns.cern.ch:/Users/sftnight/build/workspace/root-pullrequests-build See console output.
Errors:
- [2022-08-22T10:06:44.580Z] FAILED: lib/libROOTGui.6.27.01.so
- [2022-08-22T10:06:47.122Z] clang: error: linker command failed with exit code 1 (use -v to see invocation)
Build failed on ROOT-performance-centos8-multicore/cxx17. Running on olbdw-01.cern.ch:/data/sftnight/workspace/root-pullrequests-build See console output.
Errors:
- [2022-08-22T10:14:11.666Z] collect2: error: ld returned 1 exit status
Build failed on ROOT-debian10-i386/soversion. Running on pcepsft10.dyndns.cern.ch:/build/workspace/root-pullrequests-build See console output.
Errors:
- [2022-08-22T10:25:23.826Z] collect2: error: ld returned 1 exit status
Build failed on ROOT-ubuntu18.04/nortcxxmod. Running on sft-ubuntu-1804-3.cern.ch:/build/workspace/root-pullrequests-build See console output.
Errors:
- [2022-08-22T10:28:16.358Z] FAILED: lib/libROOTGui.so.6.27.01
- [2022-08-22T10:28:17.729Z] collect2: error: ld returned 1 exit status
Build failed on windows10/cxx14. Running on null:C:\build\workspace\root-pullrequests-build See console output.
Errors:
- [2022-08-22T10:25:47.093Z] C:\build\workspace\root-pullrequests-build\build\bin\libROOTGui.dll : fatal error LNK1120: 1 unresolved externals [C:\build\workspace\root-pullrequests-build\build\gui\gui\ROOTGui.vcxproj]
It looks OK in principle, but requires also changes in TModuleGenerator.cxx (and maybe also elsewhere? Like in the rootmap files maybe?)
It looks OK in principle, but requires also changes in TModuleGenerator.cxx (and maybe also elsewhere? Like in the rootmap files maybe?)
Tbh this is beyond my knowledge of ROOT, so I would need some help there (if this is not breaking any backwards compat?)