Bump to .NET 6.0.100-preview.3.21168.18

Android <IP_ADDRESS>
iOS <IP_ADDRESS>1
macOS <IP_ADDRESS>5
MacCatalyst <IP_ADDRESS>6

I think you'll need this too: https://github.com/dotnet/net6-mobile-samples/pull/110/commits/e52520dcf3779005cbf557e8688552f5cf13c46c

@rolfbjarne this has a lot of warnings like:
ILLink : Trim analysis warning IL2045: System.Xml.Serialization.TypeScope.GetConstructorFlags(Type,Exception&): Attribute 'System.ObsoleteAttribute' is being referenced in code but the linker was instructed to remove all instances of this attribute. If the attribute instances are necessary make sure to either remove the linker attribute XML portion which removes the attribute instances, or override the removal by using the linker XML descriptor to keep the attribute type (which in turn keeps all of its instances). [D:\a\1\s\HelloMaui\HelloMaui.csproj]
ILLink : Trim analysis warning IL2070: System.Xml.Serialization.TypeScope.GetConstructorFlags(Type,Exception&): 'this' argument does not satisfy 'DynamicallyAccessedMemberTypes.PublicConstructors', 'DynamicallyAccessedMemberTypes.NonPublicConstructors' in call to 'System.Type.GetConstructor(BindingFlags,Type[])'. The parameter 'type' of method 'System.Xml.Serialization.TypeScope.GetConstructorFlags(Type,Exception&)' does not have matching annotations. The source value must declare at least the same requirements as those declared on the target location it is assigned to. [D:\a\1\s\HelloMaui\HelloMaui.csproj]
ILLink : Trim analysis warning IL2070: System.Xml.Serialization.TypeScope.GetDefaultIndexer(Type,String): 'this' argument does not satisfy 'DynamicallyAccessedMemberTypes.PublicConstructors', 'DynamicallyAccessedMemberTypes.PublicMethods', 'DynamicallyAccessedMemberTypes.PublicFields', 'DynamicallyAccessedMemberTypes.PublicNestedTypes', 'DynamicallyAccessedMemberTypes.PublicProperties', 'DynamicallyAccessedMemberTypes.PublicEvents' in call to 'System.Type.GetDefaultMembers()'. The parameter 'type' of method 'System.Xml.Serialization.TypeScope.GetDefaultIndexer(Type,String)' does not have matching annotations. The source value must declare at least the same requirements as those declared on the target location it is assigned to. [D:\a\1\s\HelloMaui\HelloMaui.csproj]
ILLink : Trim analysis warning IL2070: System.Xml.Serialization.TypeScope.GetDefaultIndexer(Type,String): 'this' argument does not satisfy 'DynamicallyAccessedMemberTypes.PublicMethods' in call to 'System.Type.GetMethod(String,Type[])'. The parameter 'type' of method 'System.Xml.Serialization.TypeScope.GetDefaultIndexer(Type,String)' does not have matching annotations. The source value must declare at least the same requirements as those declared on the target location it is assigned to. [D:\a\1\s\HelloMaui\HelloMaui.csproj]
ILLink : Trim analysis warning IL2070: System.Xml.Serialization.TypeScope.GetEnumeratorElementType(Type,TypeFlags&): 'this' argument does not satisfy 'DynamicallyAccessedMemberTypes.PublicMethods' in call to 'System.Type.GetMethod(String,Type[])'. The parameter 'type' of method 'System.Xml.Serialization.TypeScope.GetEnumeratorElementType(Type,TypeFlags&)' does not have matching annotations. The source value must declare at least the same requirements as those declared on the target location it is assigned to. [D:\a\1\s\HelloMaui\HelloMaui.csproj]
ILLink : Trim analysis warning IL2070: System.Xml.Serialization.TypeScope.GetEnumeratorElementType(Type,TypeFlags&): 'this' argument does not satisfy 'DynamicallyAccessedMemberTypes.PublicMethods' in call to 'System.Type.GetMethod(String,Type[])'. The parameter 'type' of method 'System.Xml.Serialization.TypeScope.GetEnumeratorElementType(Type,TypeFlags&)' does not have matching annotations. The source value must declare at least the same requirements as those declared on the target location it is assigned to. [D:\a\1\s\HelloMaui\HelloMaui.csproj]
ILLink : Trim analysis warning IL2075: System.Xml.Serialization.TypeScope.GetEnumeratorElementType(Type,TypeFlags&): 'this' argument does not satisfy 'DynamicallyAccessedMemberTypes.PublicProperties' in call to 'System.Type.GetProperty(String)'. The return value of method 'System.Reflection.MethodInfo.ReturnType.get' does not have matching annotations. The source value must declare at least the same requirements as those declared on the target location it is assigned to. [D:\a\1\s\HelloMaui\HelloMaui.csproj]
ILLink : Trim analysis warning IL2070: System.Xml.Serialization.TypeScope.GetEnumeratorElementType(Type,TypeFlags&): 'this' argument does not satisfy 'DynamicallyAccessedMemberTypes.PublicMethods', 'DynamicallyAccessedMemberTypes.NonPublicMethods' in call to 'System.Type.GetMethod(String,BindingFlags,Type[])'. The parameter 'type' of method 'System.Xml.Serialization.TypeScope.GetEnumeratorElementType(Type,TypeFlags&)' does not have matching annotations. The source value must declare at least the same requirements as those declared on the target location it is assigned to. [D:\a\1\s\HelloMaui\HelloMaui.csproj]
ILLink : Trim analysis warning IL2070: System.Xml.Serialization.TypeScope.GetEnumeratorElementType(Type,TypeFlags&): 'this' argument does not satisfy 'DynamicallyAccessedMemberTypes.PublicConstructors', 'DynamicallyAccessedMemberTypes.NonPublicConstructors', 'DynamicallyAccessedMemberTypes.PublicMethods', 'DynamicallyAccessedMemberTypes.NonPublicMethods', 'DynamicallyAccessedMemberTypes.PublicFields', 'DynamicallyAccessedMemberTypes.NonPublicFields', 'DynamicallyAccessedMemberTypes.PublicNestedTypes', 'DynamicallyAccessedMemberTypes.NonPublicNestedTypes', 'DynamicallyAccessedMemberTypes.PublicProperties', 'DynamicallyAccessedMemberTypes.NonPublicProperties', 'DynamicallyAccessedMemberTypes.PublicEvents', 'DynamicallyAccessedMemberTypes.NonPublicEvents' in call to 'System.Type.GetMember(String,BindingFlags)'. The parameter 'type' of method 'System.Xml.Serialization.TypeScope.GetEnumeratorElementType(Type,TypeFlags&)' does not have matching annotations. The source value must declare at least the same requirements as those declared on the target location it is assigned to. [D:\a\1\s\HelloMaui\HelloMaui.csproj]
ILLink : Trim analysis warning IL2070: System.Xml.Serialization.TypeScope.GetEnumeratorElementType(Type,TypeFlags&): 'this' argument does not satisfy 'DynamicallyAccessedMemberTypes.PublicMethods' in call to 'System.Type.GetMethod(String,Type[])'. The parameter 'type' of method 'System.Xml.Serialization.TypeScope.GetEnumeratorElementType(Type,TypeFlags&)' does not have matching annotations. The source value must declare at least the same requirements as those declared on the target location it is assigned to. [D:\a\1\s\HelloMaui\HelloMaui.csproj]
ILLink : Trim analysis warning IL2070: System.Xml.Serialization.TypeScope.ShouldBeReplaced(MemberInfo,Type,MemberInfo&): 'this' argument does not satisfy 'DynamicallyAccessedMemberTypes.PublicProperties', 'DynamicallyAccessedMemberTypes.NonPublicProperties' in call to 'System.Reflection.TypeInfo.DeclaredProperties.get'. The parameter 'derivedType' of method 'System.Xml.Serialization.TypeScope.ShouldBeReplaced(MemberInfo,Type,MemberInfo&)' does not have matching annotations. The source value must declare at least the same requirements as those declared on the target location it is assigned to. [D:\a\1\s\HelloMaui\HelloMaui.csproj]
ILLink : Trim analysis warning IL2070: System.Xml.Serialization.TypeScope.ShouldBeReplaced(MemberInfo,Type,MemberInfo&): 'this' argument does not satisfy 'DynamicallyAccessedMemberTypes.PublicFields', 'DynamicallyAccessedMemberTypes.NonPublicFields' in call to 'System.Reflection.TypeInfo.DeclaredFields.get'. The parameter 'derivedType' of method 'System.Xml.Serialization.TypeScope.ShouldBeReplaced(MemberInfo,Type,MemberInfo&)' does not have matching annotations. The source value must declare at least the same requirements as those declared on the target location it is assigned to. [D:\a\1\s\HelloMaui\HelloMaui.csproj]
ILLink : Trim analysis warning IL2045: System.Xml.Serialization.XmlAttributes.XmlAttributes(ICustomAttributeProvider): Attribute 'System.ObsoleteAttribute' is being referenced in code but the linker was instructed to remove all instances of this attribute. If the attribute instances are necessary make sure to either remove the linker attribute XML portion which removes the attribute instances, or override the removal by using the linker XML descriptor to keep the attribute type (which in turn keeps all of its instances). [D:\a\1\s\HelloMaui\HelloMaui.csproj]
ILLink : Trim analysis warning IL2026: System.Xml.Serialization.XmlAttributes.IgnoreAttribute.get: Using method 'System.Reflection.Assembly.GetType(String)' which has 'RequiresUnreferencedCodeAttribute' can break functionality when trimming application code. Types might be removed. [D:\a\1\s\HelloMaui\HelloMaui.csproj]
ILLink : Trim analysis warning IL2075: System.Xml.Serialization.XmlReflectionImporter.GetChoiceIdentifierType(XmlChoiceIdentifierAttribute,StructModel,Boolean,String): 'this' argument does not satisfy 'DynamicallyAccessedMemberTypes.PublicProperties' in call to 'System.Type.GetProperty(String,BindingFlags)'. The return value of method 'System.Xml.Serialization.TypeModel.Type.get' does not have matching annotations. The source value must declare at least the same requirements as those declared on the target location it is assigned to. [D:\a\1\s\HelloMaui\HelloMaui.csproj]
ILLink : Trim analysis warning IL2075: System.Xml.Serialization.XmlReflectionImporter.GetChoiceIdentifierType(XmlChoiceIdentifierAttribute,StructModel,Boolean,String): 'this' argument does not satisfy 'DynamicallyAccessedMemberTypes.PublicConstructors', 'DynamicallyAccessedMemberTypes.PublicMethods', 'DynamicallyAccessedMemberTypes.PublicFields', 'DynamicallyAccessedMemberTypes.PublicNestedTypes', 'DynamicallyAccessedMemberTypes.PublicProperties', 'DynamicallyAccessedMemberTypes.PublicEvents' in call to 'System.Type.GetMember(String,BindingFlags)'. The return value of method 'System.Xml.Serialization.TypeModel.Type.get' does not have matching annotations. The source value must declare at least the same requirements as those declared on the target location it is assigned to. [D:\a\1\s\HelloMaui\HelloMaui.csproj]
ILLink : Trim analysis warning IL2070: System.Xml.Serialization.XmlReflectionImporter.GetMethodFromSchemaProvider(XmlSchemaProviderAttribute,Type): 'this' argument does not satisfy 'DynamicallyAccessedMemberTypes.PublicMethods' in call to 'System.Type.GetMethod(String,BindingFlags,Type[])'. The parameter 'type' of method 'System.Xml.Serialization.XmlReflectionImporter.GetMethodFromSchemaProvider(XmlSchemaProviderAttribute,Type)' does not have matching annotations. The source value must declare at least the same requirements as those declared on the target location it is assigned to. [D:\a\1\s\HelloMaui\HelloMaui.csproj]
ILLink : Trim analysis warning IL2075: System.Xml.Serialization.XmlSerializationILGen.GenerateBaseSerializer(String,String,String,CodeIdentifiers): 'this' argument does not satisfy 'DynamicallyAccessedMemberTypes.PublicConstructors', 'DynamicallyAccessedMemberTypes.NonPublicConstructors' in call to 'System.Type.GetConstructor(BindingFlags,Type[])'. The return value of method 'System.Collections.Generic.Dictionary<TKey,TValue>.Item.get' does not have matching annotations. The source value must declare at least the same requirements as those declared on the target location it is assigned to. [D:\a\1\s\HelloMaui\HelloMaui.csproj]
ILLink : Trim analysis warning IL2075: System.Xml.Serialization.XmlSerializationILGen.GenerateBaseSerializer(String,String,String,CodeIdentifiers): 'this' argument does not satisfy 'DynamicallyAccessedMemberTypes.PublicConstructors', 'DynamicallyAccessedMemberTypes.NonPublicConstructors' in call to 'System.Type.GetConstructor(BindingFlags,Type[])'. The return value of method 'System.Collections.Generic.Dictionary<TKey,TValue>.Item.get' does not have matching annotations. The source value must declare at least the same requirements as those declared on the target location it is assigned to. [D:\a\1\s\HelloMaui\HelloMaui.csproj]
ILLink : Trim analysis warning IL2075: System.Xml.Serialization.XmlSerializationILGen.GenerateGetSerializer(Dictionary<String,String>,XmlMapping[],TypeBuilder): 'this' argument does not satisfy 'DynamicallyAccessedMemberTypes.PublicConstructors', 'DynamicallyAccessedMemberTypes.NonPublicConstructors' in call to 'System.Type.GetConstructor(BindingFlags,Type[])'. The return value of method 'System.Collections.Generic.Dictionary<TKey,TValue>.Item.get' does not have matching annotations. The source value must declare at least the same requirements as those declared on the target location it is assigned to. [D:\a\1\s\HelloMaui\HelloMaui.csproj]
ILLink : Trim analysis warning IL2075: System.Xml.Serialization.XmlSerializationILGen.GenerateSerializerContract(String,XmlMapping[],Type[],String,String[],String,String[],Dictionary<String,String>): 'this' argument does not satisfy 'DynamicallyAccessedMemberTypes.PublicConstructors', 'DynamicallyAccessedMemberTypes.NonPublicConstructors' in call to 'System.Type.GetConstructor(BindingFlags,Type[])'. The return value of method 'System.Collections.Generic.Dictionary<TKey,TValue>.Item.get' does not have matching annotations. The source value must declare at least the same requirements as those declared on the target location it is assigned to. [D:\a\1\s\HelloMaui\HelloMaui.csproj]
ILLink : Trim analysis warning IL2075: System.Xml.Serialization.XmlSerializationILGen.GenerateSerializerContract(String,XmlMapping[],Type[],String,String[],String,String[],Dictionary<String,String>): 'this' argument does not satisfy 'DynamicallyAccessedMemberTypes.PublicConstructors', 'DynamicallyAccessedMemberTypes.NonPublicConstructors' in call to 'System.Type.GetConstructor(BindingFlags,Type[])'. The return value of method 'System.Collections.Generic.Dictionary<TKey,TValue>.Item.get' does not have matching annotations. The source value must declare at least the same requirements as those declared on the target location it is assigned to. [D:\a\1\s\HelloMaui\HelloMaui.csproj]
ILLink : Trim analysis warning IL2072: System.Xml.Serialization.XmlSerializationILGen.GenerateTypedSerializer(String,String,XmlMapping,CodeIdentifiers,String,String,String): 'parent' argument does not satisfy 'All' in call to 'System.Xml.Serialization.CodeGenerator.CreateTypeBuilder(ModuleBuilder,String,TypeAttributes,Type,Type[])'. The return value of method 'System.Collections.Generic.Dictionary<TKey,TValue>.Item.get' does not have matching annotations. The source value must declare at least the same requirements as those declared on the target location it is assigned to. [D:\a\1\s\HelloMaui\HelloMaui.csproj]
ILLink : Trim analysis warning IL2075: System.Xml.Serialization.XmlSerializationILGen.GenerateTypedSerializer(String,String,XmlMapping,CodeIdentifiers,String,String,String): 'this' argument does not satisfy 'DynamicallyAccessedMemberTypes.PublicMethods', 'DynamicallyAccessedMemberTypes.NonPublicMethods' in call to 'System.Type.GetMethod(String,BindingFlags,Type[])'. The return value of method 'System.Collections.Generic.Dictionary<TKey,TValue>.Item.get' does not have matching annotations. The source value must declare at least the same requirements as those declared on the target location it is assigned to. [D:\a\1\s\HelloMaui\HelloMaui.csproj]
ILLink : Trim analysis warning IL2075: System.Xml.Serialization.XmlSerializationILGen.GenerateTypedSerializer(String,String,XmlMapping,CodeIdentifiers,String,String,String): 'this' argument does not satisfy 'DynamicallyAccessedMemberTypes.PublicMethods', 'DynamicallyAccessedMemberTypes.NonPublicMethods' in call to 'System.Type.GetMethod(String,BindingFlags,Type[])'. The return value of method 'System.Collections.Generic.Dictionary<TKey,TValue>.Item.get' does not have matching annotations. The source value must declare at least the same requirements as those declared on the target location it is assigned to. [D:\a\1\s\HelloMaui\HelloMaui.csproj]
ILLink : Trim analysis warning IL2075: System.Xml.Serialization.XmlSerializationILGen.GenerateTypedSerializers(Dictionary<String,String>,TypeBuilder): 'this' argument does not satisfy 'DynamicallyAccessedMemberTypes.PublicConstructors', 'DynamicallyAccessedMemberTypes.NonPublicConstructors' in call to 'System.Type.GetConstructor(BindingFlags,Type[])'. The return value of method 'System.Collections.Generic.Dictionary<TKey,TValue>.Item.get' does not have matching annotations. The source value must declare at least the same requirements as those declared on the target location it is assigned to. [D:\a\1\s\HelloMaui\HelloMaui.csproj]
ILLink : Trim analysis warning IL2075: System.Xml.Serialization.XmlSerializationReaderILGen.WriteAttributes(Member[],XmlSerializationReaderILGen.Member,String,LocalBuilder): 'this' argument does not satisfy 'DynamicallyAccessedMemberTypes.PublicMethods', 'DynamicallyAccessedMemberTypes.NonPublicMethods' in call to 'System.Type.GetMethod(String,BindingFlags,Type[])'. The return value of method 'System.Xml.Serialization.TypeDesc.Type.get' does not have matching annotations. The source value must declare at least the same requirements as those declared on the target location it is assigned to. [D:\a\1\s\HelloMaui\HelloMaui.csproj]
ILLink : Trim analysis warning IL2075: System.Xml.Serialization.XmlSerializationReaderILGen.WriteAttributes(Member[],XmlSerializationReaderILGen.Member,String,LocalBuilder): 'this' argument does not satisfy 'DynamicallyAccessedMemberTypes.PublicConstructors', 'DynamicallyAccessedMemberTypes.NonPublicConstructors' in call to 'System.Type.GetConstructor(BindingFlags,Type[])'. The return value of method 'System.Xml.Serialization.TypeDesc.Type.get' does not have matching annotations. The source value must declare at least the same requirements as those declared on the target location it is assigned to. [D:\a\1\s\HelloMaui\HelloMaui.csproj]
ILLink : Trim analysis warning IL2075: System.Xml.Serialization.XmlSerializationReaderILGen.WriteSourceEnd(String,Type,Type): 'this' argument does not satisfy 'DynamicallyAccessedMemberTypes.PublicMethods', 'DynamicallyAccessedMemberTypes.NonPublicMethods' in call to 'System.Type.GetMethod(String,BindingFlags,Type[])'. The return value of method 'System.Reflection.LocalVariableInfo.LocalType.get' does not have matching annotations. The source value must declare at least the same requirements as those declared on the target location it is assigned to. [D:\a\1\s\HelloMaui\HelloMaui.csproj]
ILLink : Trim analysis warning IL2075: System.Xml.Serialization.XmlSerializationReaderILGen.WriteSourceEnd(String,Type,Type): 'this' argument does not satisfy 'DynamicallyAccessedMemberTypes.PublicConstructors' in call to 'System.Type.GetConstructor(Type[])'. The return value of method 'System.Xml.Serialization.CodeGenerator.GetVariableType(Object)' does not have matching annotations. The source value must declare at least the same requirements as those declared on the target location it is assigned to. [D:\a\1\s\HelloMaui\HelloMaui.csproj]
ILLink : Trim analysis warning IL2057: System.Xml.Serialization.XmlSerializationWriterCodeGen.WriteCheckDefault(TypeMapping,String,Object,Boolean): Unrecognized value passed to the parameter 'typeName' of method 'System.Type.GetType(String)'. It's not possible to guarantee the availability of the target type. [D:\a\1\s\HelloMaui\HelloMaui.csproj]
ILLink : Trim analysis warning IL2057: System.Xml.Serialization.XmlSerializationWriterCodeGen.WriteCheckDefault(TypeMapping,String,Object,Boolean): Unrecognized value passed to the parameter 'typeName' of method 'System.Type.GetType(String)'. It's not possible to guarantee the availability of the target type. [D:\a\1\s\HelloMaui\HelloMaui.csproj]
ILLink : Trim analysis warning IL2075: System.Xml.Serialization.XmlSerializationWriterILGen.WriteArrayItems(ElementAccessor[],TextAccessor,ChoiceIdentifierAccessor,TypeDesc,String,String): 'this' argument does not satisfy 'DynamicallyAccessedMemberTypes.PublicMethods' in call to 'System.Type.GetMethod(String,Type[])'. The return value of method 'System.Xml.Serialization.TypeDesc.Type.get' does not have matching annotations. The source value must declare at least the same requirements as those declared on the target location it is assigned to. [D:\a\1\s\HelloMaui\HelloMaui.csproj]
ILLink : Trim analysis warning IL2075: System.Xml.Serialization.XmlSerializationWriterILGen.WriteCheckDefault(SourceInfo,Object,Boolean): 'this' argument does not satisfy 'DynamicallyAccessedMemberTypes.PublicMethods', 'DynamicallyAccessedMemberTypes.NonPublicMethods' in call to 'System.Type.GetMethod(String,BindingFlags,Type[])'. The return value of method 'System.Object.GetType()' does not have matching annotations. The source value must declare at least the same requirements as those declared on the target location it is assigned to. [D:\a\1\s\HelloMaui\HelloMaui.csproj]
ILLink : Trim analysis warning IL2075: System.Xml.Serialization.XmlSerializationWriterILGen.WriteElement(SourceInfo,ElementAccessor,String,Boolean): 'this' argument does not satisfy 'DynamicallyAccessedMemberTypes.PublicMethods', 'DynamicallyAccessedMemberTypes.NonPublicMethods' in call to 'System.Type.GetMethod(String,BindingFlags,Type[])'. The return value of method 'System.Xml.Serialization.TypeDesc.Type.get' does not have matching annotations. The source value must declare at least the same requirements as those declared on the target location it is assigned to. [D:\a\1\s\HelloMaui\HelloMaui.csproj]
ILLink : Trim analysis warning IL2080: System.Xml.Serialization.XmlSerializationWriterILGen.WriteText(SourceInfo,TextAccessor): 'this' argument does not satisfy 'DynamicallyAccessedMemberTypes.PublicMethods', 'DynamicallyAccessedMemberTypes.NonPublicMethods' in call to 'System.Type.GetMethod(String,BindingFlags,Type[])'. The field 'System.Type System.Xml.Serialization.SourceInfo::Type' does not have matching annotations. The source value

dotnet/maui has WarningsAsErrors turned on, so that is why my build was failing here: https://github.com/dotnet/maui/pull/592

@rolfbjarne I think this will fix the warnings: https://github.com/xamarin/xamarin-macios/pull/10970
I did an equivalent in xamarin-android here: https://github.com/xamarin/xamarin-android/pull/5781

The build fails here due to:
C:\Program Files\dotnet\packs\Microsoft.iOS.Windows.Sdk\14.4.100-ci.main.1271\tools\msbuild\iOS\Xamarin.Messaging.Build.targets(107,3): error MSB4018: The "SayHello" task failed unexpectedly.
System.Collections.Generic.KeyNotFoundException: The given key '16786' was not present in the dictionary.
   at System.Collections.Concurrent.ConcurrentDictionary`2.ThrowKeyNotFoundException(TKey key)
   at System.Collections.Concurrent.ConcurrentDictionary`2.get_Item(TKey key)
   at Microsoft.Build.BackEnd.Logging.LoggingService.GetWarningsToBeLoggedAsErrorsByProject(BuildEventContext context)
   at Microsoft.Build.BackEnd.Logging.TaskLoggingContext.GetWarningsAsErrors()
   at Microsoft.Build.BackEnd.TaskHost.get_WarningsAsErrors()
   at Microsoft.Build.BackEnd.TaskHost.ShouldTreatWarningAsError(String warningCode)
   at Microsoft.Build.Utilities.TaskLoggingHelper.LogWarning(String subcategory, String warningCode, String helpKeyword, String helpLink, String file, Int32 lineNumber, Int32 columnNumber, Int32 endLineNumber, Int32 endColumnNumber, String message, Object[] messageArgs)
   at Microsoft.Build.Utilities.TaskLoggingHelper.LogWarningFromException(Exception exception)
   at Xamarin.Messaging.Build.Client.Tasks.SayHello.Execute() in C:\A\1\181\s\src\MSBuild\Xamarin.Messaging.Build.Client\Tasks\SayHello.cs:line 141
   at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()
   at Microsoft.Build.BackEnd.TaskBuilder.ExecuteInstantiatedTask(ITaskExecutionHost taskExecutionHost, TaskLoggingContext taskLoggingContext, TaskHost taskHost, ItemBucket bucket, TaskExecutionMode howToExecuteTask) [D:\a\1\s\fsharp\HelloiOSFSharp\HelloiOSFSharp.fsproj]

I think this must be an MSBuild bug.

We need a dotnet/sdk with this fix: https://github.com/dotnet/msbuild/commit/17677364d656a98ce4c6eff73b49eddf24f0fd72


Compilation error of v5.4.0 with GCC-13.2.0 - CastXML problem?

Description
Hello! I am working for University Gent (UGent) and I am trying to install ITK 5.4.0 on our HPC to provide it to our researchers.
We are using EasyBuild to build and install all the software.
There is a problem with compilation of ITK 5.4.0, while ITK 5.3.0 can be build and install.
Steps to Reproduce
Configure (cmake) command seems ok, but it failed on make step:
cmake
-DCMAKE_INSTALL_PREFIX=/software/ITK/5.4.0-foss-2023b
-DCMAKE_BUILD_TYPE=Release
-DCMAKE_POSITION_INDEPENDENT_CODE=ON
-DCMAKE_VERBOSE_MAKEFILE=ON
-DCMAKE_FIND_USE_PACKAGE_REGISTRY=OFF
-DPYTHON_EXECUTABLE=/software/Python/3.11.5-GCCcore-13.2.0/bin/python
-DPython3_EXECUTABLE=/software/Python/3.11.5-GCCcore-13.2.0/bin/python
-DBUILD_SHARED_LIBS=ON
-DBUILD_TESTING=OFF
-DModule_ITKReview=ON
-DModule_ITKVtkGlue=ON
-DModule_SimpleITKFilters=ON
-DITK_WRAP_PYTHON:BOOL=ON
-DPython_EXECUTABLE=/software/Python/3.11.5-GCCcore-13.2.0/bin/python
-DSWIG_EXECUTABLE=$EBROOTSWIG/bin/swig
-DSWIG_DIR=$EBROOTSWIG
-DPY_SITE_PACKAGES_PATH=/software/ITK/5.4.0-foss-2023b/lib/python3.11/site-packages
-DITK_USE_SYSTEM_CASTXML=ON
-DITK_USE_SYSTEM_DOUBLECONVERSION=ON
-DITK_USE_SYSTEM_EIGEN=ON
-DITK_USE_SYSTEM_EXPAT=ON
-DITK_USE_SYSTEM_FFTW=ON
-DITK_USE_SYSTEM_HDF5=ON
-DITK_USE_SYSTEM_JPEG=ON
-DITK_USE_SYSTEM_PNG=ON
-DITK_USE_SYSTEM_SWIG=ON
-DITK_USE_SYSTEM_TIFF=ON
-DITK_USE_SYSTEM_ZLIB=ON
/tmp/vsc47063/easybuild/build/ITK/5.4.0/foss-2023b/ITK-5.4.0/
-> exit 0
LC_ALL=C  make  -j 8
-> exit 2
Part of the error:
  Building C object Modules/ThirdParty/NrrdIO/src/NrrdIO/CMakeFiles/ITKNrrdIO.dir/accessors.c.o
  cd /tmp/vsc47063/easybuild/build/ITK/5.4.0/foss-2023b/easybuild_obj/Modules/ThirdParty/NrrdIO/src/NrrdIO && /apps/gent/
  RHEL8/cascadelake-ib/software/GCCcore/13.2.0/bin/gcc -DITKNrrdIO_EXPORTS -DTEEM_BUILD -DTEEM_DIO=0 -DTEEM_QNANHIBIT=1 -
  DTEEM_ZLIB=1 -I/tmp/vsc47063/easybuild/build/ITK/5.4.0/foss-2023b/easybuild_obj/Modules/ThirdParty/ZLIB/src -I/apps/gen
  t/RHEL8/cascadelake-ib/software/zlib/1.2.13-GCCcore-13.2.0/include -I/tmp/vsc47063/easybuild/build/ITK/5.4.0/foss-2023b
  /easybuild_obj/Modules/ThirdParty/NrrdIO/src/NrrdIO -I/tmp/vsc47063/easybuild/build/ITK/5.4.0/foss-2023b/ITK-5.4.0/Modu
  les/ThirdParty/NrrdIO/src/NrrdIO -O2 -ftree-vectorize -march=native -fno-math-errno -fPIC -std=c++17   -w -fno-strict-a
  liasing -O3 -DNDEBUG -fPIC -MD -MT Modules/ThirdParty/NrrdIO/src/NrrdIO/CMakeFiles/ITKNrrdIO.dir/accessors.c.o -MF CMak
  eFiles/ITKNrrdIO.dir/accessors.c.o.d -o CMakeFiles/ITKNrrdIO.dir/accessors.c.o -c /tmp/vsc47063/easybuild/build/ITK/5.4
  .0/foss-2023b/ITK-5.4.0/Modules/ThirdParty/NrrdIO/src/NrrdIO/accessors.c
  In file included from In file included from /tmp/vsc47063/easybuild/build/ITK/5.4.0/foss-2023b/easybuild_obj/Wrapping/c
  astxml_inputs/itkPyImageFilter.cxx:1:
      In file included from /tmp/vsc47063/easybuild/build/ITK/5.4.0/foss-2023b/ITK-5.4.0/Modules/Core/Common/include/itkComma
  nd.h:21:
  In file included from /tmp/vsc47063/easybuild/build/ITK/5.4.0/foss-2023b/ITK-5.4.0/Modules/Core/Common/include/itkObjec
  t.h:31:
  In file included from /tmp/vsc47063/easybuild/build/ITK/5.4.0/foss-2023b/ITK-5.4.0/Modules/Core/Common/include/itkLight
  Object.h:21:
  In file included from /tmp/vsc47063/easybuild/build/ITK/5.4.0/foss-2023b/ITK-5.4.0/Modules/Core/Common/include/itkMacro
  .h:47:
  In file included from /kyukon/home/apps/RHEL8/cascadelake-ib/software/GCCcore/13.2.0/bin/../lib/gcc/x86_64-pc-linux-gnu
  /13.2.0/../../../../include/c++/13.2.0/string:42:
  In file included from /kyukon/home/apps/RHEL8/cascadelake-ib/software/GCCcore/13.2.0/bin/../lib/gcc/x86_64-pc-linux-gnu
  /13.2.0/../../../../include/c++/13.2.0/bits/char_traits.h:42:
  In file included from /kyukon/home/apps/RHEL8/cascadelake-ib/software/GCCcore/13.2.0/bin/../lib/gcc/x86_64-pc-linux-gnu
  /13.2.0/../../../../include/c++/13.2.0/bits/postypes.h:40:
  In file included from /kyukon/home/apps/RHEL8/cascadelake-ib/software/GCCcore/13.2.0/bin/../lib/gcc/x86_64-pc-linux-gnu
  /13.2.0/../../../../include/c++/13.2.0/cwchar:44:
  In file included from /usr/include/wchar.h:30:
  /usr/include/bits/floatn.h:86:20: error: typedef redefinition with different types ('__float128' vs 'struct __castxml_F
  loat128_s')
  /tmp/vsc47063/easybuild/build/ITK/5.4.0/foss-2023b/easybuild_obj/Wrapping/castxml_inputs/itkPyCommand.cxx:1:
  In file included from /tmp/vsc47063/easybuild/build/ITK/5.4.0/foss-2023b/ITK-5.4.0/Modules/Core/Common/include/itkComma
  nd.h:21:
  In file included from    86 | typedef __float128 _Float128;
  ...
  In file included from /kyukon/home/apps/RHEL8/cascadelake-ib/software/GCCcore/13.2.0/bin/../lib/gcc/x86_64-pc-linux-gnu
  /13.2.0/../../../../include/c++/13.2.0/cwchar:44:
  In file included from /usr/include/wchar.h:30:
  /usr/include/bits/floatn.h:86:20: error: typedef redefinition with different types ('__float128' vs 'struct __castxml_Float128_s')
  :472:   19: note: expanded from macro '_Float128'
  86  472 | #define _Float128 __castxml_Float128
      |                   ^
  <built-in>:478:124: note: previous definition is here
  478 | typedef struct __castxml_Float128_s {   __float128 x;   operator __float128() const;   __castxml_Float128_s(__float128); } __castxml_Float128;
      |                                                                                ^
  | typedef __float128 _Float128;
  ...
  In file included from /usr/include/wchar.h:30:
  In file included from /usr/include/bits/floatn.h:119:
  /usr/include/bits/floatn-common.h:214:15: error: typedef redefinition with different types ('float' vs 'struct __castxml_Float32_s')
  28
      |                   ^
  <built-in>214 | typedef float _Float32;
      |               ^
  <built-in>:478:124: note: previous definition is here
  :  468:18: note: expanded from macro '_Float32'
  478 | typedef struct __castxml_Float128_s {   __float128 x;   operator __float128() const;   __castxml_Float128_s(__float128); } __castxml_Float128;
      |                                                                                ^
  468 | #define _Float32 __castxml_Float32
      |                  ^
  <built-in>:474:107: note: previous definition is here
  474 | typedef struct __castxml_Float32_In file included from s {   float x;   operator float() const;   __castxml_Float32_s(float); } __castxml_Float32;
  In file included from /usr/include/wchar.h:30:
  In file included from /usr/include/bits/floatn.h:119:
  /usr/include/bits/floatn-common.h:214:15: error: typedef redefinition with different types ('float' vs 'struct __castxml_Float32_s')
  251  214 | typedef float _Float32;
      |               ^
  <built-in> | typedef double _Float64;
      |                ^
  <built-in>:468:18: note: expanded from macro '_Float32'
  :470:18: note: expanded from macro '_Float64'
  468 | #define _Float32 __castxml_Float32
      |                  ^
  <built-in>470 | #define _Float64 __castxml_Float64
      |                  ^
  <built-in>:474:107: note: previous definition is here
  :  476:110: note: previous definition is here
  474  476 | typedef struct __castxml_Float64_s {   double x;   operator double() const;   __castxml_Float64_s(double); } __castxml_Float64;
      |                                                                                ^
  | typedeIn file included from f struct __castxml_Float32_s {   float x;   operator float() const;   __castxml_Float32_s(float); } __castxml_Float32;

Whole log with errors is there: https://raw.githubusercontent.com/vscentrum/vsc-software-stack/refs/heads/wip/357_Synthcity/2023b_v0.2.11_new/monai-2023b-full/log2.txt
Versions
ITK 5.4.0
Environment
RHEL 8.8, 4.18.0-477.43.1.el8_8.x86_64
GCC 13.2.0 + FlexiBLAS + FFTW + ScaLAPACK + OpenMPI
('CMake', '3.27.6'),
('Bison', '3.8.2'),
('Eigen', '3.4.0'),
('SWIG', '4.1.1'),
('Perl', '5.38.0'),
('git', '2.42.0'),
('Python', '3.11.5'),
('double-conversion', '3.3.0'),
('expat', '2.5.0'),
('HDF5', '1.14.3'),
('libjpeg-turbo', '3.0.1'),
('libpng', '1.6.40'),
('LibTIFF', '4.6.0'),
('VTK', '9.3.0'),
('zlib', '1.2.13'),
('CastXML', '0.6.5'),
Additional Information
For me it seems similar to this problem you already fix:
https://github.com/InsightSoftwareConsortium/ITK/commit/d0275869d10dacee7bcf72ed2174f523d66c7df0#diff-e7b9b1d2d1251e3340d02c7aae095ff229a0490fad2ff108c71eadc011961deeR25

Why not try the latest CastXML then? Or the bundled one, by setting -DITK_USE_SYSTEM_CASTXML=OFF?

('CastXML', '0.6.5'),

Hi @pavelToman , does upgrading to CastXML 0.6.8 address the issue?

I let it build with bundled one - but it use precompiled binaries that not works for our system. So I replace it by CastXML builded on our system.
I let the version be the same as the bundled one - thought it fits best for ITK 5.4.0. But I can try to build another version of CastXML and use it.

I build CastXML 0.6.8 and use it as dependency of ITK 5.4.0, but the error during make step is the same

@pavelToman thanks for the follow-up. To help identify the issue, do you get the same error:

With EasyBuild on Ubuntu 24.04 (also has GCC 13.2, but I have not had issues although I have not used EasyBuild)
With a build on the same system outside EasyBuild

We have RHEL 8/9 on our HPC clusters not Ubuntu. Also I am unable to build it outside the EasyBuild on HPC clusters.
I have tried few more things:

add SWIG-4.2.1 as a dependency builded by EB.
add CXXFLAGS/CFLAGS (-U_Float128,...) to not GCC use these Floats.
This not fix my issue.
Only thing that fix it was to delete -DITK_WRAP_PYTHON:BOOL=ON. After this ITK was built/installed, but it lacks python module I need.

There is some fails in configure step:
Details - configure
-- Performing Test C_HAS_WARNING-Wno-uninitialized - Failed
-- Performing Test C_HAS_WARNING-Wno-unused-parameter - Failed
-- Performing Test C_HAS_WARNING-Wall - Failed
-- Performing Test C_HAS_WARNING-Wno-long-double - Failed
-- Performing Test C_HAS_WARNING-Wcast-align - Failed
-- Performing Test C_HAS_WARNING-Wdisabled-optimization - Failed
-- Performing Test C_HAS_WARNING-Wextra - Failed
-- Performing Test C_HAS_WARNING-Wformat_2 - Failed
-- Performing Test C_HAS_WARNING-Winvalid-pch - Failed
-- Performing Test C_HAS_WARNING-Wno-format-nonliteral - Failed
-- Performing Test C_HAS_WARNING-Wpointer-arith - Failed
-- Performing Test C_HAS_WARNING-Wshadow - Failed
-- Performing Test C_HAS_WARNING-Wunused - Failed
-- Performing Test C_HAS_WARNING-Wwrite-strings - Failed
-- Performing Test C_HAS_WARNING-Wno-strict-overflow - Failed
-- Performing Test CXX_HAS_WARNING-Wno-long-double - Failed
-- Performing Test CXX_HAS_WARNING-Wno-undefined-var-template - Failed
-- Performing Test C_HAS_WARNING-mtune_generic - Failed
-- Performing Test C_HAS_WARNING-march_corei7 - Failed
-- Performing Test CXX_HAS_DISABLE_OPTIMIZATION_FLAG - Failed
-- Performing Test VXL_HAS_DBGHELP_H - Failed
-- Performing Test VXL_HAS_ALIGNED_MALLOC - Failed
-- Performing Test VXL_HAS_MINGW_ALIGNED_MALLOC - Failed
-- Performing Test VXL_HAS_POSIX_MEMALIGN - Failed
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
-- Performing Test GDCM_HAVE_WCHAR_IFSTREAM - Failed
-- Performing Test Iconv_IS_BUILT_IN - Failed
-- Check size of __int64 - failed
-- Performing Test H5_HAVE___TM_GMTOFF - Failed
-- Performing Test H5_HAVE_STRUCT_TIMEZONE - Failed
-- Performing Test H5_HAVE_STRUCT_VIDEOCONFIG - Failed
-- Performing Test H5_HAVE_STRUCT_TEXT_INFO - Failed
-- Check size of _Quad - failed

Whole make error about Float128 Float32 Float64 Float32x Float64x:
Details - make
[ 12%] Building C object Modules/ThirdParty/NrrdIO/src/NrrdIO/CMakeFiles/ITKNrrdIO.dir/accessors.c.o
cd /tmp/vsc47063/easybuild/build/ITK/5.4.0/foss-2023b/easybuild_obj/Modules/ThirdParty/NrrdIO/src/NrrdIO && /apps/gent/RHEL8/cascadelake-ib/software/GCCcore/13.2.0/bin/gcc -DITKNrrdIO_EXPORTS -DTEEM_BUILD -DTEEM_DIO=0 -DTEEM_QNANHIBIT=1 -DTEEM_ZLIB=1 -I/tmp/vsc47063/easybuild/build/ITK/5.4.0/foss-2023b/easybuild_obj/Modules/ThirdParty/ZLIB/src -I/apps/gent/RHEL8/cascadelake-ib/software/zlib/1.2.13-GCCcore-13.2.0/include -I/tmp/vsc47063/easybuild/build/ITK/5.4.0/foss-2023b/easybuild_obj/Modules/ThirdParty/NrrdIO/src/NrrdIO -I/tmp/vsc47063/easybuild/build/ITK/5.4.0/foss-2023b/ITK-5.4.0/Modules/ThirdParty/NrrdIO/src/NrrdIO -O2 -ftree-vectorize -march=native -fno-math-errno -fPIC -std=c++17   -w -fno-strict-aliasing -O3 -DNDEBUG -fPIC -MD -MT Modules/ThirdParty/NrrdIO/src/NrrdIO/CMakeFiles/ITKNrrdIO.dir/accessors.c.o -MF CMakeFiles/ITKNrrdIO.dir/accessors.c.o.d -o CMakeFiles/ITKNrrdIO.dir/accessors.c.o -c /tmp/vsc47063/easybuild/build/ITK/5.4.0/foss-2023b/ITK-5.4.0/Modules/ThirdParty/NrrdIO/src/NrrdIO/accessors.c
In file included from In file included from /tmp/vsc47063/easybuild/build/ITK/5.4.0/foss-2023b/easybuild_obj/Wrapping/castxml_inputs/itkPyImageFilter.cxx:1:
In file included from /tmp/vsc47063/easybuild/build/ITK/5.4.0/foss-2023b/ITK-5.4.0/Modules/Core/Common/include/itkCommand.h:21:
In file included from /tmp/vsc47063/easybuild/build/ITK/5.4.0/foss-2023b/ITK-5.4.0/Modules/Core/Common/include/itkObject.h:31:
In file included from /tmp/vsc47063/easybuild/build/ITK/5.4.0/foss-2023b/ITK-5.4.0/Modules/Core/Common/include/itkLightObject.h:21:
In file included from /tmp/vsc47063/easybuild/build/ITK/5.4.0/foss-2023b/ITK-5.4.0/Modules/Core/Common/include/itkMacro.h:47:
In file included from /kyukon/home/apps/RHEL8/cascadelake-ib/software/GCCcore/13.2.0/bin/../lib/gcc/x86_64-pc-linux-gnu/13.2.0/../../../../include/c++/13.2.0/string:42:
In file included from /kyukon/home/apps/RHEL8/cascadelake-ib/software/GCCcore/13.2.0/bin/../lib/gcc/x86_64-pc-linux-gnu/13.2.0/../../../../include/c++/13.2.0/bits/char_traits.h:42:
In file included from /kyukon/home/apps/RHEL8/cascadelake-ib/software/GCCcore/13.2.0/bin/../lib/gcc/x86_64-pc-linux-gnu/13.2.0/../../../../include/c++/13.2.0/bits/postypes.h:40:
In file included from /kyukon/home/apps/RHEL8/cascadelake-ib/software/GCCcore/13.2.0/bin/../lib/gcc/x86_64-pc-linux-gnu/13.2.0/../../../../include/c++/13.2.0/cwchar:44:
In file included from /usr/include/wchar.h:30:
/usr/include/bits/floatn.h:86:20: error: typedef redefinition with different types ('__float128' vs 'struct __castxml_Float128_s')
/tmp/vsc47063/easybuild/build/ITK/5.4.0/foss-2023b/easybuild_obj/Wrapping/castxml_inputs/itkPyCommand.cxx:1:
In file included from /tmp/vsc47063/easybuild/build/ITK/5.4.0/foss-2023b/ITK-5.4.0/Modules/Core/Common/include/itkCommand.h:21:
In file included from    86 | typedef __float128 _Float128;
|                    ^
/tmp/vsc47063/easybuild/build/ITK/5.4.0/foss-2023b/ITK-5.4.0/Modules/Core/Common/include/itkObject.h:31:
In file included from /tmp/vsc47063/easybuild/build/ITK/5.4.0/foss-2023b/ITK-5.4.0/Modules/Core/Common/include/itkLightObject.h:21:
In file included from /tmp/vsc47063/easybuild/build/ITK/5.4.0/foss-2023b/ITK-5.4.0/Modules/Core/Common/include/itkMacro.h:47:
In file included from /kyukon/home/apps/RHEL8/cascadelake-ib/software/GCCcore/13.2.0/bin/../lib/gcc/x86_64-pc-linux-gnu/13.2.0/../../../../include/c++/13.2.0/string:42:
In file included from /kyukon/home/apps/RHEL8/cascadelake-ib/software/GCCcore/13.2.0/bin/../lib/gcc/x86_64-pc-linux-gnu/13.2.0/../../../../include/c++/13.2.0/bits/char_traits.h:42:
In file included from /kyukon/home/apps/RHEL8/cascadelake-ib/software/GCCcore/13.2.0/bin/../lib/gcc/x86_64-pc-linux-gnu/13.2.0/../../../../include/c++/13.2.0/bits/postypes.h:40:
In file included from /kyukon/home/apps/RHEL8/cascadelake-ib/software/GCCcore/13.2.0/bin/../lib/gcc/x86_64-pc-linux-gnu/13.2.0/../../../../include/c++/13.2.0/cwchar:44:
In file included from /usr/include/wchar.h:30:
/usr/include/bits/floatn.h:86:20: error: typedef redefinition with different types ('__float128' vs 'struct __castxml_Float128_s')
:472:   19: note: expanded from macro '_Float128'
86  472 | #define _Float128 __castxml_Float128
|                   ^
:478:124: note: previous definition is here
478 | typedef struct __castxml_Float128_s {   __float128 x;   operator __float128() const;   __castxml_Float128_s(__float128); } __castxml_Float128;
|                                                                                ^
| typedef __float128 _Float128;
|                    ^
:472:19: note: expanded from macro '_Float128'
472 | #define _Float128 __castxml_Float1In file included from /tmp/vsc47063/easybuild/build/ITK/5.4.0/foss-2023b/easybuild_obj/Wrapping/castxml_inputs/itkPyImageFilter.cxx:1:
In file included from /tmp/vsc47063/easybuild/build/ITK/5.4.0/foss-2023b/ITK-5.4.0/Modules/Core/Common/include/itkCommand.h:21:
In file included from /tmp/vsc47063/easybuild/build/ITK/5.4.0/foss-2023b/ITK-5.4.0/Modules/Core/Common/include/itkObject.h:31:
In file included from /tmp/vsc47063/easybuild/build/ITK/5.4.0/foss-2023b/ITK-5.4.0/Modules/Core/Common/include/itkLightObject.h:21:
In file included from /tmp/vsc47063/easybuild/build/ITK/5.4.0/foss-2023b/ITK-5.4.0/Modules/Core/Common/include/itkMacro.h:47:
In file included from /kyukon/home/apps/RHEL8/cascadelake-ib/software/GCCcore/13.2.0/bin/../lib/gcc/x86_64-pc-linux-gnu/13.2.0/../../../../include/c++/13.2.0/string:42:
In file included from /kyukon/home/apps/RHEL8/cascadelake-ib/software/GCCcore/13.2.0/bin/../lib/gcc/x86_64-pc-linux-gnu/13.2.0/../../../../include/c++/13.2.0/bits/char_traits.h:42:
In file included from /kyukon/home/apps/RHEL8/cascadelake-ib/software/GCCcore/13.2.0/bin/../lib/gcc/x86_64-pc-linux-gnu/13.2.0/../../../../include/c++/13.2.0/bits/postypes.h:40:
In file included from /kyukon/home/apps/RHEL8/cascadelake-ib/software/GCCcore/13.2.0/bin/../lib/gcc/x86_64-pc-linux-gnu/13.2.0/../../../../include/c++/13.2.0/cwchar:44:
In file included from /usr/include/wchar.h:30:
In file included from /usr/include/bits/floatn.h:119:
/usr/include/bits/floatn-common.h:214:15: error: typedef redefinition with different types ('float' vs 'struct __castxml_Float32_s')
28
|                   ^
214 | typedef float _Float32;
|               ^
:478:124: note: previous definition is here
:  468:18: note: expanded from macro '_Float32'
478 | typedef struct __castxml_Float128_s {   __float128 x;   operator __float128() const;   __castxml_Float128_s(__float128); } __castxml_Float128;
|                                                                                ^
468 | #define _Float32 __castxml_Float32
|                  ^
:474:107: note: previous definition is here
474 | typedef struct __castxml_Float32_In file included from s {   float x;   operator float() const;   __castxml_Float32_s(float); } __castxml_Float32;
|                                                                                ^
/tmp/vsc47063/easybuild/build/ITK/5.4.0/foss-2023b/easybuild_obj/Wrapping/castxml_inputs/itkPyCommand.cxx:1:
In file included from /tmp/vsc47063/easybuild/build/ITK/5.4.0/foss-2023b/ITK-5.4.0/Modules/Core/Common/include/itkCommand.h:21In file included from /tmp/vsc47063/easybuild/build/ITK/5.4.0/foss-2023b/easybuild_obj/Wrapping/castxml_inputs/itkPyImageFilter.cxx:1:
In file included from /tmp/vsc47063/easybuild/build/ITK/5.4.0/foss-2023b/ITK-5.4.0/Modules/Core/Common/include/itkCommand.h:21:
In file included from /tmp/vsc47063/easybuild/build/ITK/5.4.0/foss-2023b/ITK-5.4.0/Modules/Core/Common/include/itkObject.h:31:
In file included from /tmp/vsc47063/easybuild/build/ITK/5.4.0/foss-2023b/ITK-5.4.0/Modules/Core/Common/include/itkLightObject.h:21:
In file included from /tmp/vsc47063/easybuild/build/ITK/5.4.0/foss-2023b/ITK-5.4.0/Modules/Core/Common/include/itkMacro.h:47:
In file included from /kyukon/home/apps/RHEL8/cascadelake-ib/software/GCCcore/13.2.0/bin/../lib/gcc/x86_64-pc-linux-gnu/13.2.0/../../../../include/c++/13.2.0/string:42:
In file included from /kyukon/home/apps/RHEL8/cascadelake-ib/software/GCCcore/13.2.0/bin/../lib/gcc/x86_64-pc-linux-gnu/13.2.0/../../../../include/c++/13.2.0/bits/char_traits.h:42:
In file included from /kyukon/home/apps/RHEL8/cascadelake-ib/software/GCCcore/13.2.0/bin/../lib/gcc/x86_64-pc-linux-gnu/13.2.0/../../../../include/c++/13.2.0/bits/postypes.h:40:
In file included from /kyukon/home/apps/RHEL8/cascadelake-ib/software/GCCcore/13.2.0/bin/../lib/gcc/x86_64-pc-linux-gnu/13.2.0/../../../../include/c++/13.2.0/cwchar:44:
In file included from /usr/include/wchar.h:30:
In file included from /usr/include/bits/floatn.h:119:
/usr/include/bits/floatn-common.h:251:16: error: typedef redefinition with different types ('double' vs 'struct __castxml_Float64_s')
:
In file included from /tmp/vsc47063/easybuild/build/ITK/5.4.0/foss-2023b/ITK-5.4.0/Modules/Core/Common/include/itkObject.h:31:
In file included from /tmp/vsc47063/easybuild/build/ITK/5.4.0/foss-2023b/ITK-5.4.0/Modules/Core/Common/include/itkLightObject.h:21:
In file included from /tmp/vsc47063/easybuild/build/ITK/5.4.0/foss-2023b/ITK-5.4.0/Modules/Core/Common/include/itkMacro.h:47:
In file included from /kyukon/home/apps/RHEL8/cascadelake-ib/software/GCCcore/13.2.0/bin/../lib/gcc/x86_64-pc-linux-gnu/13.2.0/../../../../include/c++/13.2.0/string:42:
In file included from /kyukon/home/apps/RHEL8/cascadelake-ib/software/GCCcore/13.2.0/bin/../lib/gcc/x86_64-pc-linux-gnu/13.2.0/../../../../include/c++/13.2.0/bits/char_traits.h:42:
In file included from /kyukon/home/apps/RHEL8/cascadelake-ib/software/GCCcore/13.2.0/bin/../lib/gcc/x86_64-pc-linux-gnu/13.2.0/../../../../include/c++/13.2.0/bits/postypes.h:40:
In file included from /kyukon/home/apps/RHEL8/cascadelake-ib/software/GCCcore/13.2.0/bin/../lib/gcc/x86_64-pc-linux-gnu/13.2.0/../../../../include/c++/13.2.0/cwchar:44:
In file included from /usr/include/wchar.h:30:
In file included from /usr/include/bits/floatn.h:119:
/usr/include/bits/floatn-common.h:214:15: error: typedef redefinition with different types ('float' vs 'struct __castxml_Float32_s')
251  214 | typedef float _Float32;
|               ^
 | typedef double _Float64;
|                ^
:468:18: note: expanded from macro '_Float32'
:470:18: note: expanded from macro '_Float64'
468 | #define _Float32 __castxml_Float32
|                  ^
470 | #define _Float64 __castxml_Float64
|                  ^
:474:107: note: previous definition is here
:  476:110: note: previous definition is here
474  476 | typedef struct __castxml_Float64_s {   double x;   operator double() const;   __castxml_Float64_s(double); } __castxml_Float64;
|                                                                                ^
| typedeIn file included from f struct __castxml_Float32_s {   float x;   operator float() const;   __castxml_Float32_s(float); } __castxml_Float32;
|                                                                                ^
/tmp/vsc47063/easybuild/build/ITK/5.4.0/foss-2023b/easybuild_obj/Wrapping/castxml_inputs/itkPyImageFilter.cxx:1:
In file included from /tmp/vsc47063/easybuild/build/ITK/5.4.0/foss-2023b/ITK-5.4.0/Modules/Core/Common/include/itkCommand.h:21In file included from :
In file included from /tmp/vsc47063/easybuild/build/ITK/5.4.0/foss-2023b/ITK-5.4.0/Modules/Core/Common/include/itkObject.h:31:
In file included from /tmp/vsc47063/easybuild/build/ITK/5.4.0/foss-2023b/ITK-5.4.0/Modules/Core/Common/include/itkLightObject.h:21:
In file included from /tmp/vsc47063/easybuild/build/ITK/5.4.0/foss-2023b/ITK-5.4.0/Modules/Core/Common/include/itkMacro.h:47:
In file included from /kyukon/home/apps/RHEL8/cascadelake-ib/software/GCCcore/13.2.0/bin/../lib/gcc/x86_64-pc-linux-gnu/13.2.0/../../../../include/c++/13.2.0/string:42:
In file included from /kyukon/home/apps/RHEL8/cascadelake-ib/software/GCCcore/13.2.0/bin/../lib/gcc/x86_64-pc-linux-gnu/13.2.0/../../../../include/c++/13.2.0/bits/char_traits.h:42:
In file included from /kyukon/home/apps/RHEL8/cascadelake-ib/software/GCCcore/13.2.0/bin/../lib/gcc/x86_64-pc-linux-gnu/13.2.0/../../../../include/c++/13.2.0/bits/postypes.h:40:
In file included from /kyukon/home/apps/RHEL8/cascadelake-ib/software/GCCcore/13.2.0/bin/../lib/gcc/x86_64-pc-linux-gnu/13.2.0/../../../../include/c++/13.2.0/cwchar:44:
In file included from /usr/include/wchar.h:30:
In file included from /usr/include/bits/floatn.h:119:
/usr/include/bits/floatn-common.h:268:16: error: typedef redefinition with different types ('double' vs 'struct __castxml_Float32x_s')
268 | typedef double _Float32x;
|                ^
:469:19: note: expanded from macro '_Float32x'
469 | #define _Float32x __castxml_Float32x
|                   ^
/tmp/vsc47063/easybuild/build/ITK/5.4.0/foss-2023b/easybuild_obj/Wrapping/castxml_inputs/itkPyCommand.cxx:1:
In file included from /tmp/vsc47063/easybuild/build/ITK/5.4.0/foss-2023b/ITK-5.4.0/Modules/Core/Common/include/itkCommand.h:21:
In file included from /tmp/vsc47063/easybuild/build/ITK/5.4.0/foss-2023b/ITK-5.4.0/Modules/Core/Common/include/itkObject.h:31:
In file included from /tmp/vsc47063/easybuild/build/ITK/5.4.0/foss-2023b/ITK-5.4.0/Modules/Core/Common/include/itkLightObject.h:21:
In file included from /tmp/vsc47063/easybuild/build/ITK/5.4.0/foss-2023b/ITK-5.4.0/Modules/Core/Common/include/itkMacro.h:47:
In file included from /kyukon/home/apps/RHEL8/cascadelake-ib/software/GCCcore/13.2.0/bin/../lib/gcc/x86_64-pc-linux-gnu/13.2.0/../../../../include/c++/13.2.0/string:42:
In file included from /kyukon/home/apps/RHEL8/cascadelake-ib/software/GCCcore/13.2.0/bin/../lib/gcc/x86_64-pc-linux-gnu/13.2.0/../../../../include/c++/13.2.0/bits/char_traits.h:42:
In file included from /kyukon/home/apps/RHEL8/cascadelake-ib/software/GCCcore/13.2.0/bin/../lib/gcc/x86_64-pc-linux-gnu/13.2.0/../../../../include/c++/13.2.0/bits/postypes.h:40:
In file included from /kyukon/home/apps/RHEL8/cascadelake-ib/software/GCCcore/13.2.0/bin/../lib/gcc/x86_64-pc-linux-gnu/13.2.0/../../../../include/c++/13.2.0/cwchar:44:
In file included from /usr/include/wchar.h:30:
In file included from /usr/include/bits/floatn.h:119:
/usr/include/bits/floatn-common.h:251:16: error: typedef redefinition with different types ('double' vs 'struct __castxml_Float64_s')
:  251 | typedef double _Float64;
|                ^
475:112: note: previous definition is here
:  475 | typedef struct __castxml_Float32x_s {   double x;   operator double() const;   __castxml_Float32x_s(double); } __castxml_Float32x;
|                                                                                ^
470:18: note: In file included from /tmp/vsc47063/easybuild/build/ITK/5.4.0/foss-2023b/easybuild_obj/Wrapping/castxml_inputs/itkPyImageFilter.cxx:1:
In file included from /tmp/vsc47063/easybuild/build/ITK/5.4.0/foss-2023b/ITK-5.4.0/Modules/Core/Common/include/itkCommand.h:21:
In file included from /tmp/vsc47063/easybuild/build/ITK/5.4.0/foss-2023b/ITK-5.4.0/Modules/Core/Common/include/itkObject.h:31:
In file included from /tmp/vsc47063/easybuild/build/ITK/5.4.0/foss-2023b/ITK-5.4.0/Modules/Core/Common/include/itkLightObject.h:21:
In file included from /tmp/vsc47063/easybuild/build/ITK/5.4.0/foss-2023b/ITK-5.4.0/Modules/Core/Common/include/itkMacro.h:47:
In file included from /kyukon/home/apps/RHEL8/cascadelake-ib/software/GCCcore/13.2.0/bin/../lib/gcc/x86_64-pc-linux-gnu/13.2.0/../../../../include/c++/13.2.0/string:42:
In file included from /kyukon/home/apps/RHEL8/cascadelake-ib/software/GCCcore/13.2.0/bin/../lib/gcc/x86_64-pc-linux-gnu/13.2.0/../../../../include/c++/13.2.0/bits/char_traits.h:42:
In file included from /kyukon/home/apps/RHEL8/cascadelake-ib/software/GCCcore/13.2.0/bin/../lib/gcc/x86_64-pc-linux-gnu/13.2.0/../../../../include/c++/13.2.0/bits/postypes.h:40:
In file included from /kyukon/home/apps/RHEL8/cascadelake-ib/software/GCCcore/13.2.0/bin/../lib/gcc/x86_64-pc-linux-gnu/13.2.0/../../../../include/c++/13.2.0/cwchar:44:
In file included from /usr/include/wchar.h:30:
In file included from /usr/include/bits/floatn.h:119:
/usr/include/bits/floatn-common.h:285:21: error: typedef redefinition with different types ('long double' vs 'struct __castxml_Float64x_s')
expanded from macro '_Float64'
470 | #define _Float64 __castxml_Float64
|                  ^
285 | typedef long double _Float64x;
|                     ^
:476:110: note: previous definition is here
:  471:19: note: expanded from macro '_Float64x'
476 | typedef struct __castxml_Float64_s {   double x;   operator double() const;   __castxml_Float64_s(double); } __castxml_Float64;
|                                                                                ^
471 | #defineIn file included from /tmp/vsc47063/easybuild/build/ITK/5.4.0/foss-2023b/easybuild_obj/Wrapping/castxml_inputs/itkPyCommand.cxx:1:
In file included from /tmp/vsc47063/easybuild/build/ITK/5.4.0/foss-2023b/ITK-5.4.0/Modules/Core/Common/include/itkCommand.h:21:
In file included from /tmp/vsc47063/easybuild/build/ITK/5.4.0/foss-2023b/ITK-5.4.0/Modules/Core/Common/include/itkObject.h:31:
In file included from /tmp/vsc47063/easybuild/build/ITK/5.4.0/foss-2023b/ITK-5.4.0/Modules/Core/Common/include/itkLightObject.h:21:
In file included from /tmp/vsc47063/easybuild/build/ITK/5.4.0/foss-2023b/ITK-5.4.0/Modules/Core/Common/include/itkMacro.h:47:
In file included from /kyukon/home/apps/RHEL8/cascadelake-ib/software/GCCcore/13.2.0/bin/../lib/gcc/x86_64-pc-linux-gnu/13.2.0/../../../../include/c++/13.2.0/string:42:
In file included from /kyukon/home/apps/RHEL8/cascadelake-ib/software/GCCcore/13.2.0/bin/../lib/gcc/x86_64-pc-linux-gnu/13.2.0/../../../../include/c++/13.2.0/bits/char_traits.h:42:
In file included from /kyukon/home/apps/RHEL8/cascadelake-ib/software/GCCcore/13.2.0/bin/../lib/gcc/x86_64-pc-linux-gnu/13.2.0/../../../../include/c++/13.2.0/bits/postypes.h:40:
In file included from /kyukon/home/apps/RHEL8/cascadelake-ib/software/GCCcore/13.2.0/bin/../lib/gcc/x86_64-pc-linux-gnu/13.2.0/../../../../include/c++/13.2.0/cwchar:44:
In file included from /usr/include/wchar.h:30:
In file included from /usr/include/bits/floatn.h:119:
/usr/include/bits/floatn-common.h:268:16: error: typedef redefinition with different types ('double' vs 'struct __castxml_Float32x_s')
_Float64x __castxml_Float64x
|                   ^
268 | typedef double _Float32x;
|                ^
:477:127: note: previous definition is here
:  469:19: note: expanded from macro '_Float32x'
477 | typedef struct __castxml_Float64x_s {   long double x;   operator long double() const;   __castxml_Float64x_s(long double); } __castxml_Float64x;
|                                                                                ^
469 | #define _Float32x __castxml_Float32x
|                   ^
:475:112: note: previous definition is here
475 | tIn file included from ypedef struct __castxml_Float32x_s {   double x;   operator double() const;   __castxml_Float32x_s(double); } __castxml_Float32x;
|                                                                                ^
/tmp/vsc47063/easybuild/build/ITK/5.4.0/foss-2023b/easybuild_obj/Wrapping/castxml_inputs/itkFixedArray.cxx:1:
In file included from In file included from /tmp/vsc47063/easybuild/build/ITK/5.4.0/foss-2023b/easybuild_obj/Wrapping/castxml_inputs/itkPyCommand.cxx:1:
In file included from /tmp/vsc47063/easybuild/build/ITK/5.4.0/foss-2023b/ITK-5.4.0/Modules/Core/Common/include/itkCommand.h:21:
In file included from /tmp/vsc47063/easybuild/build/ITK/5.4.0/foss-2023b/ITK-5.4.0/Modules/Core/Common/include/itkObject.h:31:
In file included from /tmp/vsc47063/easybuild/build/ITK/5.4.0/foss-2023b/ITK-5.4.0/Modules/Core/Common/include/itkLightObject.h:21:
In file included from /tmp/vsc47063/easybuild/build/ITK/5.4.0/foss-2023b/ITK-5.4.0/Modules/Core/Common/include/itkMacro.h:47:
In file included from /kyukon/home/apps/RHEL8/cascadelake-ib/software/GCCcore/13.2.0/bin/../lib/gcc/x86_64-pc-linux-gnu/13.2.0/../../../../include/c++/13.2.0/string:42:
In file included from /kyukon/home/apps/RHEL8/cascadelake-ib/software/GCCcore/13.2.0/bin/../lib/gcc/x86_64-pc-linux-gnu/13.2.0/../../../../include/c++/13.2.0/bits/char_traits.h:42:
In file included from /kyukon/home/apps/RHEL8/cascadelake-ib/software/GCCcore/13.2.0/bin/../lib/gcc/x86_64-pc-linux-gnu/13.2.0/../../../../include/c++/13.2.0/bits/postypes.h:40:
In file included from /kyukon/home/apps/RHEL8/cascadelake-ib/software/GCCcore/13.2.0/bin/../lib/gcc/x86_64-pc-linux-gnu/13.2.0/../../../../include/c++/13.2.0/cwchar:44:
In file included from /usr/include/wchar.h:30:
In file included from /usr/include/bits/floatn.h:119:
/usr/include/bits/floatn-common.h:285:21: error: typedef redefinition with different types ('long double' vs 'struct __castxml_Float64x_s')
285 | typedef long double _Float64x;
|                     ^
:471:19: note: expanded from macro '_Float64x'
471 | #define _Float64x __castxml_Float64x
|                   ^
:477:127: note: previous definition is here
477 | typedef struct __castxml_Float64x_s {   long double x;   operator long double() const;   __castxml_Float64x_s(long double); } __castxml_Float64x;
|                                                                                ^
/tmp/vsc47063/easybuild/build/ITK/5.4.0/foss-2023b/ITK-5.4.0/Modules/Core/Common/include/itkCommand.h:21:
In file included from /tmp/vsc47063/easybuild/build/ITK/5.4.0/foss-2023b/ITK-5.4.0/Modules/Core/Common/include/itkObject.h:31:
In file included from /tmp/vsc47063/easybuild/build/ITK/5.4.0/foss-2023b/ITK-5.4.0/Modules/Core/Common/include/itkLightObject.h:21:
In file included from /tmp/vsc47063/easybuild/build/ITK/5.4.0/foss-2023b/ITK-5.4.0/Modules/Core/Common/include/itkMacro.h:47:
In file included from /kyukon/home/apps/RHEL8/cascadelake-ib/software/GCCcore/13.2.0/bin/../lib/gcc/x86_64-pc-linux-gnu/13.2.0/../../../../include/c++/13.2.0/string:42:
In file included from /kyukon/home/apps/RHEL8/cascadelake-ib/software/GCCcore/13.2.0/bin/../lib/gcc/x86_64-pc-linux-gnu/13.2.0/../../../../include/c++/13.2.0/bits/char_traits.h:42:
In file included from /kyukon/home/apps/RHEL8/cascadelake-ib/software/GCCcore/13.2.0/bin/../lib/gcc/x86_64-pc-linux-gnu/13.2.0/../../../../include/c++/13.2.0/bits/postypes.h:40:
In file included from /kyukon/home/apps/RHEL8/cascadelake-ib/software/GCCcore/13.2.0/bin/../lib/gcc/x86_64-pc-linux-gnu/13.2.0/../../../../include/c++/13.2.0/cwchar:44:
In file included from /usr/include/wchar.h:30:
/usr/include/bits/floatn.h:86:20: error: typedef redefinition with different types ('__float128' vs 'struct __castxml_Float128_s')
86 | typedef __float128 _Float128;
|                    ^
:472:19: note: expanded from macro '_Float128'
472 | #define _Float128 __castxml_Float128
|                   ^
:478:124: note: previous definition is here
478 | typedef struct __castxml_Float128_s {   __float128 x;   operator __float128() const;   __castxml_Float128_s(__float128); } __castxml_Float128;
|                                                                                ^
In file included from /tmp/vsc47063/easybuild/build/ITK/5.4.0/foss-2023b/easybuild_obj/Wrapping/castxml_inputs/itkFixedArray.cxx:1:
In file included from /tmp/vsc47063/easybuild/build/ITK/5.4.0/foss-2023b/ITK-5.4.0/Modules/Core/Common/include/itkCommand.h:21:
In file included from /tmp/vsc47063/easybuild/build/ITK/5.4.0/foss-2023b/ITK-5.4.0/Modules/Core/Common/include/itkObject.h:31:
In file included from /tmp/vsc47063/easybuild/build/ITK/5.4.0/foss-2023b/ITK-5.4.0/Modules/Core/Common/include/itkLightObject.h:21:
In file included from /tmp/vsc47063/easybuild/build/ITK/5.4.0/foss-2023b/ITK-5.4.0/Modules/Core/Common/include/itkMacro.h:47:
In file included from /kyukon/home/apps/RHEL8/cascadelake-ib/software/GCCcore/13.2.0/bin/../lib/gcc/x86_64-pc-linux-gnu/13.2.0/../../../../include/c++/13.2.0/string:42:
In file included from /kyukon/home/apps/RHEL8/cascadelake-ib/software/GCCcore/13.2.0/bin/../lib/gcc/x86_64-pc-linux-gnu/13.2.0/../../../../include/c++/13.2.0/bits/char_traits.h:42:
In file included from /kyukon/home/apps/RHEL8/cascadelake-ib/software/GCCcore/13.2.0/bin/../lib/gcc/x86_64-pc-linux-gnu/13.2.0/../../../../include/c++/13.2.0/bits/postypes.h:40:
In file included from /kyukon/home/apps/RHEL8/cascadelake-ib/software/GCCcore/13.2.0/bin/../lib/gcc/x86_64-pc-linux-gnu/13.2.0/../../../../include/c++/13.2.0/cwchar:44:
In file included from /usr/include/wchar.h:30:
In file included from /usr/include/bits/floatn.h:119:
/usr/include/bits/floatn-common.h:214:15: error: typedef redefinition with different types ('float' vs 'struct __castxml_Float32_s')
214 | typedef float _Float32;
|               ^
:468:18: note: expanded from macro '_Float32'
468 | #define _Float32 __castxml_Float32
|                  ^
:474:107: note: previous definition is here
474 | typedef struct __castxml_Float32_s {   float x;   operator float() const;   __castxml_Float32_s(float); } __castxml_Float32;
|                                                                                ^
In file included from /tmp/vsc47063/easybuild/build/ITK/5.4.0/foss-2023b/easybuild_obj/Wrapping/castxml_inputs/itkFixedArray.cxx:1:
In file included from /tmp/vsc47063/easybuild/build/ITK/5.4.0/foss-2023b/ITK-5.4.0/Modules/Core/Common/include/itkCommand.h:21:
In file included from /tmp/vsc47063/easybuild/build/ITK/5.4.0/foss-2023b/ITK-5.4.0/Modules/Core/Common/include/itkObject.h:31:
In file included from /tmp/vsc47063/easybuild/build/ITK/5.4.0/foss-2023b/ITK-5.4.0/Modules/Core/Common/include/itkLightObject.h:21:
In file included from /tmp/vsc47063/easybuild/build/ITK/5.4.0/foss-2023b/ITK-5.4.0/Modules/Core/Common/include/itkMacro.h:47:
In file included from /kyukon/home/apps/RHEL8/cascadelake-ib/software/GCCcore/13.2.0/bin/../lib/gcc/x86_64-pc-linux-gnu/13.2.0/../../../../include/c++/13.2.0/string:42:
In file included from /kyukon/home/apps/RHEL8/cascadelake-ib/software/GCCcore/13.2.0/bin/../lib/gcc/x86_64-pc-linux-gnu/13.2.0/../../../../include/c++/13.2.0/bits/char_traits.h:42:
In file included from /kyukon/home/apps/RHEL8/cascadelake-ib/software/GCCcore/13.2.0/bin/../lib/gcc/x86_64-pc-linux-gnu/13.2.0/../../../../include/c++/13.2.0/bits/postypes.h:40:
In file included from /kyukon/home/apps/RHEL8/cascadelake-ib/software/GCCcore/13.2.0/bin/../lib/gcc/x86_64-pc-linux-gnu/13.2.0/../../../../include/c++/13.2.0/cwchar:44:
In file included from /usr/include/wchar.h:30:
In file included from /usr/include/bits/floatn.h:119:
/usr/include/bits/floatn-common.h:251:16: error: typedef redefinition with different types ('double' vs 'struct __castxml_Float64_s')
251 | typedef double _Float64;
|                ^
:470:18: note: expanded from macro '_Float64'
470 | #define _Float64 __castxml_Float64
|                  ^
:476:110: note: previous definition is here
476 | typedef struct __castxml_Float64_s {   double x;   operator double() const;   __castxml_Float64_s(double); } __castxml_Float64;
|                                                                                ^
In file included from /tmp/vsc47063/easybuild/build/ITK/5.4.0/foss-2023b/easybuild_obj/Wrapping/castxml_inputs/itkFixedArray.cxx:1:
In file included from /tmp/vsc47063/easybuild/build/ITK/5.4.0/foss-2023b/ITK-5.4.0/Modules/Core/Common/include/itkCommand.h:21:
In file included from /tmp/vsc47063/easybuild/build/ITK/5.4.0/foss-2023b/ITK-5.4.0/Modules/Core/Common/include/itkObject.h:31:
In file included from /tmp/vsc47063/easybuild/build/ITK/5.4.0/foss-2023b/ITK-5.4.0/Modules/Core/Common/include/itkLightObject.h:21:
In file included from /tmp/vsc47063/easybuild/build/ITK/5.4.0/foss-2023b/ITK-5.4.0/Modules/Core/Common/include/itkMacro.h:47:
In file included from /kyukon/home/apps/RHEL8/cascadelake-ib/software/GCCcore/13.2.0/bin/../lib/gcc/x86_64-pc-linux-gnu/13.2.0/../../../../include/c++/13.2.0/string:42:
In file included from /kyukon/home/apps/RHEL8/cascadelake-ib/software/GCCcore/13.2.0/bin/../lib/gcc/x86_64-pc-linux-gnu/13.2.0/../../../../include/c++/13.2.0/bits/char_traits.h:42:
In file included from /kyukon/home/apps/RHEL8/cascadelake-ib/software/GCCcore/13.2.0/bin/../lib/gcc/x86_64-pc-linux-gnu/13.2.0/../../../../include/c++/13.2.0/bits/postypes.h:40:
In file included from /kyukon/home/apps/RHEL8/cascadelake-ib/software/GCCcore/13.2.0/bin/../lib/gcc/x86_64-pc-linux-gnu/13.2.0/../../../../include/c++/13.2.0/cwchar:44:
In file included from /usr/include/wchar.h:30:
In file included from /usr/include/bits/floatn.h:119:
/usr/include/bits/floatn-common.h:268:16: error: typedef redefinition with different types ('double' vs 'struct __castxml_Float32x_s')
268 | typedef double _Float32x;
|                ^
:469:19: note: expanded from macro '_Float32x'
469 | #define _Float32x __castxml_Float32x
|                   ^
:475:112: note: previous definition is here
475 | typedef struct __castxml_Float32x_s {   double x;   operator double() const;   __castxml_Float32x_s(double); } __castxml_Float32x;
|                                                                                ^
In file included from /tmp/vsc47063/easybuild/build/ITK/5.4.0/foss-2023b/easybuild_obj/Wrapping/castxml_inputs/itkFixedArray.cxx:1:
In file included from /tmp/vsc47063/easybuild/build/ITK/5.4.0/foss-2023b/ITK-5.4.0/Modules/Core/Common/include/itkCommand.h:21:
In file included from /tmp/vsc47063/easybuild/build/ITK/5.4.0/foss-2023b/ITK-5.4.0/Modules/Core/Common/include/itkObject.h:31:
In file included from /tmp/vsc47063/easybuild/build/ITK/5.4.0/foss-2023b/ITK-5.4.0/Modules/Core/Common/include/itkLightObject.h:21:
In file included from /tmp/vsc47063/easybuild/build/ITK/5.4.0/foss-2023b/ITK-5.4.0/Modules/Core/Common/include/itkMacro.h:47:
In file included from /kyukon/home/apps/RHEL8/cascadelake-ib/software/GCCcore/13.2.0/bin/../lib/gcc/x86_64-pc-linux-gnu/13.2.0/../../../../include/c++/13.2.0/string:42:
In file included from /kyukon/home/apps/RHEL8/cascadelake-ib/software/GCCcore/13.2.0/bin/../lib/gcc/x86_64-pc-linux-gnu/13.2.0/../../../../include/c++/13.2.0/bits/char_traits.h:42:
In file included from /kyukon/home/apps/RHEL8/cascadelake-ib/software/GCCcore/13.2.0/bin/../lib/gcc/x86_64-pc-linux-gnu/13.2.0/../../../../include/c++/13.2.0/bits/postypes.h:40:
In file included from /kyukon/home/apps/RHEL8/cascadelake-ib/software/GCCcore/13.2.0/bin/../lib/gcc/x86_64-pc-linux-gnu/13.2.0/../../../../include/c++/13.2.0/cwchar:44:
In file included from /usr/include/wchar.h:30:
In file included from /usr/include/bits/floatn.h:119:
/usr/include/bits/floatn-common.h:285:21: error: typedef redefinition with different types ('long double' vs 'struct __castxml_Float64x_s')
285 | typedef long double _Float64x;
|                     ^
:471:19: note: expanded from macro '_Float64x'
471 | #define _Float64x __castxml_Float64x
|                   ^
:477:127: note: previous definition is here
477 | typedef struct __castxml_Float64x_s {   long double x;   operator long double() const;   __castxml_Float64x_s(long double); } __castxml_Float64x;
|

Since the non-system CastXML does not work, I tried to build/install CastXML-0.6.8 either with cstd c++11 and gnu++14 to avoid this https://github.com/CastXML/CastXML/blob/v0.6.8/src/RunClang.cxx#L443, but there is still the same error.

@bradking do you have some suggestions?

@pavelToman against what version of LLVM/Clang are you building CastXML?

The version of Clang is 17.0.6. I have already try to change GCC std to c++11, c++14, gnu++11 and gnu++14 but nothing from this helps.

CastXML/CastXML#271 fixes this by reading bits/floatn-common.h and checking whether or not it contains the pre-2.37 condition.
I've released CastXML 0.6.9 with the fix.

During this investigation I found another problem with simulating GCC 13 on RHEL that I'd meant to fix too.  See CastXML/CastXML#272.
I've released CastXML 0.6.10 for that.

Great!
It seems you fix it, thank you very much!
I build and use CastXML-0.6.10 and the Floats errors are gone :+1:


Onnx squeeze enabled with auto axis handling.

According to ONNX spec: https://github.com/onnx/onnx/blob/main/docs/Changelog.md#squeeze-13

If axes is not provided, all the single dimensions will be removed from the shape.

This PR supports the absence of empty axis handling and the edge case of scalar.squeeze().
cc: @masahi @AndrewZhaoLuo @junrushao1994

Hi @masahi the CI finally passed. Could help with the review. :-)


Use of Promise.any() can cause unhandled promise rejection

Version: 0.42.2

Platform: Linux plain 6.1.10-100.fc36.x86_64

Subsystem:  Dialer

Severity: Medium

Description:
On this line: https://github.com/libp2p/js-libp2p/blob/de73b6a22c7580d2bba5ca97f86465c8f9ed0e06/src/connection-manager/dialer/dial-request.ts#L85 there is a call to Promise.any() however inside the promises that are supplied to that call, there appears to be insufficient error handling.  Once the call to any has resolved, any of the other promises may still reject and will cause a node system error.  This issue has been raised before: https://github.com/nodejs/node/issues/43639
This is the error I get back when I run this test:
node:internal/process/promises:288
            triggerUncaughtException(err, true /* fromPromise */);
            ^

[AggregateError: All promises were rejected] {
  code: 'ERR_TIMEOUT',
  [errors]: [
    AbortError: The operation was aborted
        at EventTarget.onAbort (/home/evil_liskov/repos/dreamcatcher-stack/node_modules/@libp2p/websockets/src/index.ts:87:16)
        at EventTarget.[nodejs.internal.kHybridDispatch] (node:internal/event_target:735:20)
        at EventTarget.dispatchEvent (node:internal/event_target:677:26)
        at abortSignal (node:internal/abort_controller:308:10)
        at AbortController.abort (node:internal/abort_controller:338:5)
        at EventTarget.onAbort (/home/evil_liskov/repos/dreamcatcher-stack/node_modules/any-signal/index.js:11:16)
        at EventTarget.[nodejs.internal.kHybridDispatch] (node:internal/event_target:735:20)
        at EventTarget.dispatchEvent (node:internal/event_target:677:26)
        at abortSignal (node:internal/abort_controller:308:10)
        at AbortController.abort (node:internal/abort_controller:338:5)
        at EventTarget.onAbort (/home/evil_liskov/repos/dreamcatcher-stack/node_modules/any-signal/index.js:11:16)
        at EventTarget.[nodejs.internal.kHybridDispatch] (node:internal/event_target:735:20)
        at EventTarget.dispatchEvent (node:internal/event_target:677:26)
        at abortSignal (node:internal/abort_controller:308:10)
        at TimeoutController.abort (node:internal/abort_controller:338:5)
        at TimeoutController.abort (/home/evil_liskov/repos/dreamcatcher-stack/node_modules/timeout-abort-controller/index.js:26:18)
        at DefaultDialer.stop (/home/evil_liskov/repos/dreamcatcher-stack/node_modules/libp2p/src/connection-manager/dialer/index.ts:135:25)
        at /home/evil_liskov/repos/dreamcatcher-stack/node_modules/libp2p/src/components.ts:140:25
        at Array.map (<anonymous>)
        at DefaultComponents.stop (/home/evil_liskov/repos/dreamcatcher-stack/node_modules/libp2p/src/components.ts:139:59)
        at /home/evil_liskov/repos/dreamcatcher-stack/node_modules/libp2p/src/libp2p.ts:325:44
        at Array.map (<anonymous>)
        at Libp2pNode.stop (/home/evil_liskov/repos/dreamcatcher-stack/node_modules/libp2p/src/libp2p.ts:325:21)
        at processTicksAndRejections (node:internal/process/task_queues:95:5)
        at stopSafe (/home/evil_liskov/repos/dreamcatcher-stack/pkg/interblock/src/w305-libp2p/src/PulseNet.js:218:5)
        at PulseNet.stop (/home/evil_liskov/repos/dreamcatcher-stack/pkg/interblock/src/w305-libp2p/src/PulseNet.js:114:5)
        at Interpulse.stop (/home/evil_liskov/repos/dreamcatcher-stack/pkg/interblock/src/w310-interpulse/src/Interpulse.js:243:7)
        at async Promise.all (index 1)
        at Object.<anonymous> (/home/evil_liskov/repos/dreamcatcher-stack/pkg/interblock/src/w310-interpulse/test/mount.test.js:8:5) {
      code: 'ABORT_ERR',
      type: 'aborted'
    }
  ]
}

Steps to reproduce the error:
I don't have a good clean reproduction sorry - if you try to dial some multiaddrs and then call .stop() on the libp2p library, this error appears.

What version of node are you using?  This comment seems to imply it's been fixed in 14.21.3?
Also the error message is a little confusing - it says all promises were rejected, but the errors list only has one error so this.addrs will have only had one entry.  If that's the case then there would be no other promises that would have resolved and caused the call to Promise.any to return.
I think we really need a repro case here.

node version: v18.14.0
Yes great point about the single entry.  I don't yet have a clean repro and this is not a blocking issue.

thank you 🙏 love the switch to a queue based model


Slow inference on GPU with WSL2/Windows

Problem: inference is slow, around 3.0 tokens/second, when it should be around 20.0 tokens/second (based on other's results 3090)
I suspect this slowness its because I'm running on WSL2, but the problem exists when running on both WSL2 and Windows 10.  I have no issues running models like Stable Diffusion, LLM's, and image classifiers, so it seems specific to CogVML. It happens with both HuggingFace and SAT versions.
What I see is the GPU consistently around 30-50% usage and a single CPU core maxing at 100% for most of the duration of inference. GPU VRAM is around 15GB at 4bit which seems correct.
If anyone has any ideas, let me know.

I verified that CUDA/torch/bitsandbytes are all installed correctly and working:
Torch is correctly set up:
  is_bitsandbytes_available() -> True
  torch.cuda.current_device() -> 0
  torch.cuda.get_device_name(0) -> NVIDIA GeForce RTX 3090
  torch.cuda.is_available()  -> True

Bitsandbytesandbytes status:
    python3 -m bitsandbytes -> SUCCESS!

All model layers are on gpu:
  for n, p in model.named_parameters():
	  print(f"{n}: {p.device}")

  model.vision.linear_proj.dense_h_to_4h.weight: cuda:0
  model.vision.linear_proj.gate_proj.weight: cuda:0
  model.vision.linear_proj.dense_4h_to_h.weight: cuda:0
  etc...

Software:
  - Python version: 3.10.7
  - PyTorch version (GPU?): 2.1.0+cu121 (True)
  - CUDA 12.1

Minimal code (copied from provided, but added timing):
import torch, time
from transformers import AutoModelForCausalLM, LlamaTokenizer, is_bitsandbytes_available
from PIL import Image

local_path = "./cogvlm-chat-hf"
img_path = "./images/1.png"

tokenizer = LlamaTokenizer.from_pretrained('lmsys/vicuna-7b-v1.5')
model = AutoModelForCausalLM.from_pretrained(
    local_path,
    load_in_4bit=True,
    trust_remote_code=True,
).eval()

query = 'Describe this image in details.'
image = Image.open(img_path).convert('RGB')
inputs = model.build_conversation_input_ids(tokenizer, query=query, history=[], images=[image])
inputs = {
    'input_ids': inputs['input_ids'].unsqueeze(0).to('cuda'),
    'token_type_ids': inputs['token_type_ids'].unsqueeze(0).to('cuda'),
    'attention_mask': inputs['attention_mask'].unsqueeze(0).to('cuda'),
    'images': [[inputs['images'][0].to('cuda').to(torch.float16)]],
}
gen_kwargs = {"max_length": 2048, "do_sample": False}

with torch.no_grad():
    start = time.time()
    outputs = model.generate(**inputs, **gen_kwargs)
    outputs = outputs[:, inputs['input_ids'].shape[1]:]
    end = time.time()
    print(f"{len(outputs[0])/(end - start)} tokens/sec")
    print(f"took {(end - start)} sec")
    print(tokenizer.decode(outputs[0]))

Nevermind, after much struggle I got a script to work on Windows...but it doesn't use Triton, which, apparently, is only for Linux currently.  Although, if you go to their Github it seems they're working on a Windows build...

Any knowledge about this would be much appreciated.

Windows:

No Triton
custom bitsandbytes build from python -m pip install bitsandbytes==0.39.0 --prefer-binary --extra-index-url=https://jllllll.github.io/bitsandbytes-windows-webui

WSL2-Ubuntu:
-Triton and Bitsandbytes as per normal
The script was able to do inference without Triton on Windows, so I didn't worry about it too much.  I was mostly just interested in debugging my issue on another OS anyway.  Not sure about flash attention, last time I tried I was not on the right CUDA version and kinda forgot about it, lol

Perhaps it's a problem of bitsandbytes-windows-webui, since 4-bit inference time is determined by bitsandbytes.

I use normal bitsandbytes on WSL2, and the problem still occurs there too.  the windows version was temporary just to see if the same issue happened on Windows.

What type of slowdown are you talking about to see if I'm experiencing the same thing?  I add in my script the time to process each image (yes, mine does batch) as well as total time.  What times are you getting so we can compare?  I don't experience any slowdown on Windows that I know of...

Your tokens/second should be well above the 3 t/s I am getting.  See my example above for the calculation.  Should be  seeing around 20 tokens/second at batch 1  on a 3090.

I'm calculating mine in seconds unfortuntely...and it takes about 18 seconds on my 4090...

print(f"{len(outputs[0])/(end - start)} tokens/sec")  the formula is above, but 20-30 seconds per prompt is about what I get too

Running on my 4090 is put it at 12.26 tokens/second, just fyi.  DM me on discord if you want to swap scripts or share more data.  This was batch processing 9 files.

For the sake of an equal comparison, could you run it at batch 1?  If that's still high enough then that will be enough to determine if this is a me problem or not.

One file took 11.73 seconds and 11.51 tokens/second.

Also, maybe a stupid suggestion, but make sure and cast the model to bfloat16 with pytorch since that's what it's originally in...

torch_dtype=torch.bfloat16,
AND
'images': [[inputs['images'][0].to('cuda').to(torch.bfloat16)]],

Unfortunately swapping to bf16 doesn't make much difference. 3-4 tokens/s.
Since you don't appear to suffer the same slowness Its more likely something related to my machine/setup.  I'm using the provided examples and suggested pip packages. So there's not much else I can think of.

So if this is the problem of WSL2 or Windows, since you said "it should be around 20.0 tokens/second (based on other's results 3090)". If ubuntu is OK, it's not a problem that I can solve...

I just realized another point. You should set bnb_4bit_compute_type=torch.float16 when loading model:
model = AutoModelForCausalLM.from_pretrained(
    local_path,
    load_in_4bit=True,
    bnb_4bit_compute_type=torch.float16,
    trust_remote_code=True,
).eval()

If ubuntu is OK, it's not a problem that I can solve...
Yea, that might be the case, I'm really just looking to see if anyone else has the same issue, or for suggestions.

I will try bnb_4bit_compute_type.
I've also been tinkering with qwen-vl a bit and they are a similar sized model to this one, but they use AutoGPTQ instead of bitsandbytes, and I get the expected 20+ tokens/second with that setup.

Similar  results with bnb_4bit_compute_type.   And I tried with a number of older/newer bitsandbytes versions.
nf4_config = BitsAndBytesConfig(
   load_in_4bit=True,
   bnb_4bit_quant_type="nf4",
   bnb_4bit_use_double_quant=True,
   bnb_4bit_compute_dtype=torch.bfloat16
)

...
quantization_config=nf4_config,

So if this is the problem of WSL2 or Windows, since you said "it should be around 20.0 tokens/second (based on other's results 3090)". If ubuntu is OK, it's not a problem that I can solve...
I'm not sure why you'd think it's be 20...I'm on a 4090 on Windows with a 13900k and getting 12 maybe 13 tokens/second.

Ah, the 20 token/second metric was from someone on linux machine, so that's more of  an upper bound goal. Your number is probably more realistic for windows, but still a long shot from my 3 tokens/second.

I managed to get up to 6 tokens/second by swapping bnb_4bit_quant_type="nf4" to bnb_4bit_quant_type="fp4" on Windows, but that's probably as good as it's going to get.
I'll leave this ticket open for a short time to see if anyone else has the same slowness issue.

anyone made it work with 8 bit loading? 4 bit working but not 8 bit with same code
https://github.com/THUDM/CogVLM/issues/369

Yes, but not using straight bitsandbytes but rather through the transformers library.

Yes, but not using straight bitsandbytes but rather through the transformers library.

do you have any idea why my code works in 4 bit but not in 8 bit?
can you share your relevant code?

Actually, I'm not sure you're getting optimal results in 4-bit even...Anyways, here are links to two scripts of mine that use cogvlm-chat-hf, which, please note, are different than the model you're using...cogagent, whihc I've never used.
Generally, you'll find that I use bfloat if it's loaded in 4-bit and float16 if in 8-bit.  I don't provide an option to load in its native size because it would be too slow on consumer hardware.
I'd be curious if you find the solution please keep me posted:
https://github.com/BBC-Esq/ChromaDB-Plugin-for-LM-Studio/blob/main/src/loader_images.py
https://github.com/BBC-Esq/ChromaDB-Plugin-for-LM-Studio/blob/main/src/vision_cogvlm_module.py

Actually, I'm not sure you're getting optimal results in 4-bit even...I originally cast the model into bfloat16 if I'm using 4-bit...Anyways, here are links to two scripts of mine that use cogvlm-chat-hf, which, please note, are different than the model you're using...cogagent, whihc I've never used.
Generally, you'll find that I use bfloat if it's loaded in 4-bit and float16 if in 8-bit. I don't provide an option to load in its native size because it would be too slow on consumer hardware.
I'd be curious if you find the solution please keep me posted:
https://github.com/BBC-Esq/ChromaDB-Plugin-for-LM-Studio/blob/main/src/loader_images.py
https://github.com/BBC-Esq/ChromaDB-Plugin-for-LM-Studio/blob/main/src/vision_cogvlm_module.py

thanks a lot
i checked and your code is exactly same as mine :/ doesnt make sense

I'd doublecheck that because I thought I saw some differences...Anyways, wish I had time to help you troubleshoot but feel free to review any and all scripts on my repository if they're helpful.  Thanks.

I'd doublecheck that because I thought I saw some differences...Anyways, wish I had time to help you troubleshoot but feel free to review any and all scripts on my repository if they're helpful. Thanks.

it is. i double checked i am pretty sure
only difference i had is         if 'cross_images' in input_by_model and input_by_model['cross_images']:
inputs['cross_images'] = [[input_by_model['cross_images'][0].to(DEVICE).to(torch_type)]]
now i am going to test cogvlm-chat-hf because that is the only difference we have

Yes, when I originally created my scripts I thought I determined that you SHOULD NOT use cogagent...that's a different type of model than for interacting with images like question answering and stuff...

Yes, when I originally created my scripts I thought I determined that you SHOULD NOT use cogagent...that's a different type of model than for interacting with images like question answering and stuff...

I want to use as captioning. which model you suggest ? like lets you will train stable diffusion you want image captions

Plus, I just noticed that you're not even using the "chat" version of "cogagent"...but again, I don't think you should be using cogagent period...
https://huggingface.co/THUDM/cogagent-chat-hf

Yes, when I originally created my scripts I thought I determined that you SHOULD NOT use cogagent...that's a different type of model than for interacting with images like question answering and stuff...

I want to use as captioning. which model you suggest ? like lets you will train stable diffusion you want image captions

My program located at https://github.com/BBC-Esq/ChromaDB-Plugin-for-LM-Studio used cog and others to create captions for images, and I'm using the model I already mentioned...don't even remember why I didn't use cogagent but I think it's because it doesn't do that or isn't the best option...research it.

Yes, when I originally created my scripts I thought I determined that you SHOULD NOT use cogagent...that's a different type of model than for interacting with images like question answering and stuff...

I want to use as captioning. which model you suggest ? like lets you will train stable diffusion you want image captions

My program located at https://github.com/BBC-Esq/ChromaDB-Plugin-for-LM-Studio uses cog and others to create captions for images, and I'm using the model I already mentioned...don't even remember why I didn't use cogagent but I think it's because it doesn't do that or isn't the best option...research it.

So you suggest this model?
cogvlm-chat-hf
Downloading right now

cogvlm-chat-hf worked in 8 bit same code

@BBC-Esq why do you prefer fp16 for 4-bit and bf16 for 8-bit?
any explanation of this?
also for 16 bit which one you suggest? thank you so much

Glad I could help.  What do you mean by "for 16 bit?"  Are you you saying you want to run cogvlm-chat-hf in 16-bit mode?

Glad I could help. What do you mean by "for 16 bit?" Are you you saying you want to run cogvlm-chat-hf in 16-bit mode?

yes in 16 bit mode. not load in 4 bit or not load in 8 bit

You wouldn't use bitsandbytes at all.  You'd need to specify float17, remove the remove the load in 8-bit/4-bit parameters entirely...and also add back the ".to(device)" with "device" being however your syntax defines the device.  Again, look at my script loader_images.py where I provide different model creations depending on whether bitsandbytes is being used, but here's one relevant portion:
class loader_llava:
    def initialize_model_and_tokenizer(self, config):
        chosen_model = config['vision']['chosen_model']
        chosen_size = config['vision']['chosen_size']
        chosen_quant = config['vision']['chosen_quant']

        model_id = ""
        if chosen_model == 'llava' and chosen_size == '7b':
            model_id = "llava-hf/llava-1.5-7b-hf"
        elif chosen_model == 'bakllava':
            model_id = "llava-hf/bakLlava-v1-hf"
        elif chosen_model == 'llava' and chosen_size == '13b':
            model_id = "llava-hf/llava-1.5-13b-hf"

        print(f"Selected model: {chosen_model}")
        print(f"Selected size: {chosen_size}")
        print(f"Selected quant: {chosen_quant}")

        device = get_best_device()
        print(f"Using device: {device}")

        if chosen_model == 'llava' and chosen_quant == 'float16':
            model = LlavaForConditionalGeneration.from_pretrained(
                model_id,
                torch_dtype=torch.float16,
                low_cpu_mem_usage=True,
                resume_download=True
            ).to(device)
        elif chosen_model == 'llava' and chosen_quant == '8-bit':
            model = LlavaForConditionalGeneration.from_pretrained(
                model_id,
                torch_dtype=torch.float16,
                low_cpu_mem_usage=True,
                load_in_8bit=True,
                resume_download=True
            )
        elif chosen_model == 'llava' and chosen_quant == '4-bit':
            model = LlavaForConditionalGeneration.from_pretrained(
                model_id,
                torch_dtype=torch.float32,
                low_cpu_mem_usage=True,
                load_in_4bit=True,
                resume_download=True
            )
        elif chosen_model == 'bakllava' and chosen_quant == 'float16':
            model = LlavaForConditionalGeneration.from_pretrained(
                model_id,
                torch_dtype=torch.float16,
                low_cpu_mem_usage=True,
                resume_download=True
            ).to(device)
        elif chosen_model == 'bakllava' and chosen_quant == '8-bit':
            model = LlavaForConditionalGeneration.from_pretrained(
                model_id,
                torch_dtype=torch.float16,
                low_cpu_mem_usage=True,
                load_in_8bit=True,
                resume_download=True
            )
        elif chosen_model == 'bakllava' and chosen_quant == '4-bit':
            model = LlavaForConditionalGeneration.from_pretrained(
                model_id,
                torch_dtype=torch.float32,
                low_cpu_mem_usage=True,
                load_in_4bit=True,
                resume_download=True
            )

You'll notice that I remove the load 8/4 bit and add the ".to(device)."  The latter is necessary because when using bitsandbytes it automatically moves it to the device whereas if you do straight float16/bfloat16 it doesn't...

@BBC-Esq thanks
but what I was asking is different
in 4bit you use float16 and in 8bit you use bfloat16
why different?

and for 16bit which one you prefer float16 or bfloat16?

Going off of memory, but I think that it depends on how the original model was created...and I looked at the examples posted on the huggingface repo, which use float/bfloat...so that's my recollection.  I think it's something like...bitsandbytes 4-bit always requires the original format (e.g. float32 or bfloat16 or however the model was created), but 8-bit ALWAYS requires float16.  But again, going off of memory.  Also, there are other bitsandbytes parmeters that I'm not familiar with so my script is a very basic implementation.
Read the examples on huggingface first I believe.  I believe the model was originally created in bfloat16...but not all hardware (e.g. cpu) are optimized let alone will work with bfloat 16...so you might be forced to use float16 anyways.  Here's a good matrix in the context of another library I like:
https://opennmt.net/CTranslate2/quantization.html#implicit-type-conversion-on-load

Going off of memory, but I think that it depends on how the original model was created...and I looked at the examples posted on the huggingface repo, which use float/bfloat...so that's my recollection. I think it's something like...bitsandbytes 4-bit always requires the original format (e.g. float32 or bfloat16 or however the model was created), but 8-bit ALWAYS requires float16. But again, going off of memory. Also, there are other bitsandbytes parmeters that I'm not familiar with so my script is a very basic implementation.
Read the examples on huggingface first I believe. I believe the model was originally created in bfloat16...but not all hardware (e.g. cpu) are optimized let alone will work with bfloat 16...so you might be forced to use float16 anyways. Here's a good matrix in the context of another library I like:
https://opennmt.net/CTranslate2/quantization.html#implicit-type-conversion-on-load

thanks a lot
i also asked here : https://github.com/TimDettmers/bitsandbytes/issues/1030


[SPARK-47407][SQL] Support java.sql.Types.NULL map to NullType

What changes were proposed in this pull request?

Support java.sql.Types.NULL map to NullType
Support makeGetter for NullType

Why are the changes needed?

For better JDBC standard completeness
Does this PR introduce any user-facing change?

Yes, databases that support void/null type will not raise error
How was this patch tested?

new tests
Was this patch authored or co-authored using generative AI tooling?

no

+1, LGTM. Merging to master.
Thank you, @yaooqinn.

Thank you for the review. @MaxGekk and @dongjoon-hyun


PORT-6268 Add support for ingesting users

Description
Add support for ingesting users from Jenkins server into Port.
Type of change

[x] New feature (non-breaking change which adds functionality)

Looks good to me. One thing that is missing is bumping the integration version in pyproject.toml


add timeout_sec as keyword parameter

Add timeout_sec keyword parameter. This sets a timeout while waiting for an echo return.  Default set to .1 sec. This is meant to address issue #1

Thank you so much for submitting this, I really appreciate it and it looks great! Since the documentation is built automatically, there are a few things I need to add/change before merging so there aren't any issues with version numbers and things like that.

Glad to help - it was a good learning experience for me. Good luck with the docs !


SDcard registers not available through a header file in registers directory

The registers are defined in the sdhost.c file. These register definitions can be moved to a header file within the registers directory.

New header file added for SD Host registers. Including struct definitions like other register headers. Structures added to the main register file with the correct pointers. SDHost.c file updated to use new format.
Tested on SD Host Example.


Add back button on form pages

This PR copies over the form page back button functionality from CAS-1, which will render a back button to either the task list page or the previous task page, based on what is returned from the previous() method on the form page class.
In the case of the back button, CAS-1 refer to their task list page as a 'dashboard' I have replaced this with 'taskList'.
Before

After

 Back link on form page [2]


Add an always method on EventLoopFuture

Motivation:
https://github.com/apple/swift-nio/issues/665
Modifications:

Add always in EventLoopFuture.swift
Add tests

Result:
NIO Users will be able to use .always to, well, always run an action
whether the future succeed or not.

@Lukasa fixed the failing build, sorry about that. I'm slowly engraving in my brain the reflex of running the sanity check locally.

@weissi your wish is my command 🙇


Compiling multiple files?

Hello, this project has been very helpful and I was able to follow the instructions to get the demo working. I decided to use this project as a starting point for my engine, and ran into problems when I started abstracting into multiple classes.
See, I created a Window.h header file with the following definition:
class Window {
private:
    SDL_Window* window;
    int width, height;

public:
    Window(const char* title, int width, int height);
    ~Window();
};

and a Window.cpp file with the following implementation:
Window::Window(const char* title, int w, int h) {
    width = w; height = h;
    window = SDL_CreateWindow(title, SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, width, height, SDL_WINDOW_SHOWN);

    if (window == NULL) {
    printf("Window could not be created! SDL_Error: %s\n",
            SDL_GetError());
    }
}

Window::~Window() {
    SDL_DestroyWindow(window);
}

I then used the window class in my main.cpp file and got the following error
Undefined symbols for architecture arm64:
  "Window::Window(char const*, int, int)", referenced from:
      _main in main.cpp.o
  "Window::~Window()", referenced from:
      _main in main.cpp.o
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

I have little knowledge of cmake, but I think this has to do with the implementation in the window.cpp file not being compiled (and there are several direct mentions of main.cpp instead of a wildcard *.cpp). When I put the implementation in the main.cpp file, everything worked perfectly. I would appreciate if anyone could help me get all files compiling?
Other Information:
Using Mac OS
Build commands:
debug:
	cmake --build build/debug-make
	./compile-shaders-macos.sh

release:
	cmake --build build/release-make
	./compile-shaders-macos.sh

I am also a beginner so sorry if this is a dumb question

Hey @rachitkakkar, no worries at all 🙂
Ah yes, this is because the implementation of your Window class (in Window.cpp) isn't getting compiled. To get things to work you'll need to explicitly add Window.cpp to the target_sources command in the CMakeLists.txt file. That should make the link error go away.
It's also good practice to explicitly name the source files you'll be building instead of using a glob pattern (some interesting reasons why are available here and here.


Expose SHA256

Exposing an implementation of SHA256 for use in request signing.
Have had a look at the implementation in cryptonite; it's bespoke (by the cryptonite author), but looks reasonable code-wise to me and the test vectors are all good.
Two of the C imports (cryptonite_sha256_init and cryptonite_sha256_finalize) are unsafe, so could potentially lock up a capability, but neither of them are able to block or run in non-constant time.
I'm not putting this in IO for now, with the reasoning that most applications of non-KDF cryptographic hashes aren't vulnerable to the kind of timing vulnerability exacerbated by lazy evaluation - assuming enumerating key IDs is infeasible for the request-signing case.
@markhibberd

👍 Agree implementation looks reasonable, unsafe looks to be the correct thing for those calls I don't think you want/need them to be interrupted.

Only thing that could be worth adding is some model based tests against openssl cli, something like dump a bunch of files out, and hash them with tinfoil and do the same shelling out to openssl. Don't think it is likely to hit anything, but will pretty quickly weed out any edge cases if there were, which is probably more relevant for less trivial building blocks, but this seems like an easy case to start on.

Only thing that could be worth adding is some model based tests against openssl cli, something like dump a bunch of files out, and hash them with tinfoil and do the same shelling out to openssl. Don't think it is likely to hit anything, but will pretty quickly weed out any edge cases if there were, which is probably more relevant for less trivial building blocks, but this seems like an easy case to start on.

Sounds reasonable, will add.