mathworks-ref-arch / matlab-dockerfile

Create a docker container that contains a MATLAB install
Other
343 stars 96 forks source link

Provide List of Products Exactly as the should appear in the dockerfile #51

Closed SCdW closed 1 year ago

SCdW commented 2 years ago

It can be difficult to get the correct product name for each product with correct capitalization, use of underscores, etc. It would be good if there was a succinct list of all product names either as its own file or commented in the dockerfile. This is slightly related to #47 .

bluehalo-user commented 2 years ago

I would like to see this fixed. I tried to use the strings from "ver" or "license inuse"--it was very unclear what the product names should be. I thought that maybe these were being obfuscated on purpose because MathWorks did not want people to know what the product names were and we should be getting the right strings from an account representative?

ebenetce commented 2 years ago

I believe this is explained in MPM.md under the section Product Availability, the first comment states:

"mpm can install most MathWorks products. See the MathWorks website for the full list of available products and their names. Replace spaces with underscores when specifying product names with the --products option."

SCdW commented 2 years ago

I believe this is explained in MPM.md under the section Product Availability, the first comment states:

"mpm can install most MathWorks products. See the MathWorks website for the full list of available products and their names. Replace spaces with underscores when specifying product names with the --products option."

It's not though. For example, data acquisition toolbox is not available. And is Simulink: SIMULINK or Simulink? Hint, it's not what you think. Hence the need for a comprehensive list of options you can pick from.

CiaranMcAndrew commented 1 year ago

It might be a better idea to make this a case-insensitive comparison.

cuixing158 commented 1 year ago

hi,all: When I execute this statement available = string(feature('lmfeaturelist')) in the current latest version of R2022b, I can get the full list of names for your reference.

available = string(feature('lmfeaturelist'))
available = 
  114×1 string array
    "AUTOSAR_Blockset"
    "Aerospace_Blockset"
    "Aerospace_Toolbox"
    "Antenna_Toolbox"
    "Audio_System_Toolbox"
    "Automated_Driving_Toolbox"
    "Bioinformatics_Toolbox"
    "Cert_Kit_IEC"
    "Communication_Toolbox"
    "Compiler"
    "Control_Toolbox"
    "Curve_Fitting_Toolbox"
    "DATAFEED_TOOLBOX"
    "DDS_Blockset"
    "Data_Acq_Toolbox"
    "Database_Toolbox"
    "Deep_Learning_HDL_Toolbox"
    "Distrib_Computing_Toolbox"
    "Econometrics_Toolbox"
    "Excel_Link"
    "Filter_Design_HDL_Coder"
    "Fin_Instruments_Toolbox"
    "Financial_Toolbox"
    "Fixed_Point_Toolbox"
    "Fuzzy_Toolbox"
    "GADS_Toolbox"
    "GPU_Coder"
    "Identification_Toolbox"
    "Image_Acquisition_Toolbox"
    "Image_Toolbox"
    "Instr_Control_Toolbox"
    "LTE_HDL_Toolbox"
    "LTE_Toolbox"
    "Lidar_Toolbox"
    "MAP_Toolbox"
    "MATLAB"
    "MATLAB_5G_Toolbox"
    "MATLAB_Builder_for_Java"
    "MATLAB_Coder"
    "MATLAB_Distrib_Comp_Engine"
    "MATLAB_Production_Server"
    "MATLAB_Report_Gen"
    "MATLAB_Web_App_Server"
    "MBC_Toolbox"
    "MPC_Toolbox"
    "Mixed_Signal_Blockset"
    "Motor_Control_Blockset"
    "Navigation_Toolbox"
    "Neural_Network_Toolbox"
    "OPC_Toolbox"
    "Optimization_Toolbox"
    "PDE_Toolbox"
    "Phased_Array_System_Toolbox"
    "PolySpace_BF"
    "PolySpace_BF_Server"
    "PolySpace_CP"
    "PolySpace_CP_Server"
    "Power_System_Blocks"
    "Powertrain_Blockset"
    "Pred_Maintenance_Toolbox"
    "Qual_Kit_DO"
    "RF_Blockset"
    "RF_PCB_Toolbox"
    "RF_Toolbox"
    "ROS_Toolbox"
    "RTW_Embedded_Coder"
    "Radar_Toolbox"
    "Real-Time_Win_Target"
    "Real-Time_Workshop"
    "Reinforcement_Learn_Toolbox"
    "Risk_Management_Toolbox"
    "Robotics_System_Toolbox"
    "Robust_Toolbox"
    "SIMULINK"
    "SIMULINK_Report_Gen"
    "Satellite_Comm_Toolbox"
    "Sensor_Fusion_and_Tracking"
    "SerDes_Toolbox"
    "Signal_Blocks"
    "Signal_Integrity_Toolbox"
    "Signal_Toolbox"
    "SimBiology"
    "SimDriveline"
    "SimEvents"
    "SimHydraulics"
    "SimMechanics"
    "Simscape"
    "Simulink_Code_Inspector"
    "Simulink_Compiler"
    "Simulink_Control_Design"
    "Simulink_Design_Optim"
    "Simulink_Design_Verifier"
    "Simulink_HDL_Coder"
    "Simulink_PLC_Coder"
    "Simulink_Requirements"
    "Simulink_Test"
    "SoC_Blockset"
    "Stateflow"
    "Statistics_Toolbox"
    "Symbolic_Toolbox"
    "System_Composer"
    "Text_Analytics_Toolbox"
    "UAV_Toolbox"
    "Vehicle_Dynamics_Blockset"
    "Vehicle_Network_Toolbox"
    "Video_and_Image_Blockset"
    "Virtual_Reality_Toolbox"
    "Vision_HDL_Toolbox"
    "WLAN_System_Toolbox"
    "Wavelet_Toolbox"
    "XPC_Target"
    "eda_simulator_link"
    "simulink_coverage"
    "sl_verification_validation"

in addition, you can reference other's dockerfile full products list, https://github.com/mathworks-ref-arch/matlab-dockerfile/issues/55#issue-1470976101

SCdW commented 1 year ago

hi,all: When I execute this statement available = string(feature('lmfeaturelist')) in the current latest version of R2022b, I can get the full list of names for your reference.

available = string(feature('lmfeaturelist'))
available = 
  114×1 string array
    "AUTOSAR_Blockset"
    "Aerospace_Blockset"
    "Aerospace_Toolbox"
    "Antenna_Toolbox"
    "Audio_System_Toolbox"
    "Automated_Driving_Toolbox"
    "Bioinformatics_Toolbox"
    "Cert_Kit_IEC"
    "Communication_Toolbox"
    "Compiler"
    "Control_Toolbox"
    "Curve_Fitting_Toolbox"
    "DATAFEED_TOOLBOX"
    "DDS_Blockset"
    "Data_Acq_Toolbox"
    "Database_Toolbox"
    "Deep_Learning_HDL_Toolbox"
    "Distrib_Computing_Toolbox"
    "Econometrics_Toolbox"
    "Excel_Link"
    "Filter_Design_HDL_Coder"
    "Fin_Instruments_Toolbox"
    "Financial_Toolbox"
    "Fixed_Point_Toolbox"
    "Fuzzy_Toolbox"
    "GADS_Toolbox"
    "GPU_Coder"
    "Identification_Toolbox"
    "Image_Acquisition_Toolbox"
    "Image_Toolbox"
    "Instr_Control_Toolbox"
    "LTE_HDL_Toolbox"
    "LTE_Toolbox"
    "Lidar_Toolbox"
    "MAP_Toolbox"
    "MATLAB"
    "MATLAB_5G_Toolbox"
    "MATLAB_Builder_for_Java"
    "MATLAB_Coder"
    "MATLAB_Distrib_Comp_Engine"
    "MATLAB_Production_Server"
    "MATLAB_Report_Gen"
    "MATLAB_Web_App_Server"
    "MBC_Toolbox"
    "MPC_Toolbox"
    "Mixed_Signal_Blockset"
    "Motor_Control_Blockset"
    "Navigation_Toolbox"
    "Neural_Network_Toolbox"
    "OPC_Toolbox"
    "Optimization_Toolbox"
    "PDE_Toolbox"
    "Phased_Array_System_Toolbox"
    "PolySpace_BF"
    "PolySpace_BF_Server"
    "PolySpace_CP"
    "PolySpace_CP_Server"
    "Power_System_Blocks"
    "Powertrain_Blockset"
    "Pred_Maintenance_Toolbox"
    "Qual_Kit_DO"
    "RF_Blockset"
    "RF_PCB_Toolbox"
    "RF_Toolbox"
    "ROS_Toolbox"
    "RTW_Embedded_Coder"
    "Radar_Toolbox"
    "Real-Time_Win_Target"
    "Real-Time_Workshop"
    "Reinforcement_Learn_Toolbox"
    "Risk_Management_Toolbox"
    "Robotics_System_Toolbox"
    "Robust_Toolbox"
    "SIMULINK"
    "SIMULINK_Report_Gen"
    "Satellite_Comm_Toolbox"
    "Sensor_Fusion_and_Tracking"
    "SerDes_Toolbox"
    "Signal_Blocks"
    "Signal_Integrity_Toolbox"
    "Signal_Toolbox"
    "SimBiology"
    "SimDriveline"
    "SimEvents"
    "SimHydraulics"
    "SimMechanics"
    "Simscape"
    "Simulink_Code_Inspector"
    "Simulink_Compiler"
    "Simulink_Control_Design"
    "Simulink_Design_Optim"
    "Simulink_Design_Verifier"
    "Simulink_HDL_Coder"
    "Simulink_PLC_Coder"
    "Simulink_Requirements"
    "Simulink_Test"
    "SoC_Blockset"
    "Stateflow"
    "Statistics_Toolbox"
    "Symbolic_Toolbox"
    "System_Composer"
    "Text_Analytics_Toolbox"
    "UAV_Toolbox"
    "Vehicle_Dynamics_Blockset"
    "Vehicle_Network_Toolbox"
    "Video_and_Image_Blockset"
    "Virtual_Reality_Toolbox"
    "Vision_HDL_Toolbox"
    "WLAN_System_Toolbox"
    "Wavelet_Toolbox"
    "XPC_Target"
    "eda_simulator_link"
    "simulink_coverage"
    "sl_verification_validation"

in addition, you can reference other's dockerfile full products list, #55 (comment)

In R2022b, this is missing Simscape Battery and Medical Imaging Toolbox.

prabhakk-mw commented 1 year ago

@sbnicholas @drobinson0 thoughts ?

sbnicholas commented 1 year ago

An upcoming release of mpm will include a list command, which will output an accurate product list for a specified platform and release.

Until then, the official product list accurately lists valid product names for the install command for the current MATLAB release: full name, case sensitive, underscores in place of spaces. Data Acquisition Toolbox is not available in mpm because currently mpm only supports Linux and Data Acquisition Toolbox is not available on Linux at all. "Simulink" is correct, per the official product list.

available = string(feature('lmfeaturelist')) outputs feature names, not product names. Feature names are used for licensing and are not a 1:1 match against product names. In cases where the feature name and the product name do not match, mpm will not accept the feature name.

born-2learn commented 1 year ago

@sbnicholas @prabhakk-mw Is there a way to install Support packages when building a dockerfile? I'm specifically looking at the Quantum Support Package.

prabhakk-mw commented 1 year ago

@born-2learn , the latest update of MPM (2023.10.0.1) should allow for the installation of support packages. Kindly refer to MPM.md for more information.