çÌÁ×ÎÁÑ ÓÔÒÁÎÉÃÁ éÎÄÅËÓ ðÏÉÓË óÓÙÌËÉ ï ÎÁÓ
 ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½   ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½   ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½   ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ 

�������� ����������� ���������

Luis Colorado


��������

�������

����������

����

��������� ����������

����������

soname

ldconfig

�������� ����������

����������

����������

��������� (������������ ����������)

�����������

�������� ����

��������� (����������� ����������)

��������� ����������� � ������������ ����������

1.- ������� �������� ���������. ����������.

� ���� ��� � �������� ����������� �������� ������� �������� �������� �������� ������ �������� ������� � �����, ������������� �������������� � ��������������.

���� ������� ������� �� ��������� �����: 

    �������� ��������� ���� �� ����� �������� ������ � ��������� ���������. ���� �� ���������� �������� ����� ������� ��������� � ���� ����, �� �� ����� ������ ���������. �� ���� ������� �������� ��� ����������� �� �������������� ������, ������� ������� �� ������ ��� ����� ������ ��������� ����. �������� ��� � ���� ������� ����� �� ����������� ����� ���� ������� �� ����� � ��� �� �����, ��������� ��������� ����� ����� ������ �������� ��� ������� ���������� ������. 

    ����� �������� ������ � �������� ����� ���������, ��� ����� ���� �������������� � ����� ����, ������� ����� ��������� ������. ������ �� ���� ���� ������� ��� ��  ��������� ����. ���� ��� ��������� �� �� ����� ��������, ��� � �������� ���, �� ����������� ����, ��� �� ������� �� ������ �����, ������� ����� ��������������� ����������� �������. ������� ���������� ��������� ���� � ��������� ��� �������� ��� ����������.  ���������� ����������� �� ������ � �� ���� ��� ������������� (� ����������� �� �����������) ����� ��������� � ������ ���� ��� ��������� ������. ���������������� ��������� ��� �������� ���������, ������������, ���������� � �.�. -- ����� ��������, ������� ���� �������������� � ������� ������ � ���������� ����. 

    ����� ����, ��� ���� ������� ��� ����� ��������� � �������� �����, �� ���������� ��������� ��� ������������ ��� ������ ��������, ����������� ����������� ��������, ���������� �����������. �� ���� ������ ��� ������, ������� ��� ������ ������ �� ���, ������������� ������� ������, "�����������" (�����, ��� ����� ������������ ��� ������ �� ����������, ������������� ��� ����������� � ������ ������). �������������� ��������� �������� ���������, ������� ����� ��������������� ��������� � ���������. 

    ���������� ��������� �������������� ������ ����� ����������� �����������, ������� �������� ������������ ������ ������������ �������, � ������ ������� ��� ��������� ����� exec(). ��� ������� ������� ����, �������� ������ ��������, ��������� ������������ ����� ����������� ����� (���������� ��� � ��������� �������� ����������) � �������� ���������� ���������� � ����� 'text' � ���������, ������� ������ ��������� �� ��� ����������� ����.

2.- ������� ������� �������� �������� ���������. 

������� �������� ��������� ���������� �����������, ��� ���������� ��� ���������� �������� ������������ ���������� �������� ��� ������� ������������� ��������� ��������. 

� ������ ��������� �������� ��������������� � �������� ����. ������� ����� ����, ��� ����� ������ ��������� �� ����� ����� �������� ������, ��� ��� ����������� ���������� � �������� ��� ����� ���������������� ��������� ��������������� ������� ����������. ��� ��������� ������������������ ��������. 

����� ����, ��� ��������� ������������� ��������� (� �������� �������� ����������, �� ����� ���� ��� ��� ����� ������� ���, ��������� ��� ����� ������� �������), ������� �������� �������� ���� �������� �� �������� ����� � �������� ����� ���������, ��� ���������� � � ����� ������ ����������. 

����� ���� ��������, ��� ������� ���������� ����� ��������� � �������� ����� ����� ��������, ������� �������� �����, � ��� ������ �������, �������� � ��� ��������� �������������� ��� � ��� ��� � ��������� ����������. ����� ����, ����� ���-�� ������� ����� ���������, ���������� ������������ ���� �������� ����� ���������� ����� ��������� ����, ������� ����� ���������� ����� ��������������� ����.

�� ���� ������� ����� ��������� ��������� ����������. �� ����� ���������� � ���������� ��������� ��, � ����� �������, ������� ��������� �, � ������ �������, �� �������, ������� ����� �������������� ��� � ��� ��� � ������� ��� ���� �������������� � ��������� � ������ ����� (�� ����� �������� ��� ���������������� ����������). 

����� ����� ��������� ������������� ���������, ������� ������������ ��� ������� ��� ������� �������������� ������ �� �������� �� ���� ��� � ��� ���. ���� �����, ������� ��� ������ ��-�� ����, ��� ��� ���������� �������� ���� ���������� ���������� ��� ����� � ��� ������ ���� ���� �������� ������������ (��� ������ �������������� ������� �� �������� ����������� ������������� ��������� �������, ������� ����������/������� ������ ����������� �������). 

3.- ��� ����� ����������?

��������� ���� �������� ������� � �������� ���������. ��� ����� ����, ��� ������ ��� ����� (���� ���� ������, �� �����, tar(1) ��� cpio(1)) � ������� �����������, ������ ������� ����������� ��������, � ����� �� ��������� ��� ������������ �����, ����������� �������� ������ �� ������, ������� ����� ��������� � ��������� ��� ���������. ��������� ����� ������������. ������ ����� ���� ������������� ���������, ������� ���������� ������� ���������� �������, � ������������ ����� �� ����������� ����� ��� ����������� ������� � ���� ����������.

�� ����������, ������� �� ���� ��������, �� ����� � �������� ������. � ��� ������ ��������� ����, ����� ����������� � ������ ������, ���������� �������� ������� � ��������������, ������� ����������� ������ ��������� ��� ������ ���� ���������� (� ��� ����� �������� ������������� � ������ ���������� �� ��������� ���). ���� ������� (���������� ������� �������� � ����� ����������) � ������� ����������� �������� ranlib(1). ��������� ���� ���������� �������� ��� ����������� ����������. 

�������� ��������� ����� ��������� ������ ������������� �������: ���������� ����. ���� � ����� � ��� �� ������� ���� �������� ��� ����� ������ � ���� �� ����, ���� �� ����������, ����� ��� �������� ����� ��������� ������������ ���� ���, ��� ��� ������ ��������� �� �������� ���� ����������� ���. ��� ���� ��������� ������������� � ���������� � ������ ���������� �����, ��� ����������� ������� ���������� ������ � �������� ��������������������� ��������.

�������� ��� ��������� ������������ �� ���� ��� ������, ���-�� (� �� ����, ��� ��� ���, �� ���� ���� �������� ;-) �������, ��� ����� ����� ������ ��������� ���������� ���� � �� �� ����������, ��, ������ ������� �����������, ����� ������������ ���������� ����� �� ����������� ���� ���� �� �������, ������������� ������ ����������. ����� ����, �������� ��� ��� ������ (��� �� ������ ���������), ������� �� ������ �� ���� ������������. ��� ��, ��� ����� �������, ��� ���� ������ ���������, ������������ ���� � �� �� ����������, ����� ������ ����� ����� ��� ����������, �� �� �� ������ �������� ������� ������. ������ ������ ���������, ���� ������ �����, �������� � ����� � ��� �� ����� ����������.

������ ������ ������� ���� �������. ����������� ��������� �� ��������� ������������, �� ���������� ������ �� �������������� ��������� ������������� �� ������� �������� ���������. ����������� (� ������ ������� ��� ld(1)) ���������� ������ ����������� ��������� � �� �������� �� ��� � ���������. ���� �������, ����, ��� ���������� exec() ���������� ������ ���������, ������������ ����������� ���������� � ��������� ����������� ���, ����������� ����������� ���������� (������� ����������� ������ ��� �� ������, ������� �������� ������ ��� �������� ���������� � �.�.). ������ ���� ������� ����������� ��� �������� ������������ ����� � ��� ��������� ������ �����������.

������� ��, ����� ����������� ����������� � ������� �����������, �� ���������� ����� ���� �����, ��� � ������.

����������� ���������� �� �������� �������, ���������� ��������� ���, ������ ��� ����, ���������� ��� ��������� ���. �� ����� ���������� ��������� � ����������� �����������, ����������� �� ��������� ����������, ����� ������ ���� ��������� � ���������, � ����� ���. �� ������ ��������������, ��� ������������� ������ ���������� ������������, � ����������, ��� ���������� �������� � ������ ��� ��������� ����������. ����� ������� �������� ar(1) ���������� ���� ����������� ���������, �� ����� ��� �� ��������, ��� ��� ����������� ���������� ����� �������� ����������� ���������� ��������� �������, ������� ���������� ����������� �������, �� ����� ����������. ��������, �������� ����������� ���������� �� �������� ����� �������� � ���� �� ������ ������� �� ����������� �������� (��� �� �����, ��������� ��� ����� �� ������, �� �� ���������� ���� ������).

4.- ���� ���������.

��� �� ��� ��������, � ������ ���������� ��� ���� ���������: ����������� � �����������. ����������� ���������� �������� ������� �������, ������������ � ����� ��� ������ ������� ar(1) � ������������������ �������� ranlib(1). ��� ������ ����� �������� � ����� � ���������� .a (� �� ��������� ������ ���������� ������, ��� � ������� ��������� ���������� ����� �� ������������). ����������� ���������� ��������� ����� .a � �������� ������ ������, ��� ���� �� ��� ���� ����������� ����������, �������� � ��������� � ��������� �� ������, ������� ��������� ������������� ������.

� ������� �� �����������, ����������� ���������� �������� �� ��������, � ������������� ���������, ������������� ������ ����� (������� ���������� �� ��� ����������� ����������). ����������� ld(1), ��� ��� ����������, �� ��������� ������ � ����������� ���, � �������� ��������������, ��������������� ����������� ��� �����������, ��������� ��, ������� ���������� ����� ����������, � ���������� ������, �� ������� �������� ����, ������, ��� ��������� ��� ��� ��� �������� � �������� ���. ����������� ld(1) ���������� ����������� ���������� �� ��������� .so (�� .so.xxx.yyy, �� ������� ���� ������ �������). 

5.- ������� ���������� � ������.

������ ��������� ������� �� ��������� �������, �������������� � ����������� ����. ��� �������� ��������� ������������ � ������� ����������� ld(1).

ld(1) ������������ ��������� �����, ������� �������� ��� ���������, �� �� ����������� ����� ������ ����, ������� ������� � �������������� ��������� � �����. ld(1) ���������� �� ��������������� �������������, � ����� ������������ gcc(1) �� ��� ����������� ������. ��������� �������� � ��� modus operandis ������� ��� ������ ������ ������������� ��������� � ������. 

��� ���������� ������ ld(1) ��������� ������ ��������, ������� ���������� ������������ � ����������. ��� ������� ����� �������� � ����� ������� (*) ���� �� ��������� ��������� ���� ����������, ��� ��� ����������, ����������� ���������� ������������ �� ��������� .so (� �� .so.xx.yy) � ����������� ���������� �� .a (� ������� ��, �������� ���������� ������� �������� ��, ��� ��� ������������� �� .o). 

(*) ��� �� ������ �����. ld(1) �������� ������ �� ������, ������� ��������� ������ �� ������ ��������� ����������, ������� � ������, ���������� �������, ��� ����� ����� ���� ������, ������� �������, ��������� ��� �� ����������� �� ������ ��������� ���� ����������, ����� ������� ������� �� ��������� ����������� ���������.

� ������ �������, ld(1) ��������� �������� ����������� ����������� ��������� ������ -l � -L. 

��... ��� �� �������� ��� ����������� �����������, � ��� �������? �������. ������ ��, ��� ld(1) ���� ����������� ���������� � ������������ ������, ����� ��� ��, ��� ������� � ������ ���������� ��� �������, ������ �� ������ �� ������. 

�� ��������� ���������� ������ � ��������� /lib � /usr/lib (���� � ������, ��� � ����������� �� ������/���������� ld(1), ����� ���� �������������� ��������). -L ��������� ��� �������� �������� � ���, ������� ��������������� ��� ������� ������ ���������. ��� ������������ �������� -L ������� ��� ������� ��������, ������� �� ����� ��������. ����������� ���������� ����������� ������ -l ��� (��� ��� ��������� ����������, ������� ���������� ���������) � ld(1) ����� ������, � ��������������� �������, � ��������������� ��������� ���� � ������ lib���.so. ���� �� �� ����� ������, �� ����� ������� ������� ����� lib���.a, ��� ����������� ������.

���� ld(1) ������� ���� lib���.so, �� ���������� �� ��� ����������� ����������, ����� ��� ���� �� ������ ���� lib���.a, �� ���������� ������, ���������� �� ���, ���� ��� ��������� ����� ������������� ������. 

6.- ������������ ���������� � �������� ����������� ���������

������������ ���������� ����������� � ������ �������� ������������ ����� ������ ������� (�� ����� ���� ���� ������ ������ �������� ����� ����������� �����������), ���������� /lib/ld-linux.so

�� ����� ���� ���������� ��� ������ ��� ���������� ������������ ���������: /lib/ld.so (��� ���������, ������������ ������ ������ a.out) � /lib/ld-linux.so (��� ���������, ������������ ����� ������ ELF). 

����������� ���� ������� ����������� � ���, ��� ��� ������� ����������� ������ ���, ����� ���������� ������������ ���������� ��������. �� ����� ���������� (������� � ���, ��� �� ������ ���������� �� �������� /lib, � ����� ������ �������� �� �����). ���� �� ������� ��� /etc/ld-linux.so, �� �� ������������� ��������� ������������� ����� ���������, ������������ ����������� ����������, ��������� ���� ������ �������� �� ���������� ���� ������, �� ����������� �� ����� ����������.

���������� ������ �������� ������������� ����� /etc/ld.so.cache, � ������� ��� ������ ���������� ����������� �������� ���������� ����������� ����, ���������� ��� ����������. �� �������� � ���� ���� �������.

7.- soname. ������ ����������� ���������. �������������.

�� ������� � �������� ���������� ����, ��������� � ������������ ������������: �� ������.

����� ����������� ��������� 'library libX11.so.3 not found,' ����������� ��� � ������������: ������� ����������� libX11.so.6 �� ���������� ������ �������. ��� ����� ���������, ��� ld.so(8) �������� ����������������� ���������� libpepe.so.45.0.1 � libpepe.so.45.22.3 � �� �������� libpepe.so.46.22.3? 

� ������ (� �� ���� ������������ ��������, ������������ ������ ELF) ���������� ���������������� ���������� �� ������������������� ��������: soname. 

soname ���������� � ���� ���������� � ��� ������������������ ������������ ��� ���������� ��������, ����������� ����������. ��� �������� ����������� ����������, ����� ���� �������� ���� ���������� ������ ���������� �������� ld(1) ����� (-soname <���_����������>).

��� ������������������ �������� ������������ ������������ ����������� ��� ������������� ����������� ����������, ������� ���������� ���������, � ������������� ������������ �����. ��� �������� �������� ���:
Ld-linux.so ����������, ��� ��������� ������� ���������� � ���������� �� soname. ����� ���� ����� ����� � /etc/ld.so.cache � ������������ ��� �����, ����������� ��� ����������. ����� ����������� soname ������������ � ������ ������������ ����������, � ���� ��� ���������, �� ������ ��� ��� � �����! ���� ���, �� ����� ����� ������������ �� ��� ���, ���� ��� �� ����� �������, ���, ���� ��� �� ����� �������, ����� ������ ��������� �� ������.

�� soname ����� ����������, �������� �� ���������� ��� ��������, ������ ��� ld-linux.so ���������, ��������� �� ��������� soname � ��������� ������. � ������ �������� �� ����� �������� ���������� 'libXXX.so.Y not found'. ������ ������ soname � ���������� ������ ������������ soname.

���� �� �������� ��� ����������, ����� ���������� ������� ��������, ��� ���� ���� �������� ���������. �� �������� soname ���� �� ����� ������� ����, ������ ��� � ���������� ������ ���� ���������� �� ���������� soname:

soname �����������, �� ���������, ������ ���������������� ��������������� ���������� � ��������� ���� ����������. ���� �� ������ ��������� � ����������, ������� ����������� ������ ���������� ����������������, �� ��������� ��������� ���������� (���������� ��������, ����������, ��������� �������), �� ��� ���������� ����� ����������������� � � ����� �� ������, ��� ��������� ���� ��������������� (��� ���������� ���������� � �� ����� �������� ���� �� ������). ���� ��� ����������, �� ����� ���������� �������� ����� (������� �� ������ � ������ soname) � ���������� ����� ���� �������� ��� ������������ �������.

������, ����� �� ��������� �������, ������� ������� � � ����� �������� ��������� ����������, �� ��� ���������� ����������, ��� ��� ���������� ��������������� � ���������� (�������� ������ libX11.so.3 �� libX11.so.6 �������� ������ �������� � X11R5 �� X11R6, ��� ���� �������� ����� �������� � ������� ���������� ���������). ������� � X11R6-v3.1.2 �� X11R6-v3.1.3 �������� �� ������� ��������� � ���������� � � ���������� ��������� �� �� soname -- ����, ����� ��������� ������ ������, ��� ����������� ���� �� ������ ��� (�� ���� ������� ����� ������ ��������� ��� ����������, ����� ��� � soname �������� ������ �������� ������).

8.- ldconfig(8)

��� �� ��� �������� ������, /etc/ld.so.cache ��������� ld-linux.so �������������� soname �����, ������������� � ����������. ��� �������� (��� ������� �������������) ����, ��������� �������� ldconfig(8)
ldconfig(8) ������� ��� ������ ������������ ����������, ��������� � ���������, ��������� � /etc/ld.so.conf, ������������� ������ � ������ ���������� soname. � ���� ������, ����� ld.so ����� �������� ��� �����, �� ��� �� ������, ��� �������� � ������ ��������� ���� � ��������� soname. � ������� ��� ������������� ������ ��� ��������� ldconfig(8) ��� ���������� ����������. �� ��������� ldconfig ������ ����� �� ��������� ������� � ������.  

9.- � ���� ������� ������������ ����������.

������ ��� ������ ��������� ������������ ����������, �� ������ ��������, � ������������� �� ��� ����. ������������ ���������� �������� ���������� ������� �� ���������� ��������:
    �������� ��������� �������������� � ��������� ������; ���� �� �������� �������� ���������, ��������� ��� ������ ������������ ����������, ������� ���������� ��� ��������� (�� ���������� ��� ��� ��������������� ������������ ����������, ��������� ���� ��������� ����� �������� ���� ��������� � ���������� �������������).

    ������������ ���������� ������ ��������� ������������ ���, ��������� �����, ���������� �������� � ������������ ����������� �������, ���������� �� ������� ��������. � ���� ������ ���������� �������� ������������� ������� ��� �������� ��������� �������� ���������� �, ��� ���������, ��� ����������� ���� �� ����� �� ���� ������� ������. ��� �� ����� �� � ��������, ��� ��� ������������ ��� ���� ���������� � ����������� ������� ������������ ����� �� ����� 5% ����������.

��� ������������ ���������� �������� ���������� �������� ������, ����� �� ��������� ���������� �����-���� ��������� (��� �������� �������� �������� ������ ���������� ����� ���������� ������������ �� ��������. ���� ������ �������� ���������� ������ ����������, ��� �������� � ������).

����������� ���������� ����������� � ������ ��������� (� �� ������ ����������� ������), �������, ����� ���� ��������, ��� ������ �������������� ���������. ��������� �������� ������������� ������������ ���������� �������� ������������� ������ ����� �������, � 90% ���������� ���� �� ����� ������������.

������� �������� ������������ ���������� �������� ����������� ���������� C (��� ������������ ����� �����������, ����������� �� C). � ������� ������������ ��� �������.

� ����������� ���������� ����� �� ����������� �������� ������� ������������ �������; ���� ��� ���������� � ����� ����������� ������, ��� �� ����� ������������ �� � ����� ����������, ������� ��� �� ���������.

9.1.- ���������� �������� �����
���������� �������� ����� ����������� ����� �����, ��� � � ������ � ������� �������� �����, �� ����������� ����, ��� ��� �������� ����, ������� ����� ��������� � ��������� �������� � ������������ ����������� ������� ��������, �� ����� ������������ ����� '-f PIC' (����������-����������� ���).

���� ��� �������� ���������������, ��� ��� � ����������� ���������� ��������� ������������ �������� ����������� ��� ����������, ������� �������� ������������� �����. ��������� ���� ��� � ������ ����������� ������ a.out ���� ����������, ��� ��������� � ���������� ������ ����������� ���������� � ������������� ��������� � ������������ ����������� �������. � ��� ���������, � ����� ������ ����� ���������� ���������, ���� ��������� ������ ������������ ��� ���������� � ��������� �� � ��������������� ������� ����������� ������. ��� ��������, ��� �� ���� ��������� ����� ������, � ������� ������, ���������� ������� ���������� ������������, ������ ��� �������� �������� ������������ ������� � ���, ����� ����� ������ �� ��� �� ���������������.

��� �� ��� ��������, ����������� ������������ ���������� � ����������� ������ �� ����������, ��� ��� ����� ���������� ���������, ��� ����������� � �������, ������������ �� ������ ������, �� ������ �� ��� ����, ��� ��� ������ ���� ����������.

9.2.- ���������� �������� � ����������
����� ���������� ���� ��������, �� ���������� ������������, ����� �����, ������� ������� ����������� ����������� ������.
gcc -shared -o lib���.so.xxx.yyy.zzz 
 
-Wl,-soname,lib���.so.xxx
��� �������� ����� ��������, ��� ������ �� ������� ������� ����������, �� ����������� ����, ��� ��������� ��������� �����, ������� �������� � �������� ����������� ����������. ������� ���������� � ������ �� �����������: 
    -shared
    ����� ������������ ���������, ��� � ����� �� ������ ������� ����������� ���������� � ������� � �������� �����, ��������������� ����������, ������ ����������� ����������� ���. 

    -o lib���.so.xxx.yyy.zzz
    ��� ��� ��������� �����. ����� �� ����������� ��������� ���������� �� �����, �� ���� �� �����, ����� ��� ���������� ����� ���������� ��� ������� ����������, �� ����� �� ���������. 

    -Wl,-soname,lib���.so.xxx
    ����� -Wl ������� gcc(1), ��� ����� ���� ����� (����������� ��������), ������� ������������� ��� ������������. ���� �������� ������������ gcc(1) ��� �������� ����� ld(1). � ������� �� �������� ������������ ��������� �����: 

       -soname lib���.so.xxx 
       
    ��� ����� �������� soname ����������, ������� ��� ���������� ����� ����������� �� ������� ��������, ������� ��������� ��������� soname.
9.3.- ��������� ����������
��� �, � ��� ��� ���� ��������������� ����������� ����. ������, ����� ��� ����� ���� ������������, ��� ���������� ���������� � ��������������� �����. 

��� ���������� ���������, ������� ������� ���� ����� ����������, ���������� ������������ ��������� �������: 

gcc -o program lib���.so.xxx.yyy.zzz
���, ���� ���������� ���� ����������� � ������� (/usr/lib), ����� ����������: 
gcc -o ��������� -l���
(���� ���������� ��������� � /usr/local/lib, �� ���������� �������� ����� '-L/usr/local/lib'). ��� ��������� ���������� ��������� ���������: 
    ���������� ���������� � ������� /lib ��� /usr/lib. ���� �� ������ ����������� �� � ������ ����� (�������� � /usr/local/lib), �� �� �� ������� ���� ����������, ��� ��� ���������� �������� ����������� ld(1) ������ �� �������������. 

    ��������� ldconfig(1) ��� �������� ���������� ������ lib���.so.xxx.yyy.zzz  �� lib���.so.xxx. �� ���� ���� ��� ������ ��������, ��������� �� �� ��������� ��� ���������� ���� � ������������ �� ���������� ��� ������������. �� ���� ���� ����������� ������� ������ �� �������� ���������� �� ����� ����������, � �� �� ���������� ��������. 

    ��� ����, ����� ����������� ��� ����� ���������� �� ����� -l, �������� ���������� ������ � lib���.so.xxx.yyy.zzz (��� � lib���.so.xxx, soname) �� lib���.so. ����� ���� �������� ���������, ����������, ����� ��� ���������� ������������� ������� lib���.so

10.- �������� ����������� ����������

����, � ������ �������, ����������� ������� ����������� ���������� (��� ��������� ��� ������ ��� ����, ����� ����� ���� ��������� ���������� �������������� �����), �� ���������� ��������� ���������: 

���������: ����������� ��� ������ ��������� ������� ���� ���� � ������ lib���.so, � ���� ����� lib���.a. ���� �� ������� ��� ���� ���������� (����������� � ������������ ������) ����� � ��� �� ������, � �����-�� ����� ���������� ����������, ����� �� ���� ����� ������������ � ������ ������ (������������ ������ ����������� ������, ��������� ����������� ������������ �� ������).  

�� ���� �������, ���� ���������� ����� ��� ������ ����� ����������, ������ ������������� �������� ����������� � ���� lib���_s.a, � ������������ lib���.so.  ����� ��� ���������� ����� ����� �������: 

gcc -o program -l���_s
��� ���������� �� ����������� �������, ����� ��� ��� ������������: 
gcc -o program -l���
10.1.- ���������� ��������� ����
��� ���������� ��������� ���� ����� �� ����������� ��������� �����-���� ������ ���. ����� ����� ��������� �������� �������� �� ������ ����������, �� ����������� ������������� � ������ -f PIC (���� �������� ���������� �� ������������).  
10.2.- ���������� �������� � ����������
� ������ ����������� ��������� ���������� �� �����������. ��� ������� ������������ � ������������ ���� �������� ar(1). �����, ����� ������ ��������� ������� ���������� ��������� ������� ranlib(1) ��� �����������. ���� ��� � �� �����������, ������������ ���� ������� ����� �������������� ������ � ����������� ����� ������, ��� ��� ��������� ������ ������������� �� ����� �������� ���������� �� ��� �������� ����������� ����� �������� ����������� ����������: ������, ������, ������������ � ����� ������, ��������� ������ ������, ����������� � ������ ������, ��� ��������, ��� ��� ���������� ���� ������ ��������� ��������� �������� �� ����� � ��� �� ����������.  
10.3.- ��������� ����������
����������� ���������� ���������� �������� � ������� libName.a ������ � ��� ������, ���� ���� ������� ����� ������ ����������� ����������. � ������ ���� ����� ��������� � �� �������������� �������� �� lib���_s.a, � ���, ����� ���� ����� ���������, ����� ��������� �����������, � ����� ������������ ����������.

������� ���������� ��������� ������ ����� -static. ��� ����� ��������� ��������� ������ /lib/ld-linux.so, � �� ������ �� ������� ������ ���������, ������� ���� ���-�� ������ -static � ld(1) ������ ������������ ����������, �� �� ����� �������� � ��� (� �� ���������� ������ ����������� ����������). ��� �������� � ������� �� ����� ���������� ��-�� ������� �������� � ����������, ������� �� ������ � ������ ������������ ����� -- ������ ��� �������������� ������������ �������� �� ����������� � ������� ������� �� ����� ���� ��������.

11.- ��������� ����������� � ������������ ����������

�����������, ��� �� ����� ������� ����������� ���������, ������� ���������� ����������, ������� �� ����� �������������� ������ ���������� � ��������� ����������, � �� � ����� ���� ����� (�������� ����� ������ �������� ����������, ��������� � �������������� Motif). 

������� ����� ��������� ����� ����� ���������. ������ ����������� � �������� ���������� ��������������� ������������ ����� (��������� ������ ���������� .a � �� ��������� ������������� ����������). ���� ��� �������� ����������� ���� ��� � �� ������� �� ����� ���������� �� ������� (���� /lib/ld-linux.so). ������ � ��� ���� ���������� -- ��� ����������� ����� ������� � ����� �������� ����� � ������� ��� ������ ����� ������� �����. ������ ��������� �������� �������� ����������� �������������� ���������, �� ���� � �����, � ������� ���� ���������� ����� �����������, ������ ���� ��� �������������� ������������ ����������. ����������� ���� ����� ���� ����� ���������, ���� ������ ���������� ����� ��������� ��� ���������� (�������� ���� ����, � ������� ��� Motif). 

���������� ������ �������, ���������, � ������� ��������� ���������� ������������� �����������, � ��������� ����������. � ���� ������ ���� �� ������� ������� ������������� ���������� � �� ����������� ����� � ��� ��������� � �� ������������ �����. ���� ������� �������� ����� ���������������� ������ ������������ ��������.

��������, ����� �������������� ��� ��������� ������ ��������� ��������� �������:

gcc -static -o program.static  
 
program.o -lm_s -lXm_s -lXt_s -lX11_s\ 
 
-lXmu_s -lXpm_s 
 
 
 
gcc -o program.dynamic program.o 
 
-lm -lXm -lXt -lX11 -lXmu -lXpm 
 
 
 
gcc -o program.mixed program.o  
 
-lm -lXm_s -lXt -lX11 -lXmu -lXpm
� ������� ������ ������ ���������� Motif (-lXm_s) ����������� ����������, � ��� ��������� ����������� �����������. �� �����, � ������� ����� ����������� ���������, ������ �������� ���������������� �������� ��������� libm.so.xx libXt.so.xx libX11.so.xx libXmu.so.xx � libXpm.so.xx

���������� ����������:
© 1998 Luis Colorado
This website is mantained by Miguel A Sepulveda.