[SOLVED] Building 2.12 on Solaris 11 Express

Ask for help and report issues with the GTK+ version of Transmission
Post Reply
ben001
Posts: 10
Joined: Sat Feb 20, 2010 1:21 am

[SOLVED] Building 2.12 on Solaris 11 Express

Post by ben001 » Tue Nov 16, 2010 4:35 am

Hello Everyone,

I seem to have some problems trying to build transmission 2.12 on Solaris 11 Express

i am configuring transmission as follows:

Code: Select all

root@media1:/home/admin/Desktop/transmission-2.12# ./configure CFLAGS='-threads' --enable-gtk --enable-cli --enable-daemon --enable-libnotify
root@media1:/home/admin/Desktop/transmission-2.12# make
However when make gets to libtransmission it seems to fail

Code: Select all

Making all in libtransmission
make[1]: Entering directory `/home/admin/Desktop/transmission-2.12/libtransmission'
  CC     announcer.o
  CC     bandwidth.o
  CC     bencode.o
bencode.c:16:31: math.h: No such file or directory
bencode.c: In function `jsonRealFunc':
bencode.c:1342: warning: implicit declaration of function `fabs'
bencode.c:1342: warning: nested extern declaration of `fabs'
<internal>:0: warning: redundant redeclaration of 'fabs'
make[1]: *** [bencode.o] Error 1
make[1]: Leaving directory `/home/admin/Desktop/transmission-2.12/libtransmission'
make: *** [all-recursive] Error 1
If anyone could help me out that would be great.

Thanks
Last edited by ben001 on Tue Nov 16, 2010 6:35 am, edited 1 time in total.

Rolcol
Posts: 337
Joined: Sun Aug 10, 2008 8:00 am

Re: Building 2.12 on Solaris 11 Express

Post by Rolcol » Tue Nov 16, 2010 5:51 am

It looks like it's not finding math.h. Try changing CFLAGS to CFLAGS="-threads -lm".

(I have little (no) experience with compiling on Solaris)

ben001
Posts: 10
Joined: Sat Feb 20, 2010 1:21 am

Re: Building 2.12 on Solaris 11 Express

Post by ben001 » Tue Nov 16, 2010 6:22 am

hmm that didn't work either. Entire log below

Code: Select all

root@media1:/home/admin/Desktop/transmission-2.12# ./configure CFLAGS='-threads -lm' --enable-gtk --enable-cli --enable-daemon --enable-libnotify
checking for a BSD-compatible install... /usr/bin/ginstall -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/gnu/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking how to create a ustar tar archive... gnutar
checking build system type... i386-pc-solaris2.11
checking host system type... i386-pc-solaris2.11
checking for style of include used by make... GNU
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking dependency style of gcc... gcc3
checking for a sed that does not truncate output... /usr/gnu/bin/sed
checking for grep that handles long lines and -e... /usr/gnu/bin/grep
checking for egrep... /usr/gnu/bin/grep -E
checking for fgrep... /usr/gnu/bin/grep -F
checking for ld used by gcc... /usr/ccs/bin/ld
checking if the linker (/usr/ccs/bin/ld) is GNU ld... no
checking for BSD- or MS-compatible name lister (nm)... /usr/gnu/bin/nm -B
checking the name lister (/usr/gnu/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 786240
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking for /usr/ccs/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for ar... ar
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/gnu/bin/nm -B output from gcc object... ok
checking how to run the C preprocessor... gcc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... yes
checking if gcc static flag -static works... no
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/ccs/bin/ld) supports shared libraries... yes
checking whether -lc should be explicitly linked in... yes
checking dynamic linker characteristics... solaris2.11 ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking for gcc... (cached) gcc
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to accept ISO C89... (cached) none needed
checking dependency style of gcc... (cached) gcc3
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... gcc3
checking whether we are using the GNU C++ compiler... (cached) yes
checking whether g++ accepts -g... (cached) yes
checking dependency style of g++... (cached) gcc3
checking how to run the C++ preprocessor... g++ -E
checking for ld used by g++... /usr/ccs/bin/ld
checking if the linker (/usr/ccs/bin/ld) is GNU ld... no
checking whether the g++ linker (/usr/ccs/bin/ld) supports shared libraries... yes
checking for g++ option to produce PIC... -fPIC -DPIC
checking if g++ PIC flag -fPIC -DPIC works... yes
checking if g++ static flag -static works... no
checking if g++ supports -c -o file.o... yes
checking if g++ supports -c -o file.o... (cached) yes
checking whether the g++ linker (/usr/ccs/bin/ld) supports shared libraries... yes
checking dynamic linker characteristics... solaris2.11 ld.so
checking how to hardcode library paths into programs... immediate
checking for inline... inline
checking gcc version... 3.4.3
checking for ANSI C header files... (cached) yes
checking whether time.h and sys/time.h may both be included... yes
checking for iconv_open... yes
checking for pread... yes
checking for pwrite... yes
checking for lrintf... yes
checking for strlcpy... yes
checking for daemon... yes
checking for dirname... yes
checking for basename... yes
checking for strcasecmp... yes
checking for localtime_r... yes
checking for fallocate64... no
checking for posix_fallocate... yes
checking for memmem... yes
checking for strtold... yes
checking for syslog... yes
checking for valloc... yes
checking for getpagesize... yes
checking for posix_memalign... yes
checking whether make sets $(MAKE)... (cached) yes
checking whether pthreads work with -pthreads... yes
checking for joinable pthread attribute... PTHREAD_CREATE_JOINABLE
checking if more special flags are required for pthreads... -D_REENTRANT
checking for library containing cos... none required
checking for library containing socket... -lsocket
checking for library containing gethostbyname... -lnsl
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for OPENSSL... yes
checking for LIBCURL... yes
checking for /tmp/dummy1_zlib.h... yes
checking for library containing gzopen... -lz
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... 64
checking for lseek64... yes
checking whether posix_fadvise is declared... yes
checking for posix_fadvise... yes
checking sys/inotify.h usability... no
checking sys/inotify.h presence... no
checking for sys/inotify.h... no
checking sys/event.h usability... no
checking sys/event.h presence... no
checking for sys/event.h... no
checking xfs/xfs.h usability... no
checking xfs/xfs.h presence... no
checking for xfs/xfs.h... no
checking how to copy va_list... va_copy
checking for clock_gettime in -lrt... yes
checking for evutil_vsnprintf in -levent... yes
checking event-config.h usability... yes
checking event-config.h presence... yes
checking for event-config.h... yes
checking for GTK... yes
checking for GIO... yes
checking for LIBNOTIFY... yes
checking for LIBAPPINDICATOR... no
checking for LIBCANBERRA... yes
checking for GCONF2... yes
checking for DBUS_GLIB... yes
checking for dbus-binding-tool... /usr/bin/dbus-binding-tool
checking whether NLS is requested... yes
checking for intltool >= 0.35.0... 0.40.6 found
checking for intltool-update... /usr/bin/intltool-update
checking for intltool-merge... /usr/bin/intltool-merge
checking for intltool-extract... /usr/bin/intltool-extract
checking for xgettext... /usr/gnu/bin/xgettext
checking for msgmerge... /usr/bin/msgmerge
checking for msgfmt... /usr/gnu/bin/msgfmt
checking for gmsgfmt... /usr/bin/gmsgfmt
checking for perl... /usr/bin/perl
checking for perl >= 5.8.1... 5.8.4
checking libintl.h usability... yes
checking libintl.h presence... yes
checking for libintl.h... yes
checking locale.h usability... yes
checking locale.h presence... yes
checking for locale.h... yes
checking for LC_MESSAGES... yes
checking for libintl.h... (cached) yes
checking for ngettext in libc... yes
checking for dgettext in libc... yes
checking for bind_textdomain_codeset... yes
checking for msgfmt... (cached) /usr/gnu/bin/msgfmt
checking for dcgettext... yes
checking for gmsgfmt... (cached) /usr/bin/gmsgfmt
checking for xgettext... (cached) /usr/gnu/bin/xgettext
configure: creating ./config.status
config.status: creating Makefile
config.status: creating transmission-gtk.spec
config.status: creating cli/Makefile
config.status: creating daemon/Makefile
config.status: creating extras/Makefile
config.status: creating libtransmission/Makefile
config.status: creating utils/Makefile
config.status: creating third-party/Makefile
config.status: creating third-party/miniupnp/Makefile
config.status: creating third-party/libnatpmp/Makefile
config.status: creating third-party/dht/Makefile
config.status: creating macosx/Makefile
config.status: creating gtk/Makefile
config.status: creating gtk/icons/Makefile
config.status: creating web/Makefile
config.status: creating web/images/Makefile
config.status: creating web/images/buttons/Makefile
config.status: creating web/images/graphics/Makefile
config.status: creating web/images/progress/Makefile
config.status: creating web/javascript/Makefile
config.status: creating web/javascript/jquery/Makefile
config.status: creating web/stylesheets/Makefile
config.status: creating po/Makefile.in
config.status: executing depfiles commands
config.status: executing libtool commands
config.status: executing default-1 commands
config.status: executing po/stamp-it commands


Configuration:

   Source code location:                              .
   Compiler:                                          g++

   Build Command-Line client:                         yes

   Build GTK+ client:                                 yes

     Optional dependencies for GTK+ client:

      * dbus support:                                 yes
      * gio for watchdir support:                     yes
      * libnotify for 'download completed' popups:    yes
      * libcanberra for 'download completed' sounds:  yes
      * gconf2 to register as a magnet link handler:  yes
      * libappindicator for an Ubuntu-style tray:     no

   Build Daemon:                                      yes

   Build Mac client:                                  no

root@media1:/home/admin/Desktop/transmission-2.12# make
Making all in extras
make[1]: Entering directory `/home/admin/Desktop/transmission-2.12/extras'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/admin/Desktop/transmission-2.12/extras'
Making all in third-party
make[1]: Entering directory `/home/admin/Desktop/transmission-2.12/third-party'
Making all in libnatpmp
make[2]: Entering directory `/home/admin/Desktop/transmission-2.12/third-party/libnatpmp'
  CC     getgateway.o
gcc: -lm: linker input file unused because linking not done
  CC     natpmp.o
natpmp.c:90: warning: no previous declaration for 'sendpendingrequest'
natpmp.c:106: warning: no previous declaration for 'sendnatpmprequest'
natpmp.c:171: warning: no previous declaration for 'readnatpmpresponse'
gcc: -lm: linker input file unused because linking not done
  CC     wingettimeofday.o
gcc: -lm: linker input file unused because linking not done
  AR     libnatpmp.a
make[2]: Leaving directory `/home/admin/Desktop/transmission-2.12/third-party/libnatpmp'
Making all in miniupnp
make[2]: Entering directory `/home/admin/Desktop/transmission-2.12/third-party/miniupnp'
./updateminiupnpcstrings.sh ./miniupnpcstrings.h.in miniupnpcstrings.h
Detected OS [SunOS] version [5.11]
setting OS_STRING macro value to SunOS/5.11 in miniupnpcstrings.h.
make  all-am
make[3]: Entering directory `/home/admin/Desktop/transmission-2.12/third-party/miniupnp'
  CC     connecthostport.o
gcc: -lm: linker input file unused because linking not done
  CC     igd_desc_parse.o
gcc: -lm: linker input file unused because linking not done
  CC     minisoap.o
gcc: -lm: linker input file unused because linking not done
  CC     minissdpc.o
gcc: -lm: linker input file unused because linking not done
  CC     miniupnpc.o
miniupnpc.c:314:5: warning: "DEBUG" is not defined
gcc: -lm: linker input file unused because linking not done
  CC     miniwget.o
miniwget.c:48: warning: unused parameter 'url'
gcc: -lm: linker input file unused because linking not done
  CC     minixml.o
gcc: -lm: linker input file unused because linking not done
  CC     upnpcommands.o
gcc: -lm: linker input file unused because linking not done
  CC     upnpreplyparse.o
gcc: -lm: linker input file unused because linking not done
  AR     libminiupnp.a
make[3]: Leaving directory `/home/admin/Desktop/transmission-2.12/third-party/miniupnp'
make[2]: Leaving directory `/home/admin/Desktop/transmission-2.12/third-party/miniupnp'
Making all in dht
make[2]: Entering directory `/home/admin/Desktop/transmission-2.12/third-party/dht'
  CC     dht.o
gcc: -lm: linker input file unused because linking not done
  AR     libdht.a
make[2]: Leaving directory `/home/admin/Desktop/transmission-2.12/third-party/dht'
make[2]: Entering directory `/home/admin/Desktop/transmission-2.12/third-party'
make[2]: Nothing to be done for `all-am'.
make[2]: Leaving directory `/home/admin/Desktop/transmission-2.12/third-party'
make[1]: Leaving directory `/home/admin/Desktop/transmission-2.12/third-party'
Making all in libtransmission
make[1]: Entering directory `/home/admin/Desktop/transmission-2.12/libtransmission'
  CC     announcer.o
gcc: -lm: linker input file unused because linking not done
  CC     bandwidth.o
gcc: -lm: linker input file unused because linking not done
  CC     bencode.o
bencode.c:16:31: math.h: No such file or directory
bencode.c: In function `jsonRealFunc':
bencode.c:1342: warning: implicit declaration of function `fabs'
bencode.c:1342: warning: nested extern declaration of `fabs'
<internal>:0: warning: redundant redeclaration of 'fabs'
make[1]: *** [bencode.o] Error 1
make[1]: Leaving directory `/home/admin/Desktop/transmission-2.12/libtransmission'
make: *** [all-recursive] Error 1
root@media1:/home/admin/Desktop/transmission-2.12#

ben001
Posts: 10
Joined: Sat Feb 20, 2010 1:21 am

Re: Building 2.12 on Solaris 11 Express

Post by ben001 » Tue Nov 16, 2010 6:34 am

Turns out i was missing SUNWlibm, all is fixed now :D

FISHMANPET
Posts: 1
Joined: Wed Nov 17, 2010 11:16 pm

Re: [SOLVED] Building 2.12 on Solaris 11 Express

Post by FISHMANPET » Wed Nov 17, 2010 11:47 pm

Did you have to compile libevent? I built it myself and it complained that libevent was too old, so I had to manually compile it and link against that instead.

Post Reply