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'