Hey,
I compiled syslog-ng on a Solaris10 5/08 release using the Sun C
compiler.
I created a package from the compiled program and installed it on a
Solaris 10 8/07 machine.
When I run the exectutable, the following error is displayed:
ld.so.1: syslog-ng: fatal: libresolv.so.2: version `SUNW_2.2.2' not
found (required by file syslog-ng)
ld.so.1: syslog-ng: fatal: libresolv.so.2: open failed: No such file
or directory
Running ldd gives the following output:
libpthread.so.1 => /usr/lib/libpthread.so.1
libresolv.so.2 => /usr/lib/libresolv.so.2
libresolv.so.2 (SUNW_2.2.2) => (version not found)
What seems to be the problem here? Is there some kind of patch that I
need to install?
|
|
-1
|
|
|
|
Reply
|
ravanos
|
6/9/2008 9:15:31 AM |
|
ravanos schrieb:
> Hey,
>
> I compiled syslog-ng on a Solaris10 5/08 release using the Sun C
> compiler.
> I created a package from the compiled program and installed it on a
> Solaris 10 8/07 machine.
> When I run the exectutable, the following error is displayed:
>
> ld.so.1: syslog-ng: fatal: libresolv.so.2: version `SUNW_2.2.2' not
> found (required by file syslog-ng)
> ld.so.1: syslog-ng: fatal: libresolv.so.2: open failed: No such file
> or directory
>
> Running ldd gives the following output:
> libpthread.so.1 => /usr/lib/libpthread.so.1
> libresolv.so.2 => /usr/lib/libresolv.so.2
> libresolv.so.2 (SUNW_2.2.2) => (version not found)
>
> What seems to be the problem here? Is there some kind of patch that I
> need to install?
You always have to compile a program on the earliest Solaris release you
want to use, because Sun provides only forward compatibility.
Alternatively, you could try to bring the old machine up to date with
patches.
BTW: why don't you use the syslog-ng package from www.sunfreeware.com?
- Thomas
|
|
0
|
|
|
|
Reply
|
Thomas
|
6/9/2008 9:23:12 AM
|
|
On 6=A4=EB9=A4=E9, =A4=C8=AB=E15:23, Thomas Maier-Komor <tho...@maier-komor=
..de> wrote:
> ravanos schrieb:
>
>
>
> > Hey,
>
> > I compiled syslog-ng on a Solaris10 5/08 release using the Sun C
> > compiler.
> > I created a package from the compiled program and installed it on a
> > Solaris 10 8/07 machine.
> > When I run the exectutable, the following error is displayed:
>
> > ld.so.1: syslog-ng: fatal: libresolv.so.2: version `SUNW_2.2.2' not
> > found (required by file syslog-ng)
> > ld.so.1: syslog-ng: fatal: libresolv.so.2: open failed: No such file
> > or directory
>
> > Running ldd gives the following output:
> > libpthread.so.1 =3D> /usr/lib/libpthread.so.1
> > libresolv.so.2 =3D> /usr/lib/libresolv.so.2
> > libresolv.so.2 (SUNW_2.2.2) =3D> (version not found)
>
> > What seems to be the problem here? Is there some kind of patch that I
> > need to install?
>
> You always have to compile a program on the earliest Solaris release you
> want to use, because Sun provides only forward compatibility.
> Alternatively, you could try to bring the old machine up to date with
> patches.
>
> BTW: why don't you use the syslog-ng package fromwww.sunfreeware.com?
>
> - Thomas
what do you mean? instal syslog-ng can solve the libresolv.so.2
(SUNW_2.2.2) =3D> (version not found) problem?
|
|
0
|
|
|
|
Reply
|
CONANDOR
|
7/15/2008 7:41:11 AM
|
|
CONANDOR schrieb:
> On 6��9��, �ȫ�5:23, Thomas Maier-Komor <tho...@maier-komor.de> wrote:
>> ravanos schrieb:
>>
>>
>>
>>> Hey,
>>> I compiled syslog-ng on a Solaris10 5/08 release using the Sun C
>>> compiler.
>>> I created a package from the compiled program and installed it on a
>>> Solaris 10 8/07 machine.
>>> When I run the exectutable, the following error is displayed:
>>> ld.so.1: syslog-ng: fatal: libresolv.so.2: version `SUNW_2.2.2' not
>>> found (required by file syslog-ng)
>>> ld.so.1: syslog-ng: fatal: libresolv.so.2: open failed: No such file
>>> or directory
>>> Running ldd gives the following output:
>>> libpthread.so.1 => /usr/lib/libpthread.so.1
>>> libresolv.so.2 => /usr/lib/libresolv.so.2
>>> libresolv.so.2 (SUNW_2.2.2) => (version not found)
>>> What seems to be the problem here? Is there some kind of patch that I
>>> need to install?
>> You always have to compile a program on the earliest Solaris release you
>> want to use, because Sun provides only forward compatibility.
>> Alternatively, you could try to bring the old machine up to date with
>> patches.
>>
>> BTW: why don't you use the syslog-ng package fromwww.sunfreeware.com?
>>
>> - Thomas
>
> what do you mean? instal syslog-ng can solve the libresolv.so.2
> (SUNW_2.2.2) => (version not found) problem?
yes, you compiled your syslog-ng against libresolv.so.2 version
SUNW_2.2.2 which is not available on Solaris 10 8/07. In contrast, the
version from sunfreeware.com is compiled either against Solaris 8 FCS or
Solaris 10 FCS. So this binary will work on all Solaris 10 releases.
- Thomas
|
|
0
|
|
|
|
Reply
|
Thomas
|
7/15/2008 8:15:51 AM
|
|
On 2008-07-15 09:15:51 +0100, Thomas Maier-Komor <thomas@maier-komor.de> said:
> CONANDOR schrieb:
>> On 6月9日, 午後5:23, Thomas Maier-Komor <tho...@maier-komor.de> wrote:
>>> ravanos schrieb:
>>>
>>>
>>>
>>>> Hey,
>>>> I compiled syslog-ng on a Solaris10 5/08 release using the Sun C
>>>> compiler.
>>>> I created a package from the compiled program and installed it on a
>>>> Solaris 10 8/07 machine.
>>>> When I run the exectutable, the following error is displayed:
>>>> ld.so.1: syslog-ng: fatal: libresolv.so.2: version `SUNW_2.2.2' not
>>>> found (required by file syslog-ng)
>>>> ld.so.1: syslog-ng: fatal: libresolv.so.2: open failed: No such file
>>>> or directory
>>>> Running ldd gives the following output:
>>>> libpthread.so.1 => /usr/lib/libpthread.so.1
>>>> libresolv.so.2 => /usr/lib/libresolv.so.2
>>>> libresolv.so.2 (SUNW_2.2.2) => (version not found)
>>>> What seems to be the problem here? Is there some kind of patch that I
>>>> need to install?
>>> You always have to compile a program on the earliest Solaris release you
>>> want to use, because Sun provides only forward compatibility.
>>> Alternatively, you could try to bring the old machine up to date with
>>> patches.
>>>
>>> BTW: why don't you use the syslog-ng package fromwww.sunfreeware.com?
>>>
>>> - Thomas
>>
>> what do you mean? instal syslog-ng can solve the libresolv.so.2
>> (SUNW_2.2.2) => (version not found) problem?
>
> yes, you compiled your syslog-ng against libresolv.so.2 version
> SUNW_2.2.2 which is not available on Solaris 10 8/07. In contrast, the
> version from sunfreeware.com is compiled either against Solaris 8 FCS or
> Solaris 10 FCS. So this binary will work on all Solaris 10 releases.
This bit us recently too.
The best solution would be to apply any patches which backported the
SUNW_2.2.2 API to older releases. But I don't know if such patches
exist. Anyone?
If they do not, you could either:
a) set LD_NOVERSION in the environment before running syslog-ng. That's
a potentially risky thing to do, but it might work out (man ld.so.1 for
details);
b) relink your executable with a mapfile that directs the linker to
bind to the API minor version that *is* present on older releases. The
mapfile would therefore be something like:
libresolv.so.2 - SUNW_2.2
and you'd link with -M /path/to/that/mapfile. There's loads of detail
about this stuff at
<http://docs.sun.com/app/docs/doc/817-1984/chapter5-84101?a=view>.
You'd want to check what API minor version existed in the earliest
release you'd be supporting of course, but a glance at
<http://bugs.opensolaris.org/bugdatabase/view_bug.do?bug_id=6689937>
suggests that 2.2 is the right one.
Cheers,
Chris
|
|
0
|
|
|
|
Reply
|
Chris
|
7/15/2008 12:39:51 PM
|
|
|
4 Replies
853 Views
(page loaded in 0.056 seconds)
|