From owner-FreeBSD-users-jp@jp.freebsd.org  Mon Dec  6 15:36:41 1999
Received: (from daemon@localhost)
	by castle.jp.freebsd.org (8.9.3+3.2W/8.7.3) id PAA92018;
	Mon, 6 Dec 1999 15:36:41 +0900 (JST)
	(envelope-from owner-FreeBSD-users-jp@jp.FreeBSD.org)
Received: from tortoise.jp.freebsd.org (root@tortoise.jp.FreeBSD.ORG [210.157.158.41])
	by castle.jp.freebsd.org (8.9.3+3.2W/8.7.3) with ESMTP id PAA92012
	for <FreeBSD-users-jp@jp.freebsd.org>; Mon, 6 Dec 1999 15:36:41 +0900 (JST)
	(envelope-from issei@issei.org)
Received: from mx1.issei.org (valkirie.issei.org [3ffe:505:a:1:290:ccff:fea1:1ff2])
	by tortoise.jp.freebsd.org (8.9.3+3.2W/8.7.3) with ESMTP/IPv6 id PAA10471
	for <FreeBSD-users-jp@jp.freebsd.org>; Mon, 6 Dec 1999 15:36:08 +0900 (JST)
	(envelope-from issei@issei.org)
Received: from localhost (urd.issei.org [210.254.221.67])
	by mx1.issei.org (8.9.3+3.2W/3.7W-v6) with ESMTP/IPv4 id PAA13404
	for <FreeBSD-users-jp@jp.freebsd.org>; Mon, 6 Dec 1999 15:36:38 +0900 (JST)
	(envelope-from issei@issei.org)
To: FreeBSD-users-jp@jp.freebsd.org
In-Reply-To: <199912060542.OAA20617@ccz03.sfc.keio.ac.jp>
References: <199912060542.OAA20617@ccz03.sfc.keio.ac.jp>
X-Mailer: Mew version 1.94.1 on XEmacs 21.1 (Biscayne)
Mime-Version: 1.0
Content-Type: Text/Plain; charset=iso-2022-jp
Content-Transfer-Encoding: 7bit
Message-Id: <19991206153714C.issei@issei.org>
Date: Mon, 06 Dec 1999 15:37:14 +0900
From: Issei Suzuki <issei@issei.org>
X-Dispatcher: imput version 990905(IM130)
Lines: 47
Reply-To: FreeBSD-users-jp@jp.freebsd.org
Precedence: list
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+990727
X-Sequence: FreeBSD-users-jp 47990
Subject: [FreeBSD-users-jp 47990] Re: How to make shared library on
 FreeBSD3.x
Errors-To: owner-FreeBSD-users-jp@jp.freebsd.org
Sender: owner-FreeBSD-users-jp@jp.freebsd.org
X-Originator: issei@issei.org

In mail "[FreeBSD-users-jp 47987] How to make shared library on FreeBSD3.x"
Jin Arai <s96023ja@sfc.keio.ac.jp> wrote:

> FreeBSD-3.2$B>e$G!"$"$k3+H/$r$7$F$$$k$N$G$9$,!"(Bshared library $B$N:n$jJ}$,(B
> $B$o$+$i$J$/$F:$$C$F$$$^$9!#(B
> 
> $B1v:j$5$s$N%Z!<%8(B:
> http://hawk.ise.chuo-u.ac.jp/student/person/tshiozak/study/freebsd-at-random/shlib1/
> 
> $B$r;29M$K$7$F!"(B2.2.x$B$HF1$8J}K!$G$d$C$F$_$?$H$3$m!"(B

  a.out $B$H(B ELF $B$G$O!"%7%'%"!<%I%i%$%V%i%j$N07$$$,$+$J$j0[$J$j$^$9!#$=$l(B
$B$rG0F,$K$*$$$F!"1v:j$5$s$N%Z!<%8$r;2>H$9$kI,MW$,$"$j$^$9!#>\$7$/$O(B man
page $B$r;29M$K$7$FD:$/$H$7$F!"(BELF $B4D6-$G$NI8=`E*$J%7%'%"!<%I%i%$%V%i%j$N(B
$B:n@.!"MxMQ<j=g$r<($7$F$*$-$^$9!#(B

% cc -c -fPIC hello.o
% cc -shared -o libhello.so.1 -Wl,-S,-soname=libhello.so.1,--whole-archive hello.o
% ln -s libhello.so.1 libhello.so
% cc -o hello main.c -L. -lhello
% env LD_LIBRARY_PATH=. ./hello


ELF $B7A<0$N%7%'%"!<%I%i%$%V%i%j$K4X$9$kCm0U(B

1. a.out $B$H0[$J$j!"(BELF $B7A<0$N%7%'%"!<%I%i%$%V%i%j$G$O%P!<%8%g%sHV9f$O%a(B
   $B%8%c!<%P!<%8%g%s(B 1 $B$D$@$1$G$9!#(B

2. $B<B9T%U%!%$%k:n@.;~$K%7%'%"!<%I%i%$%V%i%j$r%j%s%/$9$k>l9g!"(Blib*.so $B$H(B
   $B$$$&L>A0$N%U%!%$%k$rC5$7$F$-$F%j%s%/$7$h$&$H$7$^$9!#<B:]$N%7%'%"!<%I(B
   $B%i%$%V%i%j$+$i%7%s%\%j%C%/%j%s%/$rD%$C$F$*$$$F$/$@$5$$!#(B

3. $B<B9T%U%!%$%k$K$O(B ($B$b$7$"$l$P(B) -soname $B$G;XDj$7$?(B DT_SONAME $B%U%#!<%k%I(B
   $B$NCM$,=q$-9~$^$l!"<B9T;~$K$O$=$NL>A0$G%7%'%"!<%I%i%$%V%i%j$r8!:w$7$F(B
   $B%@%$%J%_%C%/%j%s%/$r9T$$$^$9!#(B

   $B$7$?$,$C$F!"%7%'%"!<%I%i%$%V%i%j:n@.;~$K(B -soname $B$r;XDj$7$F$*$1$P!"%W(B
   $B%m%0%i%`<B9T;~$K$O(B lib*.so $B$N%j%s%/@h$,$I$3$K$J$C$F$$$h$&$HL54X78$K!"(B
   $B%3%s%Q%$%k;~$K%j%s%/$7$?%P!<%8%g%s$N%7%'%"!<%I%i%$%V%i%j$,;H$o$l$^$9!#(B

   -soname $B$r;XDj$;$:$K%7%'%"!<%I%i%$%V%i%j$r:n@.$9$k$H!"<B9T%U%!%$%k$K(B
   lib*.so $B$H$$$&L>A0$,=q$-9~$^$F$7$^$&$?$a!"$"$H$GJ#?t$N%P!<%8%g%s$N%7%'(B
   $B%"!<%I%i%$%V%i%j$rJB9T$7$F4IM}$9$kI,MW$,=P$F$-$?$H$-$K!":$$C$?;vBV$K(B
   $B$J$k2DG=@-$,$"$j$^$9!#(B


Issei.-
