Bug 485624 - Fresh Craft bootstrap install on macOS: list index out of range
Summary: Fresh Craft bootstrap install on macOS: list index out of range
Status: RESOLVED WORKSFORME
Alias: None
Product: Craft
Classification: Unmaintained
Component: Core (show other bugs)
Version: unspecified
Platform: Other Other
: NOR normal
Target Milestone: ---
Assignee: Hannah von Reth
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-04-16 08:40 UTC by Dawid Wróbel
Modified: 2024-09-22 20:15 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Dawid Wróbel 2024-04-16 08:40:24 UTC
SUMMARY

I attempted to do a fresh install of Craft on macOS 13.3.1:

cromo@macpro ~ % curl https://raw.githubusercontent.com/KDE/craft/master/setup/CraftBootstrap.py -o setup.py && python3 setup.py --prefix ~/CraftRoot
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 15618  100 15618    0     0  34936      0 --:--:-- --:--:-- --:--:-- 36069
Welcome to the Craft setup wizard!
Craft will be installed to: /Users/cromo/CraftRoot
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Select the version of Qt you want to use (Craft can't mix Qt5 and Qt6). This will change the cache version used by craft
[0] Qt5, [1] Qt6 (Default is Qt6): 0
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Select target architecture
[0] x86_64, [1] arm64 (Default is x86_64):
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Do you want to enable the support for colored logs
[0] Yes, [1] No (Default is Yes):
Starting to download https://invent.kde.org/packaging/craft/-/archive/qt5-lts/craft-qt5-lts.zip to /Users/cromo/CraftRoot/download/craft-qt5-lts.zip
827392 bytes downloaded
Execute: /Library/Developer/CommandLineTools/usr/bin/python3 /Users/cromo/CraftRoot/craft-tmp/bin/craft.py --unshelve /Users/cromo/CraftRoot/etc/bootstrap.shelf
Craft               : /Users/cromo/CraftRoot
ABI                 : macos-clang-x86_64
Download directory  : /Users/cromo/CraftRoot/download
Cache repository    : https://files.kde.org/craft/Qt5/24.03/macos/clang/x86_64
Craft               : /Users/cromo/CraftRoot
ABI                 : macos-clang-x86_64
Download directory  : /Users/cromo/CraftRoot/download
Cache repository    : https://files.kde.org/craft/Qt5/24.03/macos/clang/x86_64
setOptions: BlueprintSettings.ini [virtual]ignored = True
setOptions: BlueprintSettings.ini [libs]ignored = True
setOptions: BlueprintSettings.ini [dev-utils]ignored = True
list index out of range
Traceback (most recent call last):
  File "/Users/cromo/CraftRoot/craft-tmp/bin/craft.py", line 416, in <module>
    success = main(timer)
  File "/Users/cromo/CraftRoot/craft-tmp/bin/craft.py", line 406, in main
    if not CraftCommands.run(package, action, tempArgs):
  File "/Users/cromo/CraftRoot/craft-tmp/bin/CraftCommands.py", line 419, in run
    depList = depPackage.getDependencies(depType=depType)
  File "/Users/cromo/CraftRoot/craft-tmp/bin/Blueprints/CraftDependencyPackage.py", line 140, in getDependencies
    self.depenendencyType = depType
  File "/Users/cromo/CraftRoot/craft-tmp/bin/Blueprints/CraftDependencyPackage.py", line 46, in depenendencyType
    self.__resolveDependencies()
  File "/Users/cromo/CraftRoot/craft-tmp/bin/Blueprints/CraftDependencyPackage.py", line 61, in __resolveDependencies
    self.dependencies.extend(self.__readDependenciesForChildren([(x, None) for x in self.children.values()]))
  File "/Users/cromo/CraftRoot/craft-tmp/bin/Blueprints/CraftDependencyPackage.py", line 110, in __readDependenciesForChildren
    p.depenendencyType = self.depenendencyType
  File "/Users/cromo/CraftRoot/craft-tmp/bin/Blueprints/CraftDependencyPackage.py", line 46, in depenendencyType
    self.__resolveDependencies()
  File "/Users/cromo/CraftRoot/craft-tmp/bin/Blueprints/CraftDependencyPackage.py", line 57, in __resolveDependencies
    self.dependencies.extend(self.__readDependenciesForChildren(subinfo.buildDependencies.items()))
  File "/Users/cromo/CraftRoot/craft-tmp/bin/Blueprints/CraftDependencyPackage.py", line 110, in __readDependenciesForChildren
    p.depenendencyType = self.depenendencyType
  File "/Users/cromo/CraftRoot/craft-tmp/bin/Blueprints/CraftDependencyPackage.py", line 46, in depenendencyType
    self.__resolveDependencies()
  File "/Users/cromo/CraftRoot/craft-tmp/bin/Blueprints/CraftDependencyPackage.py", line 54, in __resolveDependencies
    self.dependencies.extend(self.__readDependenciesForChildren(subinfo.runtimeDependencies.items()))
  File "/Users/cromo/CraftRoot/craft-tmp/bin/Blueprints/CraftDependencyPackage.py", line 110, in __readDependenciesForChildren
    p.depenendencyType = self.depenendencyType
  File "/Users/cromo/CraftRoot/craft-tmp/bin/Blueprints/CraftDependencyPackage.py", line 46, in depenendencyType
    self.__resolveDependencies()
  File "/Users/cromo/CraftRoot/craft-tmp/bin/Blueprints/CraftDependencyPackage.py", line 61, in __resolveDependencies
    self.dependencies.extend(self.__readDependenciesForChildren([(x, None) for x in self.children.values()]))
  File "/Users/cromo/CraftRoot/craft-tmp/bin/Blueprints/CraftDependencyPackage.py", line 110, in __readDependenciesForChildren
    p.depenendencyType = self.depenendencyType
  File "/Users/cromo/CraftRoot/craft-tmp/bin/Blueprints/CraftDependencyPackage.py", line 46, in depenendencyType
    self.__resolveDependencies()
  File "/Users/cromo/CraftRoot/craft-tmp/bin/Blueprints/CraftDependencyPackage.py", line 54, in __resolveDependencies
    self.dependencies.extend(self.__readDependenciesForChildren(subinfo.runtimeDependencies.items()))
  File "/Users/cromo/CraftRoot/craft-tmp/bin/Blueprints/CraftDependencyPackage.py", line 110, in __readDependenciesForChildren
    p.depenendencyType = self.depenendencyType
  File "/Users/cromo/CraftRoot/craft-tmp/bin/Blueprints/CraftDependencyPackage.py", line 46, in depenendencyType
    self.__resolveDependencies()
  File "/Users/cromo/CraftRoot/craft-tmp/bin/Blueprints/CraftDependencyPackage.py", line 51, in __resolveDependencies
    subinfo = self.subinfo
  File "/Users/cromo/CraftRoot/craft-tmp/bin/Blueprints/CraftPackageObject.py", line 358, in subinfo
    return self.instance.subinfo
  File "/Users/cromo/CraftRoot/craft-tmp/bin/Blueprints/CraftPackageObject.py", line 333, in instance
    pack = self._Module.Package()
  File "/Users/cromo/CraftRoot/craft-tmp/blueprints/libs/runtime/runtime.py", line 29, in __init__
    BinaryPackageBase.__init__(self)
  File "/Users/cromo/CraftRoot/craft-tmp/bin/Package/BinaryPackageBase.py", line 18, in __init__
    PackageBase.__init__(self)
  File "/Users/cromo/CraftRoot/craft-tmp/bin/Package/PackageBase.py", line 34, in __init__
    CraftBase.__init__(self)
  File "/Users/cromo/CraftRoot/craft-tmp/bin/CraftBase.py", line 41, in inner
    return fun(*args, **kwargs)
  File "/Users/cromo/CraftRoot/craft-tmp/bin/CraftBase.py", line 60, in __init__
    self.subinfo = self.package._Module.subinfo(self)  # type: info.infoclass
  File "/Users/cromo/CraftRoot/craft-tmp/bin/info.py", line 85, in __init__
    self.setTargets()
  File "/Users/cromo/CraftRoot/craft-tmp/blueprints/libs/runtime/runtime.py", line 12, in setTargets
    ver = str(CraftCore.compiler.getVersion())
  File "/Users/cromo/CraftRoot/craft-tmp/bin/CraftCompiler.py", line 357, in getVersion
    return self.getGCCLikeVersion(self.compiler.name)
  File "/Users/cromo/CraftRoot/craft-tmp/bin/CraftCompiler.py", line 351, in getGCCLikeVersion
    result = re.findall(r"\d+\.\d+\.?\d*", result)[0]
IndexError: list index out of range


SOFTWARE/OS VERSIONS
macOS: 
ProductVersion:		13.3.1
BuildVersion:		22E261
Comment 1 Dawid Wróbel 2024-04-16 09:41:01 UTC
cromo@macpro etc % clang --version
Apple clang version 12.0.0 (clang-1200.0.32.29)
Target: x86_64-apple-darwin22.4.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin
Comment 2 Dawid Wróbel 2024-04-16 09:44:48 UTC
I edited the code to print the detected compiler's name and it did find clang as expected, but in uppercase:

Compiler executable: CLANG
list index out of range
Comment 3 Dawid Wróbel 2024-04-16 09:46:14 UTC
I suppose this is, yet again, a case of using a case-sensitive macOS filesystem.
Comment 4 Hannah von Reth 2024-04-16 09:53:13 UTC
But where is the uppercase CLANG coming from?
(Anyhow the cache probably won't work on your case sensitive file system)
Comment 5 Hannah von Reth 2024-04-16 09:55:19 UTC
(In reply to Hannah von Reth from comment #4)
> But where is the uppercase CLANG coming from?
> (Anyhow the cache probably won't work on your case sensitive file system)

Ouch found it
Comment 6 Christoph Cullmann 2024-09-22 20:15:38 UTC
(In reply to Hannah von Reth from comment #5)
> (In reply to Hannah von Reth from comment #4)
> > But where is the uppercase CLANG coming from?
> > (Anyhow the cache probably won't work on your case sensitive file system)
> 
> Ouch found it

I assume this is fixed?