root icon indicating copy to clipboard operation
root copied to clipboard

Rename libraries to always have ROOT prefix

Open stephanlachnit opened this issue 3 years ago • 19 comments

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.

stephanlachnit avatar Aug 01 '22 09:08 stephanlachnit

Can one of the admins verify this patch?

phsft-bot avatar Aug 01 '22 09:08 phsft-bot

@phsft-bot build

hahnjo avatar Aug 01 '22 09:08 hahnjo

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

phsft-bot avatar Aug 01 '22 09:08 phsft-bot

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):

phsft-bot avatar Aug 01 '22 09:08 phsft-bot

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):

phsft-bot avatar Aug 01 '22 09:08 phsft-bot

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):

phsft-bot avatar Aug 01 '22 09:08 phsft-bot

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):

phsft-bot avatar Aug 01 '22 09:08 phsft-bot

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):

phsft-bot avatar Aug 01 '22 09:08 phsft-bot

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):

phsft-bot avatar Aug 01 '22 09:08 phsft-bot

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 avatar Aug 01 '22 09:08 phsft-bot

@phsft-bot build

hahnjo avatar Aug 01 '22 11:08 hahnjo

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

phsft-bot avatar Aug 01 '22 11:08 phsft-bot

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):

phsft-bot avatar Aug 01 '22 11:08 phsft-bot

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):

phsft-bot avatar Aug 01 '22 11:08 phsft-bot

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):

phsft-bot avatar Aug 01 '22 11:08 phsft-bot

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

phsft-bot avatar Aug 01 '22 11:08 phsft-bot

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

phsft-bot avatar Aug 01 '22 11:08 phsft-bot

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)

phsft-bot avatar Aug 01 '22 12:08 phsft-bot

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 avatar Aug 01 '22 14:08 phsft-bot

@phsft-bot build

hahnjo avatar Aug 22 '22 09:08 hahnjo

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

phsft-bot avatar Aug 22 '22 09:08 phsft-bot

@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.

stephanlachnit avatar Aug 22 '22 09:08 stephanlachnit

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

phsft-bot avatar Aug 22 '22 10:08 phsft-bot

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)

phsft-bot avatar Aug 22 '22 10:08 phsft-bot

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

phsft-bot avatar Aug 22 '22 10:08 phsft-bot

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

phsft-bot avatar Aug 22 '22 10:08 phsft-bot

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

phsft-bot avatar Aug 22 '22 10:08 phsft-bot

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]

phsft-bot avatar Aug 22 '22 10:08 phsft-bot

It looks OK in principle, but requires also changes in TModuleGenerator.cxx (and maybe also elsewhere? Like in the rootmap files maybe?)

bellenot avatar Aug 22 '22 10:08 bellenot

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?)

stephanlachnit avatar Aug 22 '22 10:08 stephanlachnit