Albert ??? wrote:
I also have the same build issue with solaris.

When configure thrift from source, I found that the following works well when 
configuring thrift for solaris x86:

configure CPPFLAGS='-D__BYTE_ORDER=__LITTLE_ENDIAN -DAF_LOCAL=AF_UNIX' LIBS='-
lsocket'

1. Endianness
Solaris doesn't come with endian.h and the configure script isn't smart enough 
to figure out the endianness, so you have tell it what it is.  So when building 
on the x86 version, you have to specify that it's a little endian platform.  
Similarly you'll have to specify that you're building on a big endian platform 
when using the sparc version.

2. AF_LOCAL
From what I understand, AF_LOCAL isn't defined on solaris.  The equivalent 
would be AF_UNIX.

3. sockets
gcc for solaris doesn't automatically link with lib socket so you have to 
specify this manually as well.

When you compile your thrift application, you'll have to specify the same gcc 
options as above.

Any ideas if this will ever be fixed?




----- Original Message ----
From: Suhail Doshi <[EMAIL PROTECTED]>
To: [email protected]
Sent: Wednesday, October 29, 2008 3:59:25 AM
Subject: Thrift on OpenSolaris

I am having a problem install Thrift on OpenSolaris, might anyone be able to help with this error:

Making install in compiler/cpp
Regenerating version.h... No changes.
make  install-am
test -z "/usr/local/bin" || /opt/local/bin/gmkdir -p "/usr/local/bin"
  /bin/sh ../../libtool --mode=install /opt/local/bin/ginstall -c 'thrift' 
'/usr/local/bin/thrift'
/opt/local/bin/ginstall -c thrift /usr/local/bin/thrift
Making install in lib
Making install in cpp
/bin/sh ../../libtool --tag=CXX   --mode=compile g++ -DHAVE_CONFIG_H -I. 
-I../..  -I/usr/local/include -I./src  -Wall -g -O2 -MT Thrift.lo -MD -MP -MF 
.deps/Thrift.Tpo -c -o Thrift.lo `test -f 'src/Thrift.cpp' || echo 
'./'`src/Thrift.cpp
g++ -DHAVE_CONFIG_H -I. -I../.. -I/usr/local/include -I./src -Wall -g -O2 -MT 
Thrift.lo -MD -MP -MF .deps/Thrift.Tpo -c src/Thrift.cpp  -fPIC -DPIC -o 
.libs/Thrift.o
In file included from src/Thrift.cpp:10:
./src/protocol/TProtocol.h:34:4: #error "Cannot determine endianness"
*** Error code 1
make: Fatal error: Command failed for target `Thrift.lo'
Current working directory /home/gptkxeaa/thrift/lib/cpp
*** Error code 1
The following command caused the error:
failcom='exit 1'; \
for f in x $MAKEFLAGS; do \
  case $f in \
    *=* | --[!k]*);; \
    *k*) failcom='fail=yes';; \
  esac; \
done; \
dot_seen=no; \
target=`echo install-recursive | sed s/-recursive//`; \
list='cpp   py  erl rb'; 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; \
  (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 `install-recursive'
Current working directory /home/gptkxeaa/thrift/lib
*** Error code 1
The following command caused the error:
failcom='exit 1'; \
for f in x $MAKEFLAGS; do \
  case $f in \
    *=* | --[!k]*);; \
    *k*) failcom='fail=yes';; \
  esac; \
done; \
dot_seen=no; \
target=`echo install-recursive | sed s/-recursive//`; \
list='compiler/cpp lib if test'; 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; \
  (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 `install-recursive'



http://pastie.org/302981


      __________________________________________________________________
Looking for the perfect gift? Give the gift of Flickr!
http://www.flickr.com/gift/
Hi Albert,

It seems to have slightly progressed I have the following issue now:

Line 361 in Makefile is:

$(AWK) '    { files[$$0] = 1; } \
  END { for (i in files) print i; }'`; \
mkid -fID $$unique


Making install in py
make: Fatal error in reader: Makefile, line 361: Badly formed macro assignment
Current working directory /home/gptkxeaa/thrift/lib/py
*** Error code 1
The following command caused the error:
failcom='exit 1'; \
for f in x $MAKEFLAGS; do \
 case $f in \
   *=* | --[!k]*);; \
   *k*) failcom='fail=yes';; \
 esac; \
done; \
dot_seen=no; \
target=`echo install-recursive | sed s/-recursive//`; \
list='cpp   py  erl rb'; 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; \
 (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 `install-recursive'
Current working directory /home/gptkxeaa/thrift/lib
*** Error code 1
The following command caused the error:
failcom='exit 1'; \
for f in x $MAKEFLAGS; do \
 case $f in \
   *=* | --[!k]*);; \
   *k*) failcom='fail=yes';; \
 esac; \
done; \
dot_seen=no; \
target=`echo install-recursive | sed s/-recursive//`; \
list='compiler/cpp lib if test'; 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; \
 (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 `install-recursive'

Reply via email to