
    g7                     D    d Z ddlZddlZddlZd Zd Z e       \  ZZZZ	y)z9
Check OS requirements for ONNX Runtime Python Bindings.
    Nc                  ^   d} d}t        j                         j                         }d}d}|dk(  rC|} t        j                         j                         }|dvrt	        j
                  d| d       y y |dk(  r	 t        j                  |d	      d	d
 } t        j                  |d      dd }| s2t        j                  |d      dd
 } t        j                  |d      dd
 }| j                         } |j                         }y |dk(  r_|} t        j                         j                         }t        |j                  d      d         dk  rt	        j
                  d| d       y y |dk(  r,dd l
}|j                  d      }|j                  d      }|d d	 }y t	        j
                  d| d       y )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	            \/var/www/openai/venv/lib/python3.12/site-packages/onnxruntime/capi/onnxruntime_validation.pycheck_distro_infor,      s   MOO%++-M+-	!%$,,.446L0MM/0A/BBvw 1 
'	!	 "))*=qA!BG%--.A1EbL %--.BAFr"MM ) 1 12F J2b Q &++--335	(	"%$,,.446 &&s+A./"4MM-.?-@@mn 5 
%	$11)<.55g>.r2$]O3z{	
    c                    	
 d } d}	 ddl m} d}d
dd|rs	 ddlm dd	lm	
 	 dd
lm
 r\	 ddlm	 	
fd}ddlm}  |d      }	r<|r:	|vr6 |        t        j                  d       t        j                  d|        n	 | r| |
fS # t        $ r d}Y t        $ r5}	 ddlm} t        ||      rd}n# t        $ r d}Y nw xY w|s|} Y d }~d }~ww xY w# t        $ r Y w xY w# t        $ r t        j                  d       d 	Y w xY w# t        $ r*}t        j                  d       t!        |       Y d }~d }~ww xY w)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        y )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   sZ    MM$UVbUc"deMM$TU\T]"^_MM$UVbUc"deMM$L^L\"]^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   ss   !%M+<* LGL'	F<@ *F
_ a(<uam(n%!&;Vk@k,.MM"noMM$DEZD["\]  "((,==K   +	"W!34 $ 	"!M	" )*&+:   ! *MM"fg%)N*,  	MMYZ!HH	s   B D C$ D C3 AD C!$C!-CCCCCCC!$	C0-D /C00D 3 DD DD 	E" EE)
__doc__r   r   r   r,   rG   rD   r2   r6   r3    r-   r+   <module>rJ      s6   
   6
rM>` 6Q5R 2|Wlr-   