From: Casper H.S. Dik on
Daniel Credo <daniel.credo(a)fernuni-hagen.de> writes:

>> <daniel.credo(a)fernuni-hagen.de> said:
>>
>>> gcc -o innd art.o cc.o chan.o icd.o innd.o keywords.o lc.o nc.o
>>> newsfeeds.o ng.o perl.o proc.o python.o rc.o site.o status.o util.o
>>> wip.o /export/home/news/src/inn-2.5.0/storage/libstorage.a
>>> /export/home/news/src/inn-2.5.0/history/libinnhist.a
>>> /export/home/news/src/inn-2.5.0/lib/libinn.a
>>> /export/home/news/src/inn-2.5.0/lib/perl.o -lsocket -lnsl
>>> Undefined first referenced
>>> symbol in file
>>> PL_na perl.o
.....
>>> Perl_call_argv perl.o
>>> ld: fatal: Symbol referencing errors. No output written to innd
>>> collect2: ld returned 1 exit status
>>> *** Error code 1
>>> make: Fatal error: Command failed for target `innd'
>>> Current working directory /export/home/news/src/inn-2.5.0/innd
>>> *** Error code 1
>>> make: Fatal error: Command failed for target `all-innd'
>>
>> Try building against an older version of perl - 5.10 is relatively new,
>> and inn might be expecting something different. Or consider building
>> against the Sun-supplied version of perl, and using the free and
>> excellent quality Sun Studio instead of gcc.

>Already tried to build against coolstack perl 5.8.8. Same errors here.
>gcc is working fine with INN 2.4.5.

All of these symbols are defined in the "libperl.so" shared library.
"ldd" will tell you where perl gets it:

ldd /bin/perl
libperl.so.1 => /usr/perl5/5.8.4/lib/i86pc-solaris-64int/CORE/libperl.so.1
libdl.so.1 => /lib/libdl.so.1
libc.so.1 => /lib/libc.so.1
libsocket.so.1 => /lib/libsocket.so.1
libnsl.so.1 => /lib/libnsl.so.1
libm.so.2 => /lib/libm.so.2
libmp.so.2 => /lib/libmp.so.2
libmd.so.1 => /lib/libmd.so.1
libscf.so.1 => /lib/libscf.so.1
libuutil.so.1 => /lib/libuutil.so.1
libgen.so.1 => /lib/libgen.so.1
libsmbios.so.1 => /usr/lib/libsmbios.so.1

I'm not sure how innd should find libperl.so, but it needs to be specified
on the link command line before it can be successfully linked.

Casper
--
Expressed in this posting are my opinions. They are in no way related
to opinions held by my employer, Sun Microsystems.
Statements on Sun products included here are not gospel and may
be fiction rather than truth.
From: Daniel Credo on
Casper H.S. Dik schrieb:
> Daniel Credo <daniel.credo(a)fernuni-hagen.de> writes:
>
>>> <daniel.credo(a)fernuni-hagen.de> said:
>>>
>>>> gcc -o innd art.o cc.o chan.o icd.o innd.o keywords.o lc.o nc.o
>>>> newsfeeds.o ng.o perl.o proc.o python.o rc.o site.o status.o util.o
>>>> wip.o /export/home/news/src/inn-2.5.0/storage/libstorage.a
>>>> /export/home/news/src/inn-2.5.0/history/libinnhist.a
>>>> /export/home/news/src/inn-2.5.0/lib/libinn.a
>>>> /export/home/news/src/inn-2.5.0/lib/perl.o -lsocket -lnsl
>>>> Undefined first referenced
>>>> symbol in file
>>>> PL_na perl.o
> ....
>>>> Perl_call_argv perl.o
>>>> ld: fatal: Symbol referencing errors. No output written to innd
>>>> collect2: ld returned 1 exit status
>>>> *** Error code 1
>>>> make: Fatal error: Command failed for target `innd'
>>>> Current working directory /export/home/news/src/inn-2.5.0/innd
>>>> *** Error code 1
>>>> make: Fatal error: Command failed for target `all-innd'
>>> Try building against an older version of perl - 5.10 is relatively new,
>>> and inn might be expecting something different. Or consider building
>>> against the Sun-supplied version of perl, and using the free and
>>> excellent quality Sun Studio instead of gcc.
>
>> Already tried to build against coolstack perl 5.8.8. Same errors here.
>> gcc is working fine with INN 2.4.5.
>
> All of these symbols are defined in the "libperl.so" shared library.
> "ldd" will tell you where perl gets it:
>
> ldd /bin/perl
> libperl.so.1 => /usr/perl5/5.8.4/lib/i86pc-solaris-64int/CORE/libperl.so.1
> libdl.so.1 => /lib/libdl.so.1
> libc.so.1 => /lib/libc.so.1
> libsocket.so.1 => /lib/libsocket.so.1
> libnsl.so.1 => /lib/libnsl.so.1
> libm.so.2 => /lib/libm.so.2
> libmp.so.2 => /lib/libmp.so.2
> libmd.so.1 => /lib/libmd.so.1
> libscf.so.1 => /lib/libscf.so.1
> libuutil.so.1 => /lib/libuutil.so.1
> libgen.so.1 => /lib/libgen.so.1
> libsmbios.so.1 => /usr/lib/libsmbios.so.1
>
> I'm not sure how innd should find libperl.so, but it needs to be specified
> on the link command line before it can be successfully linked.
>
> Casper

ldd /bin/perl says:

libperl.so.1 => /usr/perl5/5.8.4/lib/sun4-solaris-64int/CORE/libperl.so.1
libdl.so.1 => /lib/libdl.so.1
libc.so.1 => /lib/libc.so.1
libsocket.so.1 => /lib/libsocket.so.1
libnsl.so.1 => /lib/libnsl.so.1
libm.so.2 => /lib/libm.so.2
libmp.so.2 => /lib/libmp.so.2
libmd.so.1 => /lib/libmd.so.1
libscf.so.1 => /lib/libscf.so.1
libdoor.so.1 => /lib/libdoor.so.1
libuutil.so.1 => /lib/libuutil.so.1
libgen.so.1 => /lib/libgen.so.1
/platform/SUNW,Sun-Fire-V445/lib/libc_psr.so.1
/platform/SUNW,Sun-Fire-V445/lib/libmd_psr.so.1

Looks good?
From: Casper H.S. Dik on
Daniel Credo <daniel.credo(a)fernuni-hagen.de> writes:

>ldd /bin/perl says:

>libperl.so.1 => /usr/perl5/5.8.4/lib/sun4-solaris-64int/CORE/libperl.so.1

That would suggest that you should be able to link innd with:


-L/usr/perl5/5.8.4/lib/sun4-solaris-64int/CORE -lperl \
-R/usr/perl5/5.8.4/lib/sun4-solaris-64int/CORE

Casper
--
Expressed in this posting are my opinions. They are in no way related
to opinions held by my employer, Sun Microsystems.
Statements on Sun products included here are not gospel and may
be fiction rather than truth.
From: Daniel Credo on
Casper H.S. Dik schrieb:
> Daniel Credo <daniel.credo(a)fernuni-hagen.de> writes:
>
>> ldd /bin/perl says:
>
>> libperl.so.1 => /usr/perl5/5.8.4/lib/sun4-solaris-64int/CORE/libperl.so.1
>
> That would suggest that you should be able to link innd with:
>
>
> -L/usr/perl5/5.8.4/lib/sun4-solaris-64int/CORE -lperl \
> -R/usr/perl5/5.8.4/lib/sun4-solaris-64int/CORE
>
> Casper

At first: Thank you for your help.

I don't know how to use:
-L/usr/perl5/5.8.4/lib/sun4-solaris-64int/CORE -lperl
-R/usr/perl5/5.8.4/lib/sun4-solaris-64int/CORE

../configure --with-perl -L/usr/perl5/5.8.4/lib/sun4-solaris-64int/CORE
-lperl -R/usr/perl5/5.8.4/lib/sun4-solaris-64int/CORE
doesn't work.

Daniel.
From: Casper H.S. Dik on
Daniel Credo <daniel.credo(a)fernuni-hagen.de> writes:

>Casper H.S. Dik schrieb:
>> Daniel Credo <daniel.credo(a)fernuni-hagen.de> writes:
>>
>>> ldd /bin/perl says:
>>
>>> libperl.so.1 => /usr/perl5/5.8.4/lib/sun4-solaris-64int/CORE/libperl.so.1
>>
>> That would suggest that you should be able to link innd with:
>>
>>
>> -L/usr/perl5/5.8.4/lib/sun4-solaris-64int/CORE -lperl \
>> -R/usr/perl5/5.8.4/lib/sun4-solaris-64int/CORE
>>
>> Casper

>At first: Thank you for your help.

>I don't know how to use:
>-L/usr/perl5/5.8.4/lib/sun4-solaris-64int/CORE -lperl
>-R/usr/perl5/5.8.4/lib/sun4-solaris-64int/CORE

>./configure --with-perl -L/usr/perl5/5.8.4/lib/sun4-solaris-64int/CORE
>-lperl -R/usr/perl5/5.8.4/lib/sun4-solaris-64int/CORE
>doesn't work.


Just edit the Makefile; I think configure should be able to figure
that out itself but apparently it doesn't.

Casper
--
Expressed in this posting are my opinions. They are in no way related
to opinions held by my employer, Sun Microsystems.
Statements on Sun products included here are not gospel and may
be fiction rather than truth.