On Fri, May 15, 2009 at 11:35:30AM +0600, Vladimir V. Kamarzin wrote: > Скажите, это нормальная ситуация? > > # rpm -qR lablGL |grep devel > libGL-devel > libGLU-devel > libX11-devel > libXext-devel > libXmu-devel > libfreeglut-devel Да. Этот пакет содержит окамлевские модули. То, каким образом окамль использует свои модули, больше всего похоже на статическую линковку. $ /usr/lib/rpm/ocaml.req /usr/lib64/ocaml/site-lib/lablGL/lablglut.cma ocaml-cmi(Array) = 3.10-AA8E3CD5 ocaml-cmi(Printf) = 3.10-5DBBF45A ocaml-cmi(Buffer) = 3.10-F6CEF633 ocaml-cmi(Pervasives) = 3.10-8BA3D1FA ocaml-cmi(Glut) = 3.10-BC61F261 ocaml-cmi(List) = 3.10-DA1CE916 ocaml-cmi(Obj) = 3.10-5CFAE708 ocaml-cmi(Hashtbl) = 3.10-083F2C94 ocaml-dll(lablglut) libX11-devel libXmu-devel libXext-devel libGLU-devel libGL-devel libfreeglut-devel lablGL $ Когда происходит линковка с окамлевским модулем, то там дополнительно происходит линковка с разделяемыми библиотеками. $ /usr/lib/rpm/ocaml-reqprov /usr/lib64/ocaml/site-lib/lablGL/lablglut.cma cmi_name Glut cmi_requires aa8e3cd5824f9bb40b93fcd38d0c95b5 Array cmi_requires 5dbbf45a03b54e6dbfcf39178d0d6341 Printf cmi_requires f6cef633ea14963b84b79c4095c63dc3 Buffer cmi_requires 8ba3d1faa24d659525c9025f41fd0c57 Pervasives cmi_requires bc61f26134f9ca185229a35484feddc5 Glut cmi_requires da1ce9168f0408ff26158af757456948 List cmi_requires 5cfae708052c692ea39d23ed930fd64d Obj cmi_requires 083f2c94b44ff4e0b3220aaea6a783b4 Hashtbl ccobj -lX11 ccobj -lXmu ccobj -lXext ccobj -lGLU ccobj -lGL ccobj -lglut ccobj -llablglut dllib -llablglut $ Следуя общей тенденции, пакет libGL следовало бы назвать lablGL-devel. Однако у окамля есть свои специфические тенденции. Не факт, что они очень хорошие, но в общем есть то что есть.