kevingurney commented on PR #38660:
URL: https://github.com/apache/arrow/pull/38660#issuecomment-2027721732

   Ok, the duplcated arrow C++ shared libraries issue is fixed now.
   
   Here is the list all files that are included in the MLTBX file:
   
   ```shell
   ./fsroot/featherread.m
   ./fsroot/LICENSE.txt
   ./fsroot/+arrow/int32.m
   ./fsroot/+arrow/field.m
   ./fsroot/+arrow/schema.m
   ./fsroot/+arrow/+buffer/Buffer.m
   ./fsroot/+arrow/+util/createMetadataStruct.m
   ./fsroot/+arrow/+util/table2mlarrow.m
   ./fsroot/+arrow/+util/createVariableStruct.m
   ./fsroot/+arrow/+util/makeValidMATLABTableVariableNames.m
   ./fsroot/+arrow/int8.m
   ./fsroot/+arrow/string.m
   ./fsroot/+arrow/uint64.m
   ./fsroot/+arrow/uint32.m
   ./fsroot/+arrow/+type/Time64Type.m
   ./fsroot/+arrow/+type/StructType.m
   ./fsroot/+arrow/+type/Time32Type.m
   ./fsroot/+arrow/+type/BooleanType.m
   ./fsroot/+arrow/+type/Float64Type.m
   ./fsroot/+arrow/+type/UInt8Type.m
   ./fsroot/+arrow/+type/+traits/Int8Traits.m
   ./fsroot/+arrow/+type/+traits/BooleanTraits.m
   ./fsroot/+arrow/+type/+traits/ListTraits.m
   ./fsroot/+arrow/+type/+traits/Int32Traits.m
   ./fsroot/+arrow/+type/+traits/StringTraits.m
   ./fsroot/+arrow/+type/+traits/Float32Traits.m
   ./fsroot/+arrow/+type/+traits/UInt32Traits.m
   ./fsroot/+arrow/+type/+traits/Date64Traits.m
   ./fsroot/+arrow/+type/+traits/Float64Traits.m
   ./fsroot/+arrow/+type/+traits/UInt16Traits.m
   ./fsroot/+arrow/+type/+traits/StructTraits.m
   ./fsroot/+arrow/+type/+traits/Int64Traits.m
   ./fsroot/+arrow/+type/+traits/TypeTraits.m
   ./fsroot/+arrow/+type/+traits/UInt8Traits.m
   ./fsroot/+arrow/+type/+traits/Int16Traits.m
   ./fsroot/+arrow/+type/+traits/traits.m
   ./fsroot/+arrow/+type/+traits/TimestampTraits.m
   ./fsroot/+arrow/+type/+traits/Date32Traits.m
   ./fsroot/+arrow/+type/+traits/UInt64Traits.m
   ./fsroot/+arrow/+type/+traits/Time32Traits.m
   ./fsroot/+arrow/+type/+traits/Time64Traits.m
   ./fsroot/+arrow/+type/TemporalType.m
   ./fsroot/+arrow/+type/TimeType.m
   ./fsroot/+arrow/+type/NumericType.m
   ./fsroot/+arrow/+type/FixedWidthType.m
   ./fsroot/+arrow/+type/Int64Type.m
   ./fsroot/+arrow/+type/Date32Type.m
   ./fsroot/+arrow/+type/ID.m
   ./fsroot/+arrow/+type/Field.m
   ./fsroot/+arrow/+type/UInt32Type.m
   ./fsroot/+arrow/+type/Int16Type.m
   ./fsroot/+arrow/+type/Float32Type.m
   ./fsroot/+arrow/+type/StringType.m
   ./fsroot/+arrow/+type/TimeUnit.m
   ./fsroot/+arrow/+type/Int32Type.m
   ./fsroot/+arrow/+type/TimestampType.m
   ./fsroot/+arrow/+type/Int8Type.m
   ./fsroot/+arrow/+type/ListType.m
   ./fsroot/+arrow/+type/DateUnit.m
   ./fsroot/+arrow/+type/DateType.m
   ./fsroot/+arrow/+type/Type.m
   ./fsroot/+arrow/+type/Date64Type.m
   ./fsroot/+arrow/+type/UInt16Type.m
   ./fsroot/+arrow/+type/UInt64Type.m
   ./fsroot/+arrow/uint16.m
   ./fsroot/+arrow/uint8.m
   ./fsroot/+arrow/recordBatch.m
   ./fsroot/+arrow/date64.m
   ./fsroot/+arrow/table.m
   ./fsroot/+arrow/time64.m
   ./fsroot/+arrow/float64.m
   ./fsroot/+arrow/+internal/+test/+display/makeLinkString.m
   ./fsroot/+arrow/+internal/+test/+display/verify.m
   ./fsroot/+arrow/+internal/+test/+display/makeDimensionString.m
   ./fsroot/+arrow/+internal/+test/+io/+feather/roundtrip.m
   ./fsroot/+arrow/+internal/+test/+tabular/createTableWithSupportedTypes.m
   ./fsroot/+arrow/+internal/+test/+tabular/createAllSupportedArrayTypes.m
   ./fsroot/+arrow/+internal/+validate/+index/numericOrString.m
   ./fsroot/+arrow/+internal/+validate/+index/string.m
   ./fsroot/+arrow/+internal/+validate/+index/numeric.m
   ./fsroot/+arrow/+internal/+validate/shape.m
   ./fsroot/+arrow/+internal/+validate/realnumeric.m
   ./fsroot/+arrow/+internal/+validate/parseValid.m
   ./fsroot/+arrow/+internal/+validate/nonsparse.m
   ./fsroot/+arrow/+internal/+validate/parseValidElements.m
   ./fsroot/+arrow/+internal/+validate/+temporal/timeUnit.m
   ./fsroot/+arrow/+internal/+validate/type.m
   ./fsroot/+arrow/+internal/+validate/numeric.m
   ./fsroot/+arrow/+internal/+display/pluralizeStringIfNeeded.m
   ./fsroot/+arrow/+internal/+display/boldFontIfPossible.m
   ./fsroot/+arrow/+internal/+io/+feather/Reader.m
   ./fsroot/+arrow/+internal/+io/+feather/Writer.m
   ./fsroot/+arrow/+internal/+proxy/validate.m
   ./fsroot/+arrow/+internal/+proxy/create.m
   ./fsroot/+arrow/timestamp.m
   ./fsroot/+arrow/list.m
   ./fsroot/+arrow/boolean.m
   ./fsroot/+arrow/int16.m
   ./fsroot/+arrow/float32.m
   ./fsroot/+arrow/int64.m
   ./fsroot/+arrow/date32.m
   ./fsroot/+arrow/+io/+csv/TableReader.m
   ./fsroot/+arrow/+io/+csv/TableWriter.m
   ./fsroot/+arrow/time32.m
   ./fsroot/+arrow/struct.m
   ./fsroot/+arrow/+array/Int64Array.m
   ./fsroot/+arrow/+array/Date64Array.m
   ./fsroot/+arrow/+array/ValidationMode.m
   ./fsroot/+arrow/+array/StringArray.m
   ./fsroot/+arrow/+array/ChunkedArray.m
   ./fsroot/+arrow/+array/Date32Array.m
   ./fsroot/+arrow/+array/BooleanArray.m
   ./fsroot/+arrow/+array/Int32Array.m
   ./fsroot/+arrow/+array/UInt16Array.m
   ./fsroot/+arrow/+array/Array.m
   ./fsroot/+arrow/+array/UInt64Array.m
   ./fsroot/+arrow/+array/+internal/+list/createValidator.m
   ./fsroot/+arrow/+array/+internal/+list/TableValidator.m
   ./fsroot/+arrow/+array/+internal/+list/DatetimeValidator.m
   ./fsroot/+arrow/+array/+internal/+list/ClassTypeValidator.m
   ./fsroot/+arrow/+array/+internal/+list/findFirstNonMissingElement.m
   ./fsroot/+arrow/+array/+internal/+list/Validator.m
   ./fsroot/+arrow/+array/+internal/+display/getHeader.m
   ./fsroot/+arrow/+array/+internal/getArrayProxyIDs.m
   ./fsroot/+arrow/+array/+internal/+temporal/convertDatetimeToEpochTime.m
   ./fsroot/+arrow/+array/UInt8Array.m
   ./fsroot/+arrow/+array/UInt32Array.m
   ./fsroot/+arrow/+array/Int8Array.m
   ./fsroot/+arrow/+array/NumericArray.m
   ./fsroot/+arrow/+array/Time64Array.m
   ./fsroot/+arrow/+array/ListArray.m
   ./fsroot/+arrow/+array/Float32Array.m
   ./fsroot/+arrow/+array/Float64Array.m
   ./fsroot/+arrow/+array/TimestampArray.m
   ./fsroot/+arrow/+array/Time32Array.m
   ./fsroot/+arrow/+array/StructArray.m
   ./fsroot/+arrow/+array/Int16Array.m
   ./fsroot/+arrow/array.m
   ./fsroot/+arrow/+tabular/RecordBatch.m
   ./fsroot/+arrow/+tabular/+internal/decompose.m
   ./fsroot/+arrow/+tabular/+internal/makeValidVariableNames.m
   ./fsroot/+arrow/+tabular/+internal/validateColumnNames.m
   ./fsroot/+arrow/+tabular/+internal/isequal.m
   ./fsroot/+arrow/+tabular/+internal/makeValidDimensionNames.m
   ./fsroot/+arrow/+tabular/+internal/validateArrayLengths.m
   ./fsroot/+arrow/+tabular/+internal/+display/getSchemaString.m
   ./fsroot/+arrow/+tabular/+internal/+display/getTabularDisplay.m
   ./fsroot/+arrow/+tabular/+internal/+display/getTabularHeader.m
   ./fsroot/+arrow/+tabular/Schema.m
   ./fsroot/+arrow/+tabular/Table.m
   ./fsroot/featherwrite.m
   ./fsroot/NOTICE.txt
   ./fsroot/+libmexclass/+proxy/gateway.mexmaci64
   ./fsroot/+libmexclass/+proxy/arrowproxy.lib
   ./fsroot/+libmexclass/+proxy/gateway.lib
   ./fsroot/+libmexclass/+proxy/libmexclass.dylib
   ./fsroot/+libmexclass/+proxy/Proxy.m
   ./fsroot/+libmexclass/+proxy/libarrow.so.1500.0.0
   ./fsroot/+libmexclass/+proxy/arrow.dll
   ./fsroot/+libmexclass/+proxy/libarrowproxy.so
   ./fsroot/+libmexclass/+proxy/libarrowproxy.dylib
   ./fsroot/+libmexclass/+proxy/libmexclass.so
   ./fsroot/+libmexclass/+proxy/Identifier.m
   ./fsroot/+libmexclass/+proxy/arrowproxy.dll
   ./fsroot/+libmexclass/+proxy/mexclass.lib
   ./fsroot/+libmexclass/+proxy/gateway.mexa64
   ./fsroot/+libmexclass/+proxy/libarrow.1500.0.0.dylib
   ./fsroot/+libmexclass/+proxy/mexclass.dll
   ./fsroot/+libmexclass/+proxy/gateway.mexw64
   ./[Content_Types].xml
   ./_xmlsignatures/sig1.xml
   ./_xmlsignatures/origin.sigs
   ./_xmlsignatures/_rels/origin.sigs.rels
   ./metadata/configuration.xml
   ./metadata/systemRequirements.xml
   ./metadata/mwcoreProperties.xml
   ./metadata/filesystemManifest.xml
   ./metadata/mwcorePropertiesExtension.xml
   ./metadata/mwcorePropertiesReleaseInfo.xml
   ./metadata/addonProperties.xml
   ./metadata/coreProperties.xml
   ./_rels/.rels
   ```
   
   Note that the arrow shared libraries are only included in 
`fsroot/+libmexclass/+proxy/`.
   
   We should probably prevent the `.lib` files under 
`./fsroot/+libmexclass/+proxy/` from being included in the MLTBX file, as well, 
since those shouldn't be required as runtime dependencies. We suspect that the 
fact that these are being included may be due to a bug in 
`mathworks/libmexclass` somewhere in the implementation of the 
`install_imported_target` function defined here: 
https://github.com/mathworks/libmexclass/blob/main/libmexclass/cpp/CMakeLists.txt#L18.
   
   We can follow up with another PR once we have identified the source of this 
issue.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to