Install on Solaris Express 11 help

Ask for help and report issues not specific to either the Mac OS X or GTK+ versions of Transmission
Post Reply
firesafe
Posts: 4
Joined: Tue Oct 18, 2011 2:59 pm

Install on Solaris Express 11 help

Post by firesafe »

Run into some snags trying to install the latest transmission daemon on Solaris Express 11.

So far ./configure --disable-gtk --disable-nls --disable-cli --enable-daemon, works:

Code: Select all

Configuration:

   Source code location:                              .
   Compiler:                                          g++

   Build libtransmission:                             yes
      * optimized for low-resource systems:           no
      * µTP enabled:                                  yes

   Build Command-Line client:                         no

   Build GTK+ client:                                 no
      * libappindicator for an Ubuntu-style tray:     no

   Build Daemon:                                      yes

   Build Mac client:                                  no
But when i run make:

Code: Select all

make
Making all in extras
Making all in third-party
Making all in dht
Making all in libnatpmp
Making all in 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
  CC     minisoap.o
  CC     miniwget.o
miniwget.c: In function `getHTTPResponse':
miniwget.c:187: warning: comparison between signed and unsigned
miniwget.c:224: warning: signed and unsigned type in conditional expression
miniwget.c: At top level:
miniwget.c:287: warning: unused parameter 'url'
  AR     libminiupnp.a
Making all in libutp
Making all in libtransmission
  CC     announcer.o
announcer.c:19:27: event2/buffer.h: No such file or directory
announcer.c:20:40: event2/event.h: No such file or directory
announcer.c: In function `tr_announcerInit':
announcer.c:170: warning: implicit declaration of function `evtimer_new'
announcer.c:170: warning: nested extern declaration of `evtimer_new'
announcer.c:170: warning: assignment makes pointer from integer without a cast
announcer.c: In function `tr_announcerClose':
announcer.c:187: warning: implicit declaration of function `event_free'
announcer.c:187: warning: nested extern declaration of `event_free'
announcer.c: In function `dbgmsg_tier_announce_queue':
announcer.c:756: warning: implicit declaration of function `evbuffer_new'
announcer.c:756: warning: nested extern declaration of `evbuffer_new'
announcer.c:756: warning: initialization makes pointer from integer without a cast
announcer.c:763: warning: implicit declaration of function `evbuffer_add_printf'
announcer.c:763: warning: nested extern declaration of `evbuffer_add_printf'
announcer.c:766: warning: implicit declaration of function `evbuffer_pullup'
announcer.c:766: warning: nested extern declaration of `evbuffer_pullup'
announcer.c:766: warning: format argument is not a pointer (arg 5)
announcer.c:767: warning: implicit declaration of function `evbuffer_free'
announcer.c:767: warning: nested extern declaration of `evbuffer_free'
*** Error code 1
The following command caused the error:
echo "  CC    " announcer.o;gcc -DPACKAGE_NAME=\"transmission\" -DPACKAGE_TARNAME=\"transmission\" -DPACKAGE_VERSION=\"2.41\" -DPACKAGE_STRING=\"transmission\ 2.41\" -DPACKAGE_BUGREPORT=\"http://trac.transmissionbt.com/newticket\" -DPACKAGE_URL=\"\" -DPACKAGE=\"transmission\" -DVERSION=\"2.41\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DSTDC_HEADERS=1 -DTIME_WITH_SYS_TIME=1 -DHAVE_STDBOOL_H=1 -DHAVE_ICONV_OPEN=1 -DHAVE_PREAD=1 -DHAVE_PWRITE=1 -DHAVE_STRLCPY=1 -DHAVE_DAEMON=1 -DHAVE_DIRNAME=1 -DHAVE_BASENAME=1 -DHAVE_STRCASECMP=1 -DHAVE_LOCALTIME_R=1 -DHAVE_POSIX_FALLOCATE=1 -DHAVE_MEMMEM=1 -DHAVE_STRSEP=1 -DHAVE_STRTOLD=1 -DHAVE_SYSLOG=1 -DHAVE_VALLOC=1 -DHAVE_GETPAGESIZE=1 -DHAVE_POSIX_MEMALIGN=1 -DHAVE_STATVFS=1 -DHAVE_HTONLL=1 -DHAVE_NTOHLL=1 -DHAVE_PTHREAD=1 -DHAVE__TMP_DUMMY1_ZLIB_H=1 -DHAVE_ZLIB=1 -D_FILE_OFFSET_BITS=64 -DHAVE_LSEEK64=1 -DHAVE_DECL_POSIX_FADVISE=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_SYS_STATVFS_H=1 -DWITH_UTP=1 -I.  -I.  -I..  -I../third-party/  -D__TRANSMISSION__  -DPACKAGE_DATA_DIR=\""/usr/local/share"\"  -DNDEBUG -I../third-party/dht  -I../third-party/     -D_REENTRANT -pthreads -g -O2 -std=gnu99 -ggdb3 -Wall -W -Wpointer-arith -Wformat-security -Wcast-align -Wundef -Wcast-align -Wstrict-prototypes -Wmissing-declarations -Wmissing-format-attribute -Wredundant-decls -Wnested-externs -Wunused-parameter -Wwrite-strings -Winline -Wfloat-equal -Wextra -Wdeclaration-after-statement -Winit-self -MT announcer.o -MD -MP -MF .deps/announcer.Tpo -c -o announcer.o announcer.c
make: Fatal error: Command failed for target `announcer.o'
Current working directory /home/nas/Desktop/transmission-2.41/libtransmission
*** Error code 1
The following command caused the error:
fail= failcom='exit 1'; \
for f in x $MAKEFLAGS; do \
  case $f in \
    *=* | --[!k]*);; \
    *k*) failcom='fail=yes';; \
  esac; \
done; \
dot_seen=no; \
target=`echo all-recursive | sed s/-recursive//`; \
list='extras  third-party  libtransmission  utils  daemon        web'; for subdir in $list; do \
  echo "Making $target in $subdir"; \
  if test "$subdir" = "."; then \
    dot_seen=yes; \
    local_target="$target-am"; \
  else \
    local_target="$target"; \
  fi; \
  (CDPATH="${ZSH_VERSION+.}:" && cd $subdir && make  $local_target) \
  || eval $failcom; \
done; \
if test "$dot_seen" = "no"; then \
  make  "$target-am" || exit 1; \
fi; test -z "$fail"
make: Fatal error: Command failed for target `all-recursive'
Can't figure out what's wrong and reading other threads hasn't helped.
Is there something i missed? :oops:

Much appreciated !!
rb07
Posts: 1400
Joined: Sun Aug 24, 2008 3:14 am

Re: Install on Solaris Express 11 help

Post by rb07 »

firesafe wrote:announcer.c:19:27: event2/buffer.h: No such file or directory
announcer.c:20:40: event2/event.h: No such file or directory
You don't have the pre-requisite libevent2 installed, or forgot to use the option to specify where it is installed.
firesafe
Posts: 4
Joined: Tue Oct 18, 2011 2:59 pm

Re: Install on Solaris Express 11 help

Post by firesafe »

Appreciate the reply!!

I checked through and i have libevent installed. I uninstalled it and grabbed libevent2 as you said and did the usual ./configure make make install on it.

Now i'm getting these errors:

Code: Select all

#make
Making all in extras
Making all in third-party
Making all in dht
Making all in libnatpmp
Making all in 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
  CC     minisoap.o
  CC     miniwget.o
miniwget.c: In function `getHTTPResponse':
miniwget.c:187: warning: comparison between signed and unsigned
miniwget.c:224: warning: signed and unsigned type in conditional expression
miniwget.c: At top level:
miniwget.c:287: warning: unused parameter 'url'
  AR     libminiupnp.a
Making all in libutp
Making all in libtransmission
  CC     announcer.o
  CC     announcer-http.o
  CC     announcer-udp.o
  CC     bandwidth.o
  CC     bencode.o
  CC     bitfield.o
  CC     blocklist.o
blocklist.c: In function `blocklistClose':
blocklist.c:71: warning: passing arg 1 of `munmap' from incompatible pointer type
blocklist.c: In function `blocklistLoad':
blocklist.c:101: warning: assignment from incompatible pointer type
  CC     cache.o
  CC     clients.o
  CC     completion.o
  CC     ConvertUTF.o
  CC     crypto.o
  CC     fdlimit.o
  CC     handshake.o
handshake.c: In function `canRead':
handshake.c:996: warning: 'ret' might be used uninitialized in this function
  CC     history.o
  CC     inout.o
  CC     json.o
  CC     JSON_parser.o
  CC     list.o
  CC     magnet.o
  CC     makemeta.o
  CC     metainfo.o
  CC     natpmp.o
  CC     net.o
net.c:55: warning: missing braces around initializer
net.c:55: warning: (near initialization for `tr_in6addr_any.addr.addr6._S6_un')
  CC     peer-io.o
peer-io.c:511: warning: initialization from incompatible pointer type
peer-io.c:566: warning: initialization from incompatible pointer type
  CC     peer-mgr.o
  CC     peer-msgs.o
  CC     platform.o
  CC     port-forwarding.o
  CC     ptrarray.o
  CC     resume.o
  CC     rpcimpl.o
  CC     rpc-server.o
  CC     session.o
  CC     stats.o
  CC     torrent.o
  CC     torrent-ctor.o
  CC     torrent-magnet.o
  CC     tr-dht.o
  CC     tr-lpd.o
  CC     tr-udp.o
  CC     tr-utp.o
  CC     tr-getopt.o
  CC     trevent.o
  CC     upnp.o
  CC     utils.o
utils.c: In function `to_utf8':
utils.c:1250: warning: passing arg 2 of `iconv' from incompatible pointer type
utils.c: In function `tr_urlParse':
utils.c:1013: warning: 'host_len' might be used uninitialized in this function
utils.c:1014: warning: 'protocol_len' might be used uninitialized in this function
  CC     verify.o
  CC     web.o
  CC     webseed.o
  CC     wildmat.o
  AR     libtransmission.a
  CC     blocklist-test.o
  CCLD   blocklist-test
Undefined            first referenced
 symbol                  in file
RC4                                 ./libtransmission.a(crypto.o)
evbuffer_add_reference              ./libtransmission.a(announcer-udp.o)
BIO_set_flags                       ./libtransmission.a(utils.o)
evbuffer_free                       ./libtransmission.a(peer-io.o)
evbuffer_read                       ./libtransmission.a(peer-io.o)
evbuffer_peek                       ./libtransmission.a(peer-io.o)
evhttp_find_header                  ./libtransmission.a(rpc-server.o)
evbuffer_add_vprintf                ./libtransmission.a(utils.o)
BIO_f_base64                        ./libtransmission.a(utils.o)
event_base_loopbreak                ./libtransmission.a(session.o)
evhttp_bind_socket                  ./libtransmission.a(rpc-server.o)
DH_compute_key                      ./libtransmission.a(crypto.o)
evdns_base_free                     ./libtransmission.a(session.o)
evhttp_send_reply                   ./libtransmission.a(rpc-server.o)
RAND_pseudo_bytes                   ./libtransmission.a(crypto.o)
evdns_getaddrinfo                   ./libtransmission.a(announcer-udp.o)
evbuffer_copyout                    ./libtransmission.a(utils.o)
evutil_freeaddrinfo                 ./libtransmission.a(announcer-udp.o)
curl_multi_init                     ./libtransmission.a(web.o)
evhttp_set_gencb                    ./libtransmission.a(rpc-server.o)
evutil_closesocket                  ./libtransmission.a(net.o)
ERR_get_error                       ./libtransmission.a(crypto.o)
evdns_base_new                      ./libtransmission.a(trevent.o)
event_base_new                      ./libtransmission.a(trevent.o)
SHA1_Init                           ./libtransmission.a(verify.o)
BN_new                              ./libtransmission.a(crypto.o)
curl_multi_info_read                ./libtransmission.a(web.o)
DH_new                              ./libtransmission.a(crypto.o)
SHA1_Update                         ./libtransmission.a(verify.o)
curl_easy_setopt                    ./libtransmission.a(web.o)
event_base_dispatch                 ./libtransmission.a(trevent.o)
curl_multi_perform                  ./libtransmission.a(web.o)
evbuffer_add_buffer                 ./libtransmission.a(peer-io.o)
BIO_s_mem                           ./libtransmission.a(utils.o)
BIO_write                           ./libtransmission.a(utils.o)
BN_bin2bn                           ./libtransmission.a(crypto.o)
BN_bn2bin                           ./libtransmission.a(crypto.o)
event_free                          ./libtransmission.a(peer-io.o)
event_base_free                     ./libtransmission.a(trevent.o)
evbuffer_remove_buffer              ./libtransmission.a(peer-io.o)
curl_multi_add_handle               ./libtransmission.a(web.o)
evbuffer_commit_space               ./libtransmission.a(peer-io.o)
curl_global_init                    ./libtransmission.a(web.o)
curl_easy_init                      ./libtransmission.a(web.o)
evbuffer_add_printf                 ./libtransmission.a(torrent-magnet.o)
ERR_error_string_n                  ./libtransmission.a(crypto.o)
BIO_new                             ./libtransmission.a(utils.o)
BIO_new_mem_buf                     ./libtransmission.a(utils.o)
evbuffer_get_length                 ./libtransmission.a(peer-io.o)
evutil_ascii_strcasecmp             ./libtransmission.a(session.o)
evdns_err_to_string                 ./libtransmission.a(announcer-udp.o)
SHA1_Final                          ./libtransmission.a(verify.o)
BN_free                             ./libtransmission.a(crypto.o)
BN_rand                             ./libtransmission.a(crypto.o)
evutil_strtoll                      ./libtransmission.a(bencode.o)
evutil_inet_ntop                    ./libtransmission.a(net.o)
evutil_inet_pton                    ./libtransmission.a(net.o)
event_set_log_callback              ./libtransmission.a(trevent.o)
curl_easy_getinfo                   ./libtransmission.a(web.o)
DH_free                             ./libtransmission.a(crypto.o)
curl_multi_timeout                  ./libtransmission.a(web.o)
curl_free                           ./libtransmission.a(web.o)
RC4_set_key                         ./libtransmission.a(crypto.o)
evbuffer_add                        ./libtransmission.a(peer-io.o)
evbuffer_new                        ./libtransmission.a(peer-io.o)
evbuffer_reserve_space              ./libtransmission.a(peer-io.o)
evbuffer_write_atmost               ./libtransmission.a(peer-io.o)
evhttp_free                         ./libtransmission.a(rpc-server.o)
evutil_make_socket_nonblocking      ./libtransmission.a(net.o)
evhttp_new                          ./libtransmission.a(rpc-server.o)
curl_multi_cleanup                  ./libtransmission.a(web.o)
event_del                           ./libtransmission.a(peer-io.o)
event_add                           ./libtransmission.a(peer-io.o)
event_new                           ./libtransmission.a(peer-io.o)
BN_num_bits                         ./libtransmission.a(crypto.o)
evbuffer_expand                     ./libtransmission.a(announcer-http.o)
evbuffer_ptr_set                    ./libtransmission.a(peer-io.o)
evbuffer_drain                      ./libtransmission.a(cache.o)
evbuffer_add_cb                     ./libtransmission.a(webseed.o)
BIO_free_all                        ./libtransmission.a(utils.o)
curl_multi_fdset                    ./libtransmission.a(web.o)
DH_generate_key                     ./libtransmission.a(crypto.o)
curl_easy_cleanup                   ./libtransmission.a(web.o)
curl_unescape                       ./libtransmission.a(web.o)
BIO_ctrl                            ./libtransmission.a(utils.o)
BIO_push                            ./libtransmission.a(utils.o)
BIO_read                            ./libtransmission.a(utils.o)
evutil_vsnprintf                    ./libtransmission.a(torrent.o)
evutil_ascii_strncasecmp            ./libtransmission.a(utils.o)
evhttp_add_header                   ./libtransmission.a(rpc-server.o)
evbuffer_search                     ./libtransmission.a(handshake.o)
evbuffer_remove                     ./libtransmission.a(peer-io.o)
curl_multi_remove_handle            ./libtransmission.a(web.o)
evbuffer_pullup                     ./libtransmission.a(utils.o)
ld: fatal: symbol referencing errors. No output written to blocklist-test
collect2: ld returned 1 exit status
*** Error code 1
The following command caused the error:
echo "  CCLD  " blocklist-test;/bin/sh ../libtool --silent --tag=CC    --mode=link gcc  -I../third-party/dht  -I../third-party/     -D_REENTRANT -pthreads -g -O2 -std=gnu99 -ggdb3 -Wall -W -Wpointer-arith -Wformat-security -Wcast-align -Wundef -Wcast-align -Wstrict-prototypes -Wmissing-declarations -Wmissing-format-attribute -Wredundant-decls -Wnested-externs -Wunused-parameter -Wwrite-strings -Winline -Wfloat-equal -Wextra -Wdeclaration-after-statement -Winit-self   -o  blocklist-test blocklist-test.o ./libtransmission.a   ../third-party/miniupnp/libminiupnp.a  ../third-party/libnatpmp/libnatpmp.a   ../third-party/dht/libdht.a  ../third-party/libutp/libutp.a -lrt      -lz -lnsl -lsocket -lm -lnsl -lsocket -lm
make: Fatal error: Command failed for target `blocklist-test'
Current working directory /home/nas/Desktop/transmission-2.41/libtransmission
*** Error code 1
The following command caused the error:
fail= failcom='exit 1'; \
for f in x $MAKEFLAGS; do \
  case $f in \
    *=* | --[!k]*);; \
    *k*) failcom='fail=yes';; \
  esac; \
done; \
dot_seen=no; \
target=`echo all-recursive | sed s/-recursive//`; \
list='extras  third-party  libtransmission  utils  daemon        web'; for subdir in $list; do \
  echo "Making $target in $subdir"; \
  if test "$subdir" = "."; then \
    dot_seen=yes; \
    local_target="$target-am"; \
  else \
    local_target="$target"; \
  fi; \
  (CDPATH="${ZSH_VERSION+.}:" && cd $subdir && make  $local_target) \
  || eval $failcom; \
done; \
if test "$dot_seen" = "no"; then \
  make  "$target-am" || exit 1; \
fi; test -z "$fail"
make: Fatal error: Command failed for target `all-recursive'
Sorry, first time compiling :(

Do i need to specify where libevent is? What would the command be to do so?

Thanks again!!
rb07
Posts: 1400
Joined: Sun Aug 24, 2008 3:14 am

Re: Install on Solaris Express 11 help

Post by rb07 »

firesafe wrote: CCLD blocklist-test
Undefined first referenced
symbol in file
RC4 ./libtransmission.a(crypto.o)
evbuffer_add_reference ./libtransmission.a(announcer-udp.o)
BIO_set_flags ./libtransmission.a(utils.o)
evbuffer_free ./libtransmission.a(peer-io.o)
This means there are several (not only libevent) libraries that the linker doesn't find.

The first line means symbol RC4 is missing, that one is in libcrypto which comes with OpenSSL and with Solaris (I have 2 libraries, the original and the latest from building OpenSSL). Its unusual that the linker doesn't find it, see if you can find it, the original should be under /usr/lib (which is actually /usr/lib/sparcv9 in Sparc hardware, which is the 64-bit version -- Sparc can use both 32 and 64 bit versions the same, you just have to keep the build to one version -- possible cause of the problem: the compiler is trying to use the 32-bit versions, but you only have the 64-bit version of the library... let's see where you find the library and follow up later).

The second line is as you thought, libevent is not found by the linker.

The 3rd line is again about libcrypto... and so on.

All this could be fixed with one extra set of parameters to configure, something like:

Code: Select all

./configure ... LDFLAGS="-L/usr/local/lib"
assuming those libraries are there, in /usr/local/lib, but that probably only fixes the build, when you try to run anything it should fail again because the real linker path in Solaris is defined with crle (be careful with that one, read the manual first before changing anything).
firesafe
Posts: 4
Joined: Tue Oct 18, 2011 2:59 pm

Re: Install on Solaris Express 11 help

Post by firesafe »

Ok, going with your help i managed to locate all the files and made sure they are up-to-date for Transmission.

Ended up with:

Code: Select all

./configure PKG_CONFIG="/usr/local/bin/pkg-config" LIBCURL_LIBS="/usr/local/lib" LIBCURL_CFLAGS="/usr/local/include" LIBEVENT_LIBS="/usr/local/include" LIBEVENT_CFLAGS="/usr/local/lib" --disable-nls --disable-gtk --disable-cli --enable-daemon
Compiled all good, now as you said about the linkers? has shown up.

Code: Select all

# make
Making all in extras
Making all in third-party
Making all in dht
Making all in libnatpmp
Making all in 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
  CC     minisoap.o
  CC     miniwget.o
miniwget.c: In function `getHTTPResponse':
miniwget.c:187: warning: comparison between signed and unsigned
miniwget.c:224: warning: signed and unsigned type in conditional expression
miniwget.c: At top level:
miniwget.c:287: warning: unused parameter 'url'
  AR     libminiupnp.a
Making all in libutp
Making all in libtransmission
  CC     announcer.o
gcc: /usr/local/lib: linker input file unused because linking not done
gcc: /usr/local/include: linker input file unused because linking not done
cc1: /usr/local/lib: No such file or directory
cc1: internal compiler error: Segmentation Fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
*** Error code 1
The following command caused the error:
echo "  CC    " announcer.o;gcc -DPACKAGE_NAME=\"transmission\" -DPACKAGE_TARNAME=\"transmission\" -DPACKAGE_VERSION=\"2.41\" -DPACKAGE_STRING=\"transmission\ 2.41\" -DPACKAGE_BUGREPORT=\"http://trac.transmissionbt.com/newticket\" -DPACKAGE_URL=\"\" -DPACKAGE=\"transmission\" -DVERSION=\"2.41\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DSTDC_HEADERS=1 -DTIME_WITH_SYS_TIME=1 -DHAVE_STDBOOL_H=1 -DHAVE_ICONV_OPEN=1 -DHAVE_PREAD=1 -DHAVE_PWRITE=1 -DHAVE_STRLCPY=1 -DHAVE_DAEMON=1 -DHAVE_DIRNAME=1 -DHAVE_BASENAME=1 -DHAVE_STRCASECMP=1 -DHAVE_LOCALTIME_R=1 -DHAVE_POSIX_FALLOCATE=1 -DHAVE_MEMMEM=1 -DHAVE_STRSEP=1 -DHAVE_STRTOLD=1 -DHAVE_SYSLOG=1 -DHAVE_VALLOC=1 -DHAVE_GETPAGESIZE=1 -DHAVE_POSIX_MEMALIGN=1 -DHAVE_STATVFS=1 -DHAVE_HTONLL=1 -DHAVE_NTOHLL=1 -DHAVE_PTHREAD=1 -DHAVE__TMP_DUMMY1_ZLIB_H=1 -DHAVE_ZLIB=1 -D_FILE_OFFSET_BITS=64 -DHAVE_LSEEK64=1 -DHAVE_DECL_POSIX_FADVISE=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_SYS_STATVFS_H=1 -DWITH_UTP=1 -I.  -I.  -I..  -I../third-party/  -D__TRANSMISSION__  -DPACKAGE_DATA_DIR=\""/usr/local/share"\"  -DNDEBUG -I../third-party/dht  -I../third-party/  /usr/local/lib  /usr/local/include  -I/usr/local/include  -D_REENTRANT -pthreads -g -O2 -std=gnu99 -ggdb3 -Wall -W -Wpointer-arith -Wformat-security -Wcast-align -Wundef -Wcast-align -Wstrict-prototypes -Wmissing-declarations -Wmissing-format-attribute -Wredundant-decls -Wnested-externs -Wunused-parameter -Wwrite-strings -Winline -Wfloat-equal -Wextra -Wdeclaration-after-statement -Winit-self -MT announcer.o -MD -MP -MF .deps/announcer.Tpo -c -o announcer.o announcer.c
make: Fatal error: Command failed for target `announcer.o'
Current working directory /home/nas/Desktop/transmission-2.41/libtransmission
*** Error code 1
The following command caused the error:
fail= failcom='exit 1'; \
for f in x $MAKEFLAGS; do \
  case $f in \
    *=* | --[!k]*);; \
    *k*) failcom='fail=yes';; \
  esac; \
done; \
dot_seen=no; \
target=`echo all-recursive | sed s/-recursive//`; \
list='extras  third-party  libtransmission  utils  daemon        web'; for subdir in $list; do \
  echo "Making $target in $subdir"; \
  if test "$subdir" = "."; then \
    dot_seen=yes; \
    local_target="$target-am"; \
  else \
    local_target="$target"; \
  fi; \
  (CDPATH="${ZSH_VERSION+.}:" && cd $subdir && make  $local_target) \
  || eval $failcom; \
done; \
if test "$dot_seen" = "no"; then \
  make  "$target-am" || exit 1; \
fi; test -z "$fail"
make: Fatal error: Command failed for target `all-recursive'
I added in the /usr/local/lib, but alas no change. So im stuck again :( :?:

Code: Select all

# crle

Configuration file [version 4]: /var/ld/ld.config  
  Platform:    32-bit LSB 80386
  Default Library Path (ELF):    /lib:/usr/lib:/usr/local/lib
  Trusted Directories (ELF):    /lib/secure:/usr/lib/secure  (system default)

Command line:
  crle -c /var/ld/ld.config -l /lib:/usr/lib:/usr/local/lib
rb07
Posts: 1400
Joined: Sun Aug 24, 2008 3:14 am

Re: Install on Solaris Express 11 help

Post by rb07 »

Your additions to configure are wrong... and not needed according to the output of crle (but now we know that you are using Solaris on Intel 32-bit hardware.)

PKG_CONFIG is fine but make sure it works w/o also changing PKG_CONFIG_PATH, for instance see if the output of "pkg-config --libs libcurl" is correct, if not, then add /usr/local/lib/pkgconfig to PKG_CONFIG_PATH.

LIBCURL_LIBS is wrong, its not needed if pkg-config works, but if you want to add it yourself the correct way to use it is "LIBCURL_LIBS=-L/usr/local/lib -lcurl -lssl -lcrypto -lz".

LIBCURL_CFLAGS is very wrong ;-) Take a look at the output of "pkg-config --cflags libcurl".

Similar problems with the other flags you added.

When you find a problem, pay attention to the output... for instance you have:
firesafe wrote:gcc: /usr/local/lib: linker input file unused because linking not done
gcc: /usr/local/include: linker input file unused because linking not done
cc1: /usr/local/lib: No such file or directory
cc1: internal compiler error: Segmentation Fault
Those are important, in this case show that your flags are all wrong and the compiler could not made sense of the mess, it even crashed.
firesafe
Posts: 4
Joined: Tue Oct 18, 2011 2:59 pm

Re: Install on Solaris Express 11 help

Post by firesafe »

Really really appreciate your help so far mate.

I had another look over $PKG_CONFIG_PATH and it was empty. So i added in: /usr/local/lib/pkgconfig

Code: Select all

# echo $PKG_CONFIG_PATH
/usr/local/lib/pkgconfig
Also had a look over the CFLAGS and such, not sure what i was thinking with those paths as you mentioned(shouldn't stay up so late)

I checked pkgconfig the first time and it was empty for cflags and libs. I hope

Code: Select all

./pkg-config --cflags libcurl
is the way to check.

So after i fixed the empty $PKG_CONFIG_PATH, i now get from pkg-config:

Code: Select all

# ./pkg-config --libs libcurl
-L/usr/local/lib -lcurl  
# ./pkg-config --cflags libcurl
-I/usr/local/include 
Which should be correct as the .pc files are in "/usr/local/pkgconfig/" ?

So i tried to configure transmission, no drammas and it said it checked pkgconfig. Then i get this from make:

Code: Select all

# make
Making all in extras
Making all in third-party
Making all in dht
  CC     dht.o
  AR     libdht.a
Making all in libnatpmp
  CC     getgateway.o
  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'
  CC     wingettimeofday.o
  AR     libnatpmp.a
Making all in 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
  CC     connecthostport.o
  CC     igd_desc_parse.o
  CC     minisoap.o
  CC     minissdpc.o
  CC     miniupnpc.o
miniupnpc.c:113: warning: no previous declaration for 'simpleUPnPcommand2'
  CC     miniwget.o
miniwget.c: In function `getHTTPResponse':
miniwget.c:187: warning: comparison between signed and unsigned
miniwget.c:224: warning: signed and unsigned type in conditional expression
miniwget.c: At top level:
miniwget.c:287: warning: unused parameter 'url'
  CC     minixml.o
  CC     portlistingparse.o
portlistingparse.c:71: warning: unused parameter 'name'
portlistingparse.c:71: warning: unused parameter 'l'
  CC     receivedata.o
  CC     upnpcommands.o
  CC     upnpreplyparse.o
  AR     libminiupnp.a
Making all in libutp
  CXX    utp.o
In file included from utp.cpp:4:
templates.h:46: warning: #pragma pack(push[, id], <n>) is not supported on this target
templates.h:71: warning: #pragma pack(pop[, id], <n>) is not supported on this target
In file included from utp.cpp:78:
utp_config.h:8:2: warning: #warning implement this in libtransmission
utp.cpp:95: warning: #pragma pack(push[, id], <n>) is not supported on this target
utp.cpp:216: warning: ignoring packed attribute on unpacked non-POD field `uint32_big PacketFormat::connid'
utp.cpp:217: warning: ignoring packed attribute on unpacked non-POD field `uint32_big PacketFormat::tv_sec'
utp.cpp:218: warning: ignoring packed attribute on unpacked non-POD field `uint32_big PacketFormat::tv_usec'
utp.cpp:219: warning: ignoring packed attribute on unpacked non-POD field `uint32_big PacketFormat::reply_micro'
utp.cpp:227: warning: ignoring packed attribute on unpacked non-POD field `uint16_big PacketFormat::seq_nr'
utp.cpp:229: warning: ignoring packed attribute on unpacked non-POD field `uint16_big PacketFormat::ack_nr'
utp.cpp:258: warning: ignoring packed attribute on unpacked non-POD field `uint16_big PacketFormatV1::connid'
utp.cpp:259: warning: ignoring packed attribute on unpacked non-POD field `uint32_big PacketFormatV1::tv_usec'
utp.cpp:260: warning: ignoring packed attribute on unpacked non-POD field `uint32_big PacketFormatV1::reply_micro'
utp.cpp:262: warning: ignoring packed attribute on unpacked non-POD field `uint32_big PacketFormatV1::windowsize'
utp.cpp:264: warning: ignoring packed attribute on unpacked non-POD field `uint16_big PacketFormatV1::seq_nr'
utp.cpp:266: warning: ignoring packed attribute on unpacked non-POD field `uint16_big PacketFormatV1::ack_nr'
utp.cpp:283: warning: #pragma pack(pop[, id], <n>) is not supported on this target
  CXX    utp_utils.o
  AR     libutp.a
Making all in libtransmission
  CC     announcer.o
  CC     announcer-http.o
  CC     announcer-udp.o
  CC     bandwidth.o
  CC     bencode.o
  CC     bitfield.o
  CC     blocklist.o
blocklist.c: In function `blocklistClose':
blocklist.c:71: warning: passing arg 1 of `munmap' from incompatible pointer type
blocklist.c: In function `blocklistLoad':
blocklist.c:101: warning: assignment from incompatible pointer type
  CC     cache.o
  CC     clients.o
  CC     completion.o
  CC     ConvertUTF.o
  CC     crypto.o
  CC     fdlimit.o
  CC     handshake.o
handshake.c: In function `canRead':
handshake.c:996: warning: 'ret' might be used uninitialized in this function
  CC     history.o
  CC     inout.o
  CC     json.o
  CC     JSON_parser.o
  CC     list.o
  CC     magnet.o
  CC     makemeta.o
  CC     metainfo.o
  CC     natpmp.o
  CC     net.o
net.c:55: warning: missing braces around initializer
net.c:55: warning: (near initialization for `tr_in6addr_any.addr.addr6._S6_un')
  CC     peer-io.o
peer-io.c:511: warning: initialization from incompatible pointer type
peer-io.c:566: warning: initialization from incompatible pointer type
  CC     peer-mgr.o
  CC     peer-msgs.o
  CC     platform.o
  CC     port-forwarding.o
  CC     ptrarray.o
  CC     resume.o
  CC     rpcimpl.o
  CC     rpc-server.o
  CC     session.o
  CC     stats.o
  CC     torrent.o
  CC     torrent-ctor.o
  CC     torrent-magnet.o
  CC     tr-dht.o
  CC     tr-lpd.o
  CC     tr-udp.o
  CC     tr-utp.o
  CC     tr-getopt.o
  CC     trevent.o
  CC     upnp.o
  CC     utils.o
utils.c: In function `to_utf8':
utils.c:1250: warning: passing arg 2 of `iconv' from incompatible pointer type
utils.c: In function `tr_urlParse':
utils.c:1013: warning: 'host_len' might be used uninitialized in this function
utils.c:1014: warning: 'protocol_len' might be used uninitialized in this function
  CC     verify.o
  CC     web.o
  CC     webseed.o
  CC     wildmat.o
  AR     libtransmission.a
  CC     blocklist-test.o
  CCLD   blocklist-test
ld: warning: file /usr/local/lib/libssl.a(s2_clnt.o): wrong ELF class: ELFCLASS64
ld: warning: file /usr/local/lib/libcrypto.a(mem.o): wrong ELF class: ELFCLASS64
Undefined            first referenced
 symbol                  in file
RC4                                 ./libtransmission.a(crypto.o)  (symbol belongs to implicit dependency /lib/libcrypto.so.0.9.8)
BIO_set_flags                       ./libtransmission.a(utils.o)  (symbol belongs to implicit dependency /lib/libcrypto.so.0.9.8)
BIO_f_base64                        ./libtransmission.a(utils.o)  (symbol belongs to implicit dependency /lib/libcrypto.so.0.9.8)
DH_compute_key                      ./libtransmission.a(crypto.o)  (symbol belongs to implicit dependency /lib/libcrypto.so.0.9.8)
RAND_pseudo_bytes                   ./libtransmission.a(crypto.o)  (symbol belongs to implicit dependency /lib/libcrypto.so.0.9.8)
ERR_get_error                       ./libtransmission.a(crypto.o)  (symbol belongs to implicit dependency /lib/libcrypto.so.0.9.8)
SHA1_Init                           ./libtransmission.a(verify.o)  (symbol belongs to implicit dependency /lib/libcrypto.so.0.9.8)
BN_new                              ./libtransmission.a(crypto.o)  (symbol belongs to implicit dependency /lib/libcrypto.so.0.9.8)
DH_new                              ./libtransmission.a(crypto.o)  (symbol belongs to implicit dependency /lib/libcrypto.so.0.9.8)
SHA1_Update                         ./libtransmission.a(verify.o)  (symbol belongs to implicit dependency /lib/libcrypto.so.0.9.8)
BIO_s_mem                           ./libtransmission.a(utils.o)  (symbol belongs to implicit dependency /lib/libcrypto.so.0.9.8)
BIO_write                           ./libtransmission.a(utils.o)  (symbol belongs to implicit dependency /lib/libcrypto.so.0.9.8)
BN_bin2bn                           ./libtransmission.a(crypto.o)  (symbol belongs to implicit dependency /lib/libcrypto.so.0.9.8)
BN_bn2bin                           ./libtransmission.a(crypto.o)  (symbol belongs to implicit dependency /lib/libcrypto.so.0.9.8)
ERR_error_string_n                  ./libtransmission.a(crypto.o)  (symbol belongs to implicit dependency /lib/libcrypto.so.0.9.8)
BIO_new                             ./libtransmission.a(utils.o)  (symbol belongs to implicit dependency /lib/libcrypto.so.0.9.8)
BIO_new_mem_buf                     ./libtransmission.a(utils.o)  (symbol belongs to implicit dependency /lib/libcrypto.so.0.9.8)
SHA1_Final                          ./libtransmission.a(verify.o)  (symbol belongs to implicit dependency /lib/libcrypto.so.0.9.8)
BN_free                             ./libtransmission.a(crypto.o)  (symbol belongs to implicit dependency /lib/libcrypto.so.0.9.8)
BN_rand                             ./libtransmission.a(crypto.o)  (symbol belongs to implicit dependency /lib/libcrypto.so.0.9.8)
DH_free                             ./libtransmission.a(crypto.o)  (symbol belongs to implicit dependency /lib/libcrypto.so.0.9.8)
RC4_set_key                         ./libtransmission.a(crypto.o)  (symbol belongs to implicit dependency /lib/libcrypto.so.0.9.8)
BN_num_bits                         ./libtransmission.a(crypto.o)  (symbol belongs to implicit dependency /lib/libcrypto.so.0.9.8)
BIO_free_all                        ./libtransmission.a(utils.o)  (symbol belongs to implicit dependency /lib/libcrypto.so.0.9.8)
DH_generate_key                     ./libtransmission.a(crypto.o)  (symbol belongs to implicit dependency /lib/libcrypto.so.0.9.8)
BIO_ctrl                            ./libtransmission.a(utils.o)  (symbol belongs to implicit dependency /lib/libcrypto.so.0.9.8)
BIO_push                            ./libtransmission.a(utils.o)  (symbol belongs to implicit dependency /lib/libcrypto.so.0.9.8)
BIO_read                            ./libtransmission.a(utils.o)  (symbol belongs to implicit dependency /lib/libcrypto.so.0.9.8)
ld: fatal: symbol referencing errors. No output written to blocklist-test
collect2: ld returned 1 exit status
*** Error code 1
The following command caused the error:
echo "  CCLD  " blocklist-test;/bin/sh ../libtool --silent --tag=CC    --mode=link gcc  -I../third-party/dht  -I../third-party/  -I/usr/local/include    -I/usr/local/include    -I/usr/local/include    -D_REENTRANT -pthreads -g -O2 -std=gnu99 -ggdb3 -Wall -W -Wpointer-arith -Wformat-security -Wcast-align -Wundef -Wcast-align -Wstrict-prototypes -Wmissing-declarations -Wmissing-format-attribute -Wredundant-decls -Wnested-externs -Wunused-parameter -Wwrite-strings -Winline -Wfloat-equal -Wextra -Wdeclaration-after-statement -Winit-self   -o  blocklist-test blocklist-test.o ./libtransmission.a   ../third-party/miniupnp/libminiupnp.a  ../third-party/libnatpmp/libnatpmp.a   ../third-party/dht/libdht.a  ../third-party/libutp/libutp.a -lrt  -L/usr/local/lib -lcurl    -L/usr/local/lib -levent    -L/usr/local/lib -lssl -lcrypto -lsocket -lnsl -ldl     -lz -lnsl -lsocket -lm -lnsl -lsocket -lm
make: Fatal error: Command failed for target `blocklist-test'
Current working directory /home/nas/Desktop/transmission-2.41/libtransmission
*** Error code 1
The following command caused the error:
fail= failcom='exit 1'; \
for f in x $MAKEFLAGS; do \
  case $f in \
    *=* | --[!k]*);; \
    *k*) failcom='fail=yes';; \
  esac; \
done; \
dot_seen=no; \
target=`echo all-recursive | sed s/-recursive//`; \
list='extras  third-party  libtransmission  utils  daemon        web'; for subdir in $list; do \
  echo "Making $target in $subdir"; \
  if test "$subdir" = "."; then \
    dot_seen=yes; \
    local_target="$target-am"; \
  else \
    local_target="$target"; \
  fi; \
  (CDPATH="${ZSH_VERSION+.}:" && cd $subdir && make  $local_target) \
  || eval $failcom; \
done; \
if test "$dot_seen" = "no"; then \
  make  "$target-am" || exit 1; \
fi; test -z "$fail"
make: Fatal error: Command failed for target `all-recursive'
Not sure what the symbol belongs to would be and how to fix it.

Do you know of a way to stream line the installation with what commands i would need to do for a Solaris Express 11 build? But i'm enjoying doing it this way since it allows me to learn something new.
rb07
Posts: 1400
Joined: Sun Aug 24, 2008 3:14 am

Re: Install on Solaris Express 11 help

Post by rb07 »

rb07 wrote:ld: warning: file /usr/local/lib/libssl.a(s2_clnt.o): wrong ELF class: ELFCLASS64
This is the important message (always the first one is the main problem), it means the linker is mixing 32-bit and 64-bit libraries and object code, which is a big no-no.

Looks like the OpenSSL package was installed from the wrong source. I don't think you build it because in your system it would have been built 32-bit, and the linker says its 64-bit (and to top it off is on the wrong directory, I usually separate 32- and 64-bit libraries in different directories, in case I need both versions; some repositories don't do that -- check how Sun did it in /usr/lib, that's the right way).

I might be wrong but your system seems to be 32-bit, which is unusual for Solaris. If its 64-bit then you'll need to add to CFLAGS="-m64 -mptr64" and perhaps others to optimize the code for the CPU, also LDFLAGS="-m64".
firesafe wrote:Do you know of a way to stream line the installation with what commands i would need to do for a Solaris Express 11 build?
Once you have the required dependencies it becomes easy, I just re-use the same ./configure line.

BTW
firesafe wrote:./pkg-config
is not the way to use it, it should be in your PATH so you don't need the "./" (or changing paths to /usr/local/bin).
kacid
Posts: 4
Joined: Wed Nov 09, 2011 4:43 pm

Re: Install on Solaris Express 11 help

Post by kacid »

I can give you the packages under SunOS 5.10.
I think under 5.11 will work

transmission.xml for SMF Included
All component compiled by SunStudio 12

PS: If need write to e-mail
Post Reply