
    i                     4    d Z ddlZddlZddlZd Zd Zd ZdS )z9
Check OS requirements for ONNX Runtime Python Bindings.
    Nc                     d} d}t          j                                                    }d}d}|dk    rG|} t          j                                                    }|dvrt	          j        d| d           d S d S |dk    r	 t          j        |d	          d	d
         } t          j        |d          dd         }| s:t          j        |d          dd
         } t          j        |d          dd
         }|                                 } |                                }d S |dk    ro|} t          j                                                    }t          |	                    d          d                   dk     rt	          j        d| d           d S d S |dk    r:dd l
}|                    d          }|                    d          }|d d	         }d S t	          j        d| d           d S )N z/etc/os-releasez/etc/lsb-releasewindows)1011
2016server
2019server
2022server
2025serverzUnsupported Windows version (zP). ONNX Runtime supports Windows 10 and above, or Windows Server 2016 and above.linux                     darwin.r   zUnsupported macOS version (z-). ONNX Runtime supports macOS 11.0 or later.aixoslevelzutf-8zUnsupported platform (zG). ONNX Runtime supports Linux, macOS, AIX and Windows platforms, only.)platformsystemlowerreleasewarningswarn	linecachegetlineintsplit
subprocesscheck_outputdecode)	__my_distro____my_distro_ver____my_system____OS_RELEASE_FILE____LSB_RELEASE_FILE__r$   returned_output__my_distro_ver__str__my_distro_vers	            Z/var/www/icac/venv/lib/python3.11/site-packages/onnxruntime/capi/onnxruntime_validation.pycheck_distro_infor0      sl   MO%%++--M+-	!!%$,..4466$hhhM T0A  T  T  T     ih 
'	!	!	 ")*=qAA!B$G%-.A1EEbeL  	R%-.BAFFr"uMM ) 12F J J2b5 Q &++---3355	(	"	"%$,..4466 &&s++A.//"44Mn.?nnn     54 
%		$11)<<.55g>>.rr2{]{{{	
 	
 	
 	
 	
    c                      d} d}d}	 ddl m} ddl m}  	 ddl m} n# t          $ r Y nw xY wn:# t
          $ r-}t          j        d           t          |           Y d }~nd }~ww xY w| ||fS )Nr   r   )__version__)package_name)cuda_versionz8WARNING: failed to collect package name and version info)	build_and_package_infor3   r4   r5   ImportError	Exceptionr   r   print)r4   versionr5   es       r/   !get_package_name_and_version_infor<   G   s    LGLBBBBBB888888	<<<<<<< 	 	 	D	    PQQQa ,..s,   -  - 
)- )- 
A$#AA$c                    	
 d } d}	 ddl m} d}nT# t          $ r d}Y nFt          $ r:}	 ddlm} t          ||          rd}n# t          $ r d}Y nw xY w|s|} Y d }~nd }~ww xY wt                      \  
|rĉr	 	 ddlm		 n&# t          $ r t          j        d           d 	Y nw xY w	
fd	}dd
lm}  |d          }	r;|r9	|vr5 |             t          j        d           t          j        d|            n:# t          $ r-}t          j        d           t          |           Y d }~nd }~ww xY w| r| |
fS )NFr   )	ORTModuleT)ORTModuleInitExceptionr   )cudart_versionzBWARNING: failed to get cudart_version from onnxruntime build info.c                      t          j        d            t          j        d            t          j        d             t          j        d            d S )Nz1onnxruntime training package info: package_name: z0onnxruntime training package info: __version__: z1onnxruntime training package info: cuda_version: z(onnxruntime build info: cudart_version: )r   r   )r5   r@   r4   r:   s   r/   print_build_package_infoz7check_training_module.<locals>.print_build_package_info   sp    `R^``aaaZQXZZ[[[`R^``aaaYYYZZZZZr1   )find_cudart_versions)	build_envbuild_cuda_versionzJWARNING: failed to find cudart version that matches onnxruntime build infoz WARNING: found cudart versions: z=WARNING: failed to collect onnxruntime version and build info)onnxruntime.training.ortmoduler>   r7   r8   (onnxruntime.training.ortmodule._fallbackr?   
isinstancer<   r6   r@   r   r   /onnxruntime.capi.onnxruntime_collect_build_inforC   r9   )import_ortmodule_exceptionhas_ortmoduler>   r;   r?   rB   rC   local_cudart_versionsr5   r@   r4   r:   s           @@@@r/   check_training_modulerM   \   sb   !%M+<<<<<<    + + +	"WWWWWW!344 % $ 	" 	" 	"!MMM	"  	+)*&+$ +L*M*M'L'<  	&BBBBBBB & & &bccc!%&[ [ [ [ [ [ [ [ ]\\\\\$8$85]i$j$j$j! Z"7 ZNRg<g<g((***jkkkXAVXXYYY 	 	 	MYZZZ!HHHHHHHH	 " )((,==sn    A$	A$AAAAAAA$?B D  B)&D (B))AD 
D<#D77D<)__doc__r    r   r   r0   r<   rM    r1   r/   <module>rP      sg   
       6
 6
 6
r/ / /*>> >> >> >> >>r1   