Date: Sat, 21 Nov 1998 11:07:00 -0800 (PST) From: John Polstra <jdp@polstra.com> To: n@nectar.com Cc: hackers@FreeBSD.ORG Subject: Re: munging or removing DT_SONAME Message-ID: <199811211907.LAA26386@vashon.polstra.com> In-Reply-To: <199811211743.LAA19220@spawn.nectar.com>
next in thread | previous in thread | raw e-mail | index | archive | help
In article <199811211743.LAA19220@spawn.nectar.com>,
Jacques Vidrine <n@nectar.com> wrote:
> Anyone know of a way to change the value of DT_SONAME in a shared
> library binary? Or of removing it completely?
>
> For ELF, ports/xforms installs libxforms.so.0 from a binary
> distribution. Unfortunately, libxforms.so.0 has
> DT_SONAME=libforms.so.0.88, requiring a (IMHO bogus) symlink
> libforms.so.0.88 -> libxforms.so.0 in order for ld-elf.so to
> find it.
The best thing to do would be to find out who built the library, and
ask him to make a new one with the correct soname.
Barring that, I suppose you could fix the file with emacs "hexl"
mode or with some other binary editor. The strings are
null-terminated. Just find the ".88" and glom a 0 byte on top of
the ".".
But really, it would be much better to ask for the library to be
rebuilt. Otherwise the problem just comes back with the next
version.
John
--
John Polstra jdp@polstra.com
John D. Polstra & Co., Inc. Seattle, Washington USA
"Nobody ever went broke underestimating the taste of the American public."
-- H. L. Mencken
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199811211907.LAA26386>
