
     Ng7                     L    d Z ddlZddlZddlZd Zd Z e            \  ZZZ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11zUnsupported Windows version (z4). ONNX Runtime supports Windows 10 and above, only.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	            c/var/www/html/ai-engine/env/lib/python3.11/site-packages/onnxruntime/capi/onnxruntime_validation.pycheck_distro_infor,      s^   MO%%++--M+-	!!%$,..4466L00Mw0Awww     10 
'	!	!	 ")*=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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d
dd|r	 ddlm dd	lm	
 	 dd
lm
 n# t          $ r Y nw xY w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	 n:# t          $ r-}t          j        d           t!          |           Y d }~nd }~ww xY w| r| |
fS )NFr   )	ORTModuleT)ORTModuleInitExceptionr   r   )__version__)package_name)cuda_version)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   )r3   r4   r2   versions   r+   print_build_package_infoz=validate_build_package_info.<locals>.print_build_package_infoz   sp    M"dVb"d"deeeM"^U\"^"^___M"dVb"d"deeeM"]^"]"]^^^^^r-   )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/   ImportError	Exception(onnxruntime.training.ortmodule._fallbackr0   
isinstancebuild_and_package_infor1   r2   r3   r4   r   r   /onnxruntime.capi.onnxruntime_collect_build_infor8   print)import_ortmodule_exceptionhas_ortmoduler/   er0   r7   r8   local_cudart_versionsr3   r4   r2   r6   s           @@@@r+   validate_build_package_inforG   F   s   !%M+<<<<<<    + + +	"WWWWWW!344 % $ 	" 	" 	"!MMM	"  	+)*&+" LGL ('	FFFFFF<<<<<<@@@@@@@     *FFFFFFF  * * *M"fggg%)NNN*_ _ _ _ _ _ _ _ a`````(<(<uam(n(n(n%! ^&; ^Vk@k@k,,...M"noooM"\EZ"\"\]]]  	 	 	MYZZZ!HHHHHHHH	 " )((,==s    A$	A$AAAAAAA$0D =B D 
BD BD B D  C>D  CAD 
E)#EE)
__doc__r   r   r   r,   rG   rD   r2   r6   r3    r-   r+   <module>rJ      sp   
       6
 6
 6
rM> M> M>` 6Q5P5R5R 2|Wlllr-   