compile spine on sun sparc solaris 10

Post support questions that directly relate to Linux/Unix operating systems.

Moderators: Developers, Moderators

Post Reply
mariog
Posts: 18
Joined: Mon May 19, 2008 3:39 am

compile spine on sun sparc solaris 10

Post by mariog »

when i try to compile spine on a sparc; i get the following error:

gcc -I/usr/local/include/net-snmp -I/usr/local/include/net-snmp/.. -I/opt/csw/mysql5/include/mysql -g -O2 -o spine sql.o spine.o util.o snmp.o locks.o poller.o nft_popen.o php.o ping.o keywords.o error.o -L/usr/local/lib -L/opt/csw/mysql5/lib/mysql /usr/local/lib/libnetsnmp.so -L/usr/local/pgsql/lib -L/usr/local/ssl/lib -L/usr/openwin/lib -L/usr/lib -L/usr/local/BerkeleyDB.4.2/lib -L/usr/X11R6/lib -lmysqlclient_r -lcrypto -lkstat -lz -lpthread -lm -lsocket -R/usr/local/lib -R/usr/local/lib
Undefined first referenced
symbol in file
gethostbyname ping.o (symbol belongs to implicit dependency /usr/lib/libnsl.so.1)
h_errno ping.o (symbol belongs to implicit dependency /usr/lib/libnsl.so.1)
ld: fatal: Symbol referencing errors. No output written to spine
collect2: ld returned 1 exit status
*** Error code 1
make: Fatal error: Command failed for target `spine'

googling doesn't help me with this problem. does anyone have the same problem? how can I solve this?

thank you
repudi8or
Posts: 27
Joined: Tue Sep 25, 2007 7:41 pm

Post by repudi8or »

Im guessing its missing libs or something. Check out my post on compiling spine on sol10 using the sun supplied net-snmp and sun studio instead of gcc

a lot of the initial issues i had were because the sun libraries were all compiled with sunstudio and were 64bit. when i switched from trying to use gcc to compile spine and used studio, it was a piece of cake:-

http://forums.cacti.net/viewtopic.php?t ... highlight=
mariog
Posts: 18
Joined: Mon May 19, 2008 3:39 am

Post by mariog »

thank you for your answer; I will try sun studio. in fact i have been wanting to try it for a while.
big thanks
diego.marco
Posts: 1
Joined: Tue May 19, 2009 6:54 am
Location: Zaragoza, Spain

Post by diego.marco »

Hello mariog,

Did the link of repudi8or (http://forums.cacti.net/viewtopic.php?t ... highlight=) works for you? I have the same error when compiling spine in Solaris10 sparc.

Thanks,
Diego
hosenbund
Posts: 7
Joined: Fri Aug 28, 2009 8:32 am

Post by hosenbund »

Has this issue ever been fixed? I have already tried to re-install the net-snmp component:

PKGINST: SMCnetsnmp
NAME: netsnmp
CATEGORY: application
ARCH: x86
VERSION: 5.4.1.1
BASEDIR: /usr/local
VENDOR: The NETSNMP Group
PSTAMP: Steve Christensen
INSTDATE: Jan 15 2009 18:20
EMAIL: steve@smc.vnet.net
STATUS: completely installed
FILES: 663 installed pathnames
7 shared pathnames
33 directories
40 executables
44881 blocks used (approx)

and I am using Sun Studio, however when running make, I still get the very same error:

Code: Select all

bash-3.00# make
cc  -I/usr/sfw//include/net-snmp -I/usr/sfw//include/net-snmp/.. -I/opt/csw/mysql5//include/mysql -g  -L/usr/sfw//lib -L/opt/csw/mysql5//lib/mysql -o spine sql.o spine.o util.o  snmp.o locks.o poller.o  nft_popen.o php.o ping.o  keywords.o error.o  -lnetsnmp -lmysqlclient_r -lmysqlclient_r -lkstat -lz -lpthread -lm -lsocket
Undefined                       first referenced
 symbol                             in file
gethostbyname                       ping.o  (symbol belongs to implicit dependency /lib/libnsl.so.1)
h_errno                             ping.o  (symbol belongs to implicit dependency /lib/libnsl.so.1)
ld: fatal: Symbol referencing errors. No output written to spine
*** Error code 1
make: Fatal error: Command failed for target `spine'
Any idea?

Update: I think I found the issue. In the Makefile you have to append "-lnsl" to the LIBS=
This did the trick for me, however I am still having problems with the SNMP libs when starting spine...
fcorazza
Posts: 9
Joined: Fri Jul 17, 2009 6:09 am

Post by fcorazza »

hosenbund wrote: Update: I think I found the issue. In the Makefile you have to append "-lnsl" to the LIBS=
This did the trick for me, however I am still having problems with the SNMP libs when starting spine...
Thanks hosenbund.. you finally found how to compile Spine against a non-ancient version of Net-SNMP :P

As for your library problem, try to export the LDFLAGS variable before running ./configure to compile in the linking and runtime library paths into spine.

This is what I've done so far:

- Install Net-SNMP package ver. 5.4.2.1 from the blastwave repository and all of its dependencies. I suggest you to use pkg-get or you will go crazy as dependencies are many. Hope you have direct internet access or at least access to a proxy:

-bash-3.00# pkginfo -l CSWnetsnmp
PKGINST: CSWnetsnmp
NAME: netsnmp - Simple Network Management Protocol
CATEGORY: application
ARCH: sparc
VERSION: 5.4.2.1,REV=2009.08.22
BASEDIR: /
VENDOR: http://ovh.dl.sourceforge.net/sourceforge/net-snmp/ packaged for CSW by Remko de Vrijer
PSTAMP: remko@ra-r2429UNCOMMITTED-20090822151405
INSTDATE: Aug 27 2009 14:14
HOTLINE: http://wiki.blastwave.org/
EMAIL: remko@blastwave.org
STATUS: completely installed
FILES: 631 installed pathnames
7 shared pathnames
28 linked files
29 directories
43 executables
26112 blocks used (approx)


Now, check out the latest Spine from the SVN repository:
http://svn.cacti.net/viewvc/spine/branc ... te#dirlist

Otherwise download cacti-spine-0.8.7e and replace the file ping.c, ping.h, sql.c and bootstrap with those in the SVN repository.

Now it's time to compile spine:

Code: Select all

# export LDFLAGS='-L/opt/webstack/mysql/lib/mysql -R/opt/webstack/mysql/lib/mysql'
# export CC=cc
# export CXX=CC
# ./bootstrap
# ./configure --with-mysql=/opt/webstack/mysql/compile --with-snmp=/opt/csw --enable-threadsafe-gethostbyname --prefix=/opt/spine
[.. edit Makefile and add -lsnl to the LIBS var as found by you ..]
# make
# make install
Feel free to replace /opt/webstack/mysql/compile with a directory containing the "lib" and "include" directories (libraries and headers) and "/opt/webstack/mysql/lib/mysql" with the directory containing the runtime libraries of MySQL.

Use SunStudio and SunMake to compile Spine. Unfortunately I couldn't compile it 64bit as Blastwave repository has only 32bit packages and it would have been too painful to recompile Net-SNMP 64bit from source including all of its dependencies.

Hope this helps..


Fabio
hosenbund
Posts: 7
Joined: Fri Aug 28, 2009 8:32 am

Post by hosenbund »

Thanks for your reply Fabio!

I've compiled Spine as mentioned in your posting, using the Blastwave repository for Net-SNMP and also SunStudio for compiling.

the spine binary compiles fine now, however when starting it, I do get the error mentioned in this posting:

http://forums.cacti.net/viewtopic.php?t=33978

08/29/2009 10:42:00 PM - SPINE: Poller[0] ERROR: Spine Timed Out While Processing Hosts Internal

Spine polls data from all other data sources without any issues:

Code: Select all

08/31/2009 07:25:31 PM - SPINE: Poller[0] Host[65] DEBUG: TCP Host Alive, Try Count:1, Time:45.4321 ms
08/31/2009 07:25:31 PM - SPINE: Poller[0] Host[65] PING Result: TCP: Host is Alive
08/31/2009 07:25:31 PM - SPINE: Poller[0] Host[65] SNMP Result: Host responded to SNMP
08/31/2009 07:25:31 PM - SPINE: Poller[0] Host[65] RECACHE: Processing 1 items in the auto reindex cache for '10.9.187.31'
08/31/2009 07:25:31 PM - SPINE: Poller[0] Host[65] NOTE: There are '2' Polling Items for this Host
08/31/2009 07:25:31 PM - SPINE: Poller[0] Host[65] DS[162] SNMP: v2: 10.9.187.31, dsname: traffic_in, oid: .1.3.6.1.2.1.2.2.1.10.1, value: 279874958
08/31/2009 07:25:31 PM - SPINE: Poller[0] Host[65] DS[162] SNMP: v2: 10.9.187.31, dsname: traffic_out, oid: .1.3.6.1.2.1.2.2.1.16.1, value: 3807866232
08/31/2009 07:25:31 PM - SPINE: Poller[0] Host[65] DEBUG: HOST COMPLETE: About to Exit Host Polling Thread Function
Post Reply

Who is online

Users browsing this forum: No registered users and 3 guests