Alright, I pulled down your dist and attempted to configure/make, no dice: Making check in src make[1]: Entering directory `/tmp/bmahler/mesos-0.9.0/build/src' make[1]: execvp: java/generated/org/apache/mesos: Permission denied make[1]: *** [java/generated/org/apache/mesos/Protos.java] Error 127 make[1]: *** Waiting for unfinished jobs.... /bin/sh: line 0: .: filename argument required .: usage: . filename [arguments] make[1]: *** [mesos.pb.cc] Error 2 make[1]: Leaving directory `/tmp/bmahler/mesos-0.9.0/build/src' make: *** [check-recursive] Error 1
So it appears something is going wrong during your bootstrap / configure process. Here's a link to a working dist on my end off trunk: https://dl.dropbox.com/u/8265424/mesos-0.9.0.tar.gz To test it out: $ tar xzvf mesos-0.9.0.tar.gz $ cd mesos-0.9.0 $ mkdir build && cd build $ LDFLAGS=-lunwind-x86_64 ../configure $ make check If that works for you, it's definitely in your bootstrap / configure. Sorry I haven't been able to figure this out for you! We would like to release packages rather than having users build off trunk due to issues like this. On Wed, Sep 26, 2012 at 1:40 PM, Scott Wang < [email protected]> wrote: > Hi Ben, > > Tried some of the solutions in the links but nothing really works so I > built a CentOS 5.5 this morning and getting the same error. On the > other hand, I was able to create make dist. The dist file is at > https://s3.amazonaws.com/cdreplat-tmp/mesos/mesos-0.9.0.tar.gz > > If this does not work, I am going to give up and move on. I will try > using ubuntu to see if I can successfully build the software. > > Thanks, > Scott > > > > > > On Tue, Sep 25, 2012 at 10:23 PM, Benjamin Hindman > <[email protected]> wrote: > > Hi Scott, > > > > I think that the version of libtool you are using is conflicting with > > either another version of libtool or the versions of autotools you have. > > Please check out these links for possible help: > > > > http://lists.gnu.org/archive/html/libtool/2011-01/msg00007.html > > http://code.google.com/p/snappy/issues/detail?id=43 > > > > (Got these links from searching for "The usual way to define `LIBTOOL' is > > to add `AC_PROG_LIBTOOL'".) > > > > > > On Tue, Sep 25, 2012 at 10:00 PM, Scott Wang < > > [email protected]> wrote: > > > >> Tried what you suggested, using autoconf 2.61 and run ./configure, it > >> still has the same error. I tried to run make dist and guess what, > >> it errors out. The followings are the error when I make dist: > >> > >> (python26env)[root@ItVm637 build]# make dist > >> { test ! -d mesos-0.9.0 || { find mesos-0.9.0 -type d ! -perm -200 > >> -exec chmod u+w {} ';' && rm -fr mesos-0.9.0; }; } > >> mkdir mesos-0.9.0 > >> mkdir -p -- mesos-0.9.0/bin mesos-0.9.0/include/mesos mesos-0.9.0/m4 > >> mesos-0.9.0/mpi mesos-0.9.0/src/deploy mesos-0.9.0/src/examples/java > >> mesos-0.9.0/src/examples/python mesos-0.9.0/src/java > >> mesos-0.9.0/src/java/generated/org/apache/mesos mesos-0.9.0/src/python > >> mesos-0.9.0/support > >> list='. third_party src ec2 hadoop'; for subdir in $list; do \ > >> if test "$subdir" = .; then :; else \ > >> test -d "mesos-0.9.0/$subdir" \ > >> || mkdir -p -- "mesos-0.9.0/$subdir" \ > >> || exit 1; \ > >> distdir=`CDPATH="${ZSH_VERSION+.}:" && cd mesos-0.9.0 && > pwd`; > >> \ > >> top_distdir=`CDPATH="${ZSH_VERSION+.}:" && cd mesos-0.9.0 && > >> pwd`; \ > >> (cd $subdir && \ > >> make \ > >> top_distdir="$top_distdir" \ > >> distdir="$distdir/$subdir" \ > >> distdir) \ > >> || exit 1; \ > >> fi; \ > >> done > >> make[1]: Entering directory `/root/download/mesos_0_9/build/third_party' > >> list='libprocess'; for subdir in $list; do \ > >> if test "$subdir" = .; then :; else \ > >> test -d > >> "/root/download/mesos_0_9/build/mesos-0.9.0/third_party/$subdir" \ > >> || mkdir -p -- > >> "/root/download/mesos_0_9/build/mesos-0.9.0/third_party/$subdir" \ > >> || exit 1; \ > >> distdir=`CDPATH="${ZSH_VERSION+.}:" && cd > >> /root/download/mesos_0_9/build/mesos-0.9.0/third_party && pwd`; \ > >> top_distdir=`CDPATH="${ZSH_VERSION+.}:" && cd > >> /root/download/mesos_0_9/build/mesos-0.9.0 && pwd`; \ > >> (cd $subdir && \ > >> make \ > >> top_distdir="$top_distdir" \ > >> distdir="$distdir/$subdir" \ > >> distdir) \ > >> || exit 1; \ > >> fi; \ > >> done > >> make[2]: Entering directory > >> `/root/download/mesos_0_9/build/third_party/libprocess' > >> { test ! -d > >> /root/download/mesos_0_9/build/mesos-0.9.0/third_party/libprocess > >> || { find > /root/download/mesos_0_9/build/mesos-0.9.0/third_party/libprocess > >> -type d ! -perm -200 -exec chmod u+w {} ';' && rm -fr > >> /root/download/mesos_0_9/build/mesos-0.9.0/third_party/libprocess; }; > >> } > >> mkdir /root/download/mesos_0_9/build/mesos-0.9.0/third_party/libprocess > >> mkdir -p -- > >> /root/download/mesos_0_9/build/mesos-0.9.0/third_party/libprocess/m4 > >> > >> > /root/download/mesos_0_9/build/mesos-0.9.0/third_party/libprocess/third_party > >> list='third_party .'; for subdir in $list; do \ > >> if test "$subdir" = .; then :; else \ > >> test -d > >> > "/root/download/mesos_0_9/build/mesos-0.9.0/third_party/libprocess/$subdir" > >> \ > >> || mkdir -p -- > >> > "/root/download/mesos_0_9/build/mesos-0.9.0/third_party/libprocess/$subdir" > >> \ > >> || exit 1; \ > >> distdir=`CDPATH="${ZSH_VERSION+.}:" && cd > >> /root/download/mesos_0_9/build/mesos-0.9.0/third_party/libprocess && > >> pwd`; \ > >> top_distdir=`CDPATH="${ZSH_VERSION+.}:" && cd > >> /root/download/mesos_0_9/build/mesos-0.9.0 && pwd`; \ > >> (cd $subdir && \ > >> make \ > >> top_distdir="$top_distdir" \ > >> distdir="$distdir/$subdir" \ > >> distdir) \ > >> || exit 1; \ > >> fi; \ > >> done > >> make[3]: Entering directory > >> `/root/download/mesos_0_9/build/third_party/libprocess/third_party' > >> make[3]: Leaving directory > >> `/root/download/mesos_0_9/build/third_party/libprocess/third_party' > >> find /root/download/mesos_0_9/build/mesos-0.9.0/third_party/libprocess > >> -type d ! -perm -755 -exec chmod a+rwx,go+rx {} \; -o \ > >> ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ > >> ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ > >> ! -type d ! -perm -444 -exec /bin/sh > >> /root/download/mesos_0_9/third_party/libprocess/install-sh -c -m a+r > >> {} {} \; \ > >> || chmod -R a+r > >> /root/download/mesos_0_9/build/mesos-0.9.0/third_party/libprocess > >> make[2]: Leaving directory > >> `/root/download/mesos_0_9/build/third_party/libprocess' > >> make[1]: Leaving directory `/root/download/mesos_0_9/build/third_party' > >> make[1]: Entering directory `/root/download/mesos_0_9/build/src' > >> mkdir -p -- > >> /root/download/mesos_0_9/build/mesos-0.9.0/src/../../src/examples/java > >> > >> > /root/download/mesos_0_9/build/mesos-0.9.0/src/../../src/java/generated/org/apache/mesos > >> > >> > /root/download/mesos_0_9/build/mesos-0.9.0/src/../../src/java/src/org/apache/mesos > >> > >> > /root/download/mesos_0_9/build/mesos-0.9.0/src/../../src/java/src/org/apache/mesos/state > >> /root/download/mesos_0_9/build/mesos-0.9.0/src/../include/mesos > >> /root/download/mesos_0_9/build/mesos-0.9.0/src/../third_party > >> /root/download/mesos_0_9/build/mesos-0.9.0/src/conf > >> /root/download/mesos_0_9/build/mesos-0.9.0/src/deploy > >> /root/download/mesos_0_9/build/mesos-0.9.0/src/examples/python > >> /root/download/mesos_0_9/build/mesos-0.9.0/src/linux > >> /root/download/mesos_0_9/build/mesos-0.9.0/src/python/native > >> /root/download/mesos_0_9/build/mesos-0.9.0/src/python/src > >> /root/download/mesos_0_9/build/mesos-0.9.0/src/scripts > >> /root/download/mesos_0_9/build/mesos-0.9.0/src/slave > >> > >> > /root/download/mesos_0_9/build/mesos-0.9.0/src/tests/external/CgroupsIsolation > >> /root/download/mesos_0_9/build/mesos-0.9.0/src/tests/external/KillTree > >> > /root/download/mesos_0_9/build/mesos-0.9.0/src/tests/external/LxcIsolation > >> > >> > /root/download/mesos_0_9/build/mesos-0.9.0/src/tests/external/SampleFrameworks > >> /root/download/mesos_0_9/build/mesos-0.9.0/src/webui/bottle-0.8.3 > >> /root/download/mesos_0_9/build/mesos-0.9.0/src/webui/common > >> /root/download/mesos_0_9/build/mesos-0.9.0/src/webui/master > >> /root/download/mesos_0_9/build/mesos-0.9.0/src/webui/master/static > >> > >> > /root/download/mesos_0_9/build/mesos-0.9.0/src/webui/master/static/bootstrap/css > >> > >> > /root/download/mesos_0_9/build/mesos-0.9.0/src/webui/master/static/bootstrap/ico > >> > >> > /root/download/mesos_0_9/build/mesos-0.9.0/src/webui/master/static/bootstrap/img > >> > >> > /root/download/mesos_0_9/build/mesos-0.9.0/src/webui/master/static/bootstrap/img/glyphicons > >> > >> > /root/download/mesos_0_9/build/mesos-0.9.0/src/webui/master/static/bootstrap/js > >> > >> > /root/download/mesos_0_9/build/mesos-0.9.0/src/webui/master/static/bootstrap/js/google-code-prettify > >> /root/download/mesos_0_9/build/mesos-0.9.0/src/webui/slave > >> /root/download/mesos_0_9/build/mesos-0.9.0/src/webui/static > >> make[1]: Leaving directory `/root/download/mesos_0_9/build/src' > >> make[1]: Entering directory `/root/download/mesos_0_9/build/ec2' > >> mkdir -p -- > >> > /root/download/mesos_0_9/build/mesos-0.9.0/ec2/deploy.amazon64/root/ephemeral-hdfs/conf > >> > >> > /root/download/mesos_0_9/build/mesos-0.9.0/ec2/deploy.amazon64/root/mesos-ec2 > >> > >> > /root/download/mesos_0_9/build/mesos-0.9.0/ec2/deploy.amazon64/root/mesos-ec2/hadoop-framework-conf > >> > >> > /root/download/mesos_0_9/build/mesos-0.9.0/ec2/deploy.amazon64/root/mesos-ec2/haproxy+apache > >> > >> > /root/download/mesos_0_9/build/mesos-0.9.0/ec2/deploy.amazon64/root/mesos-ec2/hypertable > >> > >> > /root/download/mesos_0_9/build/mesos-0.9.0/ec2/deploy.amazon64/root/persistent-hdfs/conf > >> > >> > /root/download/mesos_0_9/build/mesos-0.9.0/ec2/deploy.amazon64/root/spark/conf > >> > >> > /root/download/mesos_0_9/build/mesos-0.9.0/ec2/deploy.generic/root/mesos-ec2 > >> make[1]: Leaving directory `/root/download/mesos_0_9/build/ec2' > >> make[1]: Entering directory `/root/download/mesos_0_9/build/hadoop' > >> make[1]: *** No rule to make target `TUTORIAL.sh', needed by `distdir'. > >> Stop. > >> make[1]: Leaving directory `/root/download/mesos_0_9/build/hadoop' > >> make: *** [distdir] Error 1 > >> > >> Thanks, > >> Scott > >> > >> On Tue, Sep 25, 2012 at 5:54 PM, Benjamin Mahler <[email protected]> > >> wrote: > >> > Shoot, still mysterious, I was hoping that would give me the offending > >> > line of the generated makefile. > >> > > >> > I'm a bit stumped here.. so bear with me. > >> > > >> > Here are some differences: > >> > 1. We use autoconf 2.61 > >> > 2. We run ./configure (rather than ../configure.centos.5.4) > >> > 3. Well.. we're running 5.5 rather than 5.8. > >> > > >> > If you're willing to try 1 and 2 on a fresh pull, that would be great. > >> > As a last ditch effort if the same error occurs, run a make dist and > >> > send me the zip (it's pretty big so you'll have to send it outside of > >> > email). > >> > > >> > On Tue, Sep 25, 2012 at 4:33 PM, Scott Wang > >> > <[email protected]> wrote: > >> >> Thank you for helping me, I am so grateful that you are willing/able > >> >> to help. Enclosed is make -d output log. I did not cc the community > >> >> because it's a big file. > >> >> > >> >> Thanks, > >> >> Scott > >> >> > >> >> On Tue, Sep 25, 2012 at 3:29 PM, Benjamin Mahler < > [email protected]> > >> wrote: > >> >>> (+mesos-dev again, trying to get past the spam filter through > >> plaintext) > >> >>> > >> >>> I'm a bit stumped here, can you also provide me with debug output > from > >> make? > >> >>> > >> >>> $ make -d > >> >>> > >> >>> Thanks for your patience with this! > >> >>> > >> >>> On Tue, Sep 25, 2012 at 3:00 PM, Scott Wang > >> >>> <[email protected]> wrote: > >> >>>> > >> >>>> Enclosed is the log for the steps I took to build mesos. > >> >>>> > >> >>>> Thanks, > >> >>>> Scott > >> >>>> > >> >>>> On Tue, Sep 25, 2012 at 2:53 PM, Benjamin Mahler < > [email protected]> > >> wrote: > >> >>>> > Can you provide: > >> >>>> > -the command you're using to make > >> >>>> > -the full build output > >> >>>> > > >> >>>> > > >> >>>> > On Tue, Sep 25, 2012 at 2:42 PM, Scott Wang > >> >>>> > <[email protected]> wrote: > >> >>>> >> > >> >>>> >> Now that I have libunwind installed, the configure step is ok > now. > >> >>>> >> The errors now are druing compilation as what I have indicated > last > >> >>>> >> time. > >> >>>> >> > >> >>>> >> ================================ The end of compilation step > that > >> has > >> >>>> >> errors =================== > >> >>>> >> > >> >>>> >> libtool: link: (cd .libs/libzookeeper_mt.lax/libzkmt.a && ar x > >> >>>> >> > >> >>>> >> > >> > "/root/download/mesos_0_9/build/third_party/zookeeper-3.3.4/src/c/./.libs/libzkmt.a") > >> >>>> >> libtool: link: (cd .libs/libzookeeper_mt.lax/libhashtable.a && > ar x > >> >>>> >> > >> >>>> >> > >> > "/root/download/mesos_0_9/build/third_party/zookeeper-3.3.4/src/c/./.libs/libhashtable.a") > >> >>>> >> libtool: link: ar cru .libs/libzookeeper_mt.a > >> >>>> >> .libs/libzookeeper_mt.lax/libzkmt.a/libzkmt_la-mt_adaptor.o > >> >>>> >> .libs/libzookeeper_mt.lax/libzkmt.a/libzkmt_la-recordio.o > >> >>>> >> .libs/libzookeeper_mt.lax/libzkmt.a/libzkmt_la-zk_hashtable.o > >> >>>> >> .libs/libzookeeper_mt.lax/libzkmt.a/libzkmt_la-zk_log.o > >> >>>> >> .libs/libzookeeper_mt.lax/libzkmt.a/libzkmt_la-zookeeper.jute.o > >> >>>> >> .libs/libzookeeper_mt.lax/libzkmt.a/libzkmt_la-zookeeper.o > >> >>>> >> .libs/libzookeeper_mt.lax/libhashtable.a/hashtable.o > >> >>>> >> .libs/libzookeeper_mt.lax/libhashtable.a/hashtable_itr.o > >> >>>> >> libtool: link: ranlib .libs/libzookeeper_mt.a > >> >>>> >> libtool: link: rm -fr .libs/libzookeeper_mt.lax > >> >>>> >> libtool: link: ( cd ".libs" && rm -f "libzookeeper_mt.la" && > ln -s > >> >>>> >> "../libzookeeper_mt.la" "libzookeeper_mt.la" ) > >> >>>> >> gcc -DHAVE_CONFIG_H -I. -I./include -I./tests -I./generated > -Wall > >> >>>> >> -Werror -g -O2 -D_GNU_SOURCE -MT cli.o -MD -MP -MF > .deps/cli.Tpo > >> -c > >> >>>> >> -o cli.o `test -f 'src/cli.c' || echo './'`src/cli.c > >> >>>> >> mv -f .deps/cli.Tpo .deps/cli.Po > >> >>>> >> /bin/sh ./libtool --tag=CC --mode=link gcc -Wall -Werror -g > -O2 > >> >>>> >> -D_GNU_SOURCE -o cli_st cli.o libzookeeper_st.la-lunwind-x86_64 > >> >>>> >> libtool: link: gcc -Wall -Werror -g -O2 -D_GNU_SOURCE -o cli_st > >> cli.o > >> >>>> >> ./.libs/libzookeeper_st.a -lm -lunwind-x86_64 > >> >>>> >> gcc -DHAVE_CONFIG_H -I. -I./include -I./tests -I./generated > >> >>>> >> -DTHREADED -g -O2 -D_GNU_SOURCE -MT cli_mt-cli.o -MD -MP -MF > >> >>>> >> .deps/cli_mt-cli.Tpo -c -o cli_mt-cli.o `test -f 'src/cli.c' || > >> echo > >> >>>> >> './'`src/cli.c > >> >>>> >> mv -f .deps/cli_mt-cli.Tpo .deps/cli_mt-cli.Po > >> >>>> >> /bin/sh ./libtool --tag=CC --mode=link gcc -DTHREADED -g -O2 > >> >>>> >> -D_GNU_SOURCE -o cli_mt cli_mt-cli.o libzookeeper_mt.la > >> >>>> >> -lunwind-x86_64 > >> >>>> >> libtool: link: gcc -DTHREADED -g -O2 -D_GNU_SOURCE -o cli_mt > >> >>>> >> cli_mt-cli.o ./.libs/libzookeeper_mt.a -lm -lpthread > >> -lunwind-x86_64 > >> >>>> >> gcc -DHAVE_CONFIG_H -I. -I./include -I./tests -I./generated > >> >>>> >> -DTHREADED -g -O2 -D_GNU_SOURCE -MT load_gen-load_gen.o -MD -MP > -MF > >> >>>> >> .deps/load_gen-load_gen.Tpo -c -o load_gen-load_gen.o `test -f > >> >>>> >> 'src/load_gen.c' || echo './'`src/load_gen.c > >> >>>> >> mv -f .deps/load_gen-load_gen.Tpo .deps/load_gen-load_gen.Po > >> >>>> >> /bin/sh ./libtool --tag=CC --mode=link gcc -DTHREADED -g -O2 > >> >>>> >> -D_GNU_SOURCE -o load_gen load_gen-load_gen.o > libzookeeper_mt.la > >> >>>> >> -lunwind-x86_64 > >> >>>> >> libtool: link: gcc -DTHREADED -g -O2 -D_GNU_SOURCE -o load_gen > >> >>>> >> load_gen-load_gen.o ./.libs/libzookeeper_mt.a -lm -lpthread > >> >>>> >> -lunwind-x86_64 > >> >>>> >> make[5]: Leaving directory > >> >>>> >> > `/root/download/mesos_0_9/build/third_party/zookeeper-3.3.4/src/c' > >> >>>> >> make[4]: Leaving directory > >> >>>> >> > `/root/download/mesos_0_9/build/third_party/zookeeper-3.3.4/src/c' > >> >>>> >> make[3]: Leaving directory > >> `/root/download/mesos_0_9/build/third_party' > >> >>>> >> make[2]: Leaving directory > >> `/root/download/mesos_0_9/build/third_party' > >> >>>> >> make[1]: Leaving directory > >> `/root/download/mesos_0_9/build/third_party' > >> >>>> >> Making all in src > >> >>>> >> make[1]: Entering directory `/root/download/mesos_0_9/build/src' > >> >>>> >> /bin/sh: line 0: .: filename argument required > >> >>>> >> .: usage: . filename [arguments] > >> >>>> >> make[1]: *** [mesos.pb.cc] Error 2 > >> >>>> >> make[1]: Leaving directory `/root/download/mesos_0_9/build/src' > >> >>>> >> make: *** [all-recursive] Error 1 > >> >>>> >> ==================================== end > >> >>>> >> ========================================= > >> >>>> >> > >> >>>> >> Do you have any thoughts on this error. > >> >>>> >> > >> >>>> >> Thanks, > >> >>>> >> Scott > >> >>>> >> > >> >>>> >> > >> >>>> >> On Tue, Sep 25, 2012 at 1:56 PM, Benjamin Mahler < > >> [email protected]> > >> >>>> >> wrote: > >> >>>> >> > +mesos-dev (trying to get this back on the mailing list) > >> >>>> >> > > >> >>>> >> > Looks like you don't have the unwind library installed. Can > you > >> install > >> >>>> >> > libunwind? Here's what we have on one of our build machines: > >> >>>> >> > > >> >>>> >> > $ find /usr/lib/ -name "*unwind*" > >> >>>> >> > /usr/lib/debug/usr/lib64/libunwind.so.7.0.0.debug > >> >>>> >> > /usr/lib/debug/usr/lib64/libunwind-setjmp.so.0.0.0.debug > >> >>>> >> > /usr/lib/debug/usr/lib64/libunwind-setjmp.so.debug > >> >>>> >> > /usr/lib/debug/usr/lib64/libunwind-setjmp.so.0.debug > >> >>>> >> > /usr/lib/debug/usr/lib64/libunwind-x86_64.so.7.debug > >> >>>> >> > /usr/lib/debug/usr/lib64/libunwind.so.7.debug > >> >>>> >> > /usr/lib/debug/usr/lib64/libunwind-x86_64.so.debug > >> >>>> >> > /usr/lib/debug/usr/lib64/libunwind-x86_64.so.7.0.0.debug > >> >>>> >> > /usr/lib/debug/usr/lib64/libunwind-generic.so.debug > >> >>>> >> > /usr/lib/debug/usr/lib64/libunwind.so.debug > >> >>>> >> > /usr/lib/gcc/x86_64-redhat-linux/4.1.1/include/unwind.h > >> >>>> >> > > >> >>>> >> > If that _still_ doesn't work for you, you may need to add the > >> following > >> >>>> >> > LD > >> >>>> >> > flag to your configure: > >> >>>> >> > > >> >>>> >> > $ LDFLAGS=-lunwind-x86_64 ./configure > >> >>>> >> > > >> >>>> >> > Lastly, things look good, you've got libtool >= 2.2, autoconf > >= > >> 2.61, > >> >>>> >> > your > >> >>>> >> > gcc version is ok as well. We've got a build machine running > >> CentOS 5.5. > >> >>>> >> > > >> >>>> >> > There's lots of room for improvement in our build process / > >> >>>> >> > documentation. > >> >>>> >> > We need to flush out the system requirements, but off the top > of > >> my head > >> >>>> >> > here's what I had to install on an ubuntu VM from a fresh > >> install: > >> >>>> >> > > >> >>>> >> > autotools (automake, autoconf >= 2.61, libtool >= 2.2) > >> >>>> >> > gcc 4.1 and above > >> >>>> >> > jdk 1.6 and above > >> >>>> >> > libcppunit-dev > >> >>>> >> > python 2.6.* or 2.7.* > >> >>>> >> > > >> >>>> >> > On Tue, Sep 25, 2012 at 1:25 PM, Scott Wang > >> >>>> >> > <[email protected]> wrote: > >> >>>> >> >> > >> >>>> >> >> Ben, > >> >>>> >> >> > >> >>>> >> >> Thanks! That works for the bootstrap step. I used the > >> >>>> >> >> configure.centos-5.4-64 and it generated the following > erros. I > >> >>>> >> >> attached the config.log in the email. > >> >>>> >> >> > >> >>>> >> >> ========================== error when left > >> LIBS=-lunwind-x86_64 in > >> >>>> >> >> configure file ============ > >> >>>> >> >> (python26env)[root@ItVm637 build]# > >> ../configure.centos-5.4-64.orig > >> >>>> >> >> checking build system type... x86_64-unknown-linux-gnu > >> >>>> >> >> checking host system type... x86_64-unknown-linux-gnu > >> >>>> >> >> checking target system type... x86_64-unknown-linux-gnu > >> >>>> >> >> checking for a BSD-compatible install... /usr/bin/install -c > >> >>>> >> >> checking whether build environment is sane... yes > >> >>>> >> >> checking for gawk... gawk > >> >>>> >> >> checking whether make sets $(MAKE)... yes > >> >>>> >> >> checking how to print strings... printf > >> >>>> >> >> checking for style of include used by make... GNU > >> >>>> >> >> checking for gcc... gcc > >> >>>> >> >> checking whether the C compiler works... no > >> >>>> >> >> configure: error: in `/root/download/mesos_0_9/build': > >> >>>> >> >> configure: error: C compiler cannot create executables > >> >>>> >> >> See `config.log' for more details > >> >>>> >> >> > >> >>>> >> >> =========================== end > >> >>>> >> >> ============================================ > >> >>>> >> >> > >> >>>> >> >> 2. I commented out the LIBS=-lunwind-x86_64 in the configure > >> CentOS > >> >>>> >> >> file and got through the configuration step but errors out > >> during the > >> >>>> >> >> compilation step. > >> >>>> >> >> > >> >>>> >> >> ========================== error section > >> >>>> >> >> ======================================= > >> >>>> >> >> > >> >>>> >> >> libtool: link: ranlib .libs/libzkmt.a > >> >>>> >> >> libtool: link: ( cd ".libs" && rm -f "libzkmt.la" && ln -s > >> >>>> >> >> "../libzkmt.la" "libzkmt.la" ) > >> >>>> >> >> /bin/sh ./libtool --tag=CC --mode=link gcc -Wall -Werror > -g > >> -O2 > >> >>>> >> >> -D_GNU_SOURCE -no-undefined -version-info 2 > >> -export-symbols-regex > >> >>>> >> >> > >> >>>> >> >> > >> >>>> >> >> > >> > '(zoo_|zookeeper_|zhandle|Z|format_log_message|log_message|logLevel|deallocate_|zerror|is_unrecoverable)' > >> >>>> >> >> -o libzookeeper_mt.la -rpath /usr/local/lib libzkmt.la > >> >>>> >> >> libhashtable.la -lpthread > >> >>>> >> >> libtool: link: (cd .libs/libzookeeper_mt.lax/libzkmt.a && ar > x > >> >>>> >> >> > >> >>>> >> >> > >> >>>> >> >> > >> > "/root/download/mesos_0_9/build/third_party/zookeeper-3.3.4/src/c/./.libs/libzkmt.a") > >> >>>> >> >> libtool: link: (cd .libs/libzookeeper_mt.lax/libhashtable.a > && > >> ar x > >> >>>> >> >> > >> >>>> >> >> > >> >>>> >> >> > >> > "/root/download/mesos_0_9/build/third_party/zookeeper-3.3.4/src/c/./.libs/libhashtable.a") > >> >>>> >> >> libtool: link: ar cru .libs/libzookeeper_mt.a > >> >>>> >> >> .libs/libzookeeper_mt.lax/libzkmt.a/libzkmt_la-mt_adaptor.o > >> >>>> >> >> .libs/libzookeeper_mt.lax/libzkmt.a/libzkmt_la-recordio.o > >> >>>> >> >> .libs/libzookeeper_mt.lax/libzkmt.a/libzkmt_la-zk_hashtable.o > >> >>>> >> >> .libs/libzookeeper_mt.lax/libzkmt.a/libzkmt_la-zk_log.o > >> >>>> >> >> > .libs/libzookeeper_mt.lax/libzkmt.a/libzkmt_la-zookeeper.jute.o > >> >>>> >> >> .libs/libzookeeper_mt.lax/libzkmt.a/libzkmt_la-zookeeper.o > >> >>>> >> >> .libs/libzookeeper_mt.lax/libhashtable.a/hashtable.o > >> >>>> >> >> .libs/libzookeeper_mt.lax/libhashtable.a/hashtable_itr.o > >> >>>> >> >> libtool: link: ranlib .libs/libzookeeper_mt.a > >> >>>> >> >> libtool: link: rm -fr .libs/libzookeeper_mt.lax > >> >>>> >> >> libtool: link: ( cd ".libs" && rm -f "libzookeeper_mt.la" && > >> ln -s > >> >>>> >> >> "../libzookeeper_mt.la" "libzookeeper_mt.la" ) > >> >>>> >> >> gcc -DHAVE_CONFIG_H -I. -I./include -I./tests -I./generated > >> -Wall > >> >>>> >> >> -Werror -g -O2 -D_GNU_SOURCE -MT cli.o -MD -MP -MF > >> .deps/cli.Tpo -c > >> >>>> >> >> -o cli.o `test -f 'src/cli.c' || echo './'`src/cli.c > >> >>>> >> >> mv -f .deps/cli.Tpo .deps/cli.Po > >> >>>> >> >> /bin/sh ./libtool --tag=CC --mode=link gcc -Wall -Werror > -g > >> -O2 > >> >>>> >> >> -D_GNU_SOURCE -o cli_st cli.o libzookeeper_st.la > >> >>>> >> >> libtool: link: gcc -Wall -Werror -g -O2 -D_GNU_SOURCE -o > cli_st > >> cli.o > >> >>>> >> >> ./.libs/libzookeeper_st.a -lm > >> >>>> >> >> gcc -DHAVE_CONFIG_H -I. -I./include -I./tests -I./generated > >> >>>> >> >> -DTHREADED -g -O2 -D_GNU_SOURCE -MT cli_mt-cli.o -MD -MP -MF > >> >>>> >> >> .deps/cli_mt-cli.Tpo -c -o cli_mt-cli.o `test -f 'src/cli.c' > || > >> echo > >> >>>> >> >> './'`src/cli.c > >> >>>> >> >> mv -f .deps/cli_mt-cli.Tpo .deps/cli_mt-cli.Po > >> >>>> >> >> /bin/sh ./libtool --tag=CC --mode=link gcc -DTHREADED -g > -O2 > >> >>>> >> >> -D_GNU_SOURCE -o cli_mt cli_mt-cli.o libzookeeper_mt.la > >> >>>> >> >> libtool: link: gcc -DTHREADED -g -O2 -D_GNU_SOURCE -o cli_mt > >> >>>> >> >> cli_mt-cli.o ./.libs/libzookeeper_mt.a -lm -lpthread > >> >>>> >> >> gcc -DHAVE_CONFIG_H -I. -I./include -I./tests -I./generated > >> >>>> >> >> -DTHREADED -g -O2 -D_GNU_SOURCE -MT load_gen-load_gen.o -MD > -MP > >> -MF > >> >>>> >> >> .deps/load_gen-load_gen.Tpo -c -o load_gen-load_gen.o `test > -f > >> >>>> >> >> 'src/load_gen.c' || echo './'`src/load_gen.c > >> >>>> >> >> mv -f .deps/load_gen-load_gen.Tpo .deps/load_gen-load_gen.Po > >> >>>> >> >> /bin/sh ./libtool --tag=CC --mode=link gcc -DTHREADED -g > -O2 > >> >>>> >> >> -D_GNU_SOURCE -o load_gen load_gen-load_gen.o > >> libzookeeper_mt.la > >> >>>> >> >> libtool: link: gcc -DTHREADED -g -O2 -D_GNU_SOURCE -o > load_gen > >> >>>> >> >> load_gen-load_gen.o ./.libs/libzookeeper_mt.a -lm -lpthread > >> >>>> >> >> make[5]: Leaving directory > >> >>>> >> >> > >> `/root/download/mesos_0_9/build/third_party/zookeeper-3.3.4/src/c' > >> >>>> >> >> make[4]: Leaving directory > >> >>>> >> >> > >> `/root/download/mesos_0_9/build/third_party/zookeeper-3.3.4/src/c' > >> >>>> >> >> make[3]: Leaving directory > >> `/root/download/mesos_0_9/build/third_party' > >> >>>> >> >> make[2]: Leaving directory > >> `/root/download/mesos_0_9/build/third_party' > >> >>>> >> >> make[1]: Leaving directory > >> `/root/download/mesos_0_9/build/third_party' > >> >>>> >> >> Making all in src > >> >>>> >> >> make[1]: Entering directory > `/root/download/mesos_0_9/build/src' > >> >>>> >> >> /bin/sh: line 0: .: filename argument required > >> >>>> >> >> .: usage: . filename [arguments] > >> >>>> >> >> make[1]: *** [mesos.pb.cc] Error 2 > >> >>>> >> >> make[1]: Leaving directory > `/root/download/mesos_0_9/build/src' > >> >>>> >> >> make: *** [all-recursive] Error 1 > >> >>>> >> >> ================================ end > >> ================================== > >> >>>> >> >> > >> >>>> >> >> Ben, I like to thank you for continuing to help me, I would > >> really > >> >>>> >> >> like to have mesos running in our environment but if I can > NOT. > >> Could > >> >>>> >> >> you tell me the system you used to successfully built the > latest > >> >>>> >> >> mesos. Mainly, linux OS version and other software > components > >> that > >> >>>> >> >> needed. I will provision a machine in my end to test the > >> build. > >> >>>> >> >> > >> >>>> >> >> Thanks, > >> >>>> >> >> Scott > >> >>>> >> >> > >> >>>> >> >> On Tue, Sep 25, 2012 at 11:26 AM, Benjamin Mahler < > >> [email protected]> > >> >>>> >> >> wrote: > >> >>>> >> >> > Hey Scott, > >> >>>> >> >> > > >> >>>> >> >> > I should have looked more closely at your original email. I > >> see you > >> >>>> >> >> > have > >> >>>> >> >> > libtool 1.5.22, however, we require 2.2 or above. > >> >>>> >> >> > > >> >>>> >> >> > Let me know if that gets it working for you, > >> >>>> >> >> > Ben > >> >>>> >> >> > > >> >>>> >> >> > On Mon, Sep 24, 2012 at 9:40 PM, Scott Wang > >> >>>> >> >> > <[email protected]> wrote: > >> >>>> >> >> >> > >> >>>> >> >> >> No, it did not work. Those errors were generated while > >> libtool was > >> >>>> >> >> >> installed. > >> >>>> >> >> >> > >> >>>> >> >> >> Thanks, > >> >>>> >> >> >> > >> >>>> >> >> >> Scott > >> >>>> >> >> >> > >> >>>> >> >> >> On Sep 24, 2012 6:06 PM, "Benjamin Mahler" < > >> [email protected]> > >> >>>> >> >> >> wrote: > >> >>>> >> >> >>> > >> >>>> >> >> >>> Alright, does bootstrap work for you now? Or you had it > >> installed > >> >>>> >> >> >>> already? > >> >>>> >> >> >>> > >> >>>> >> >> >>> On Mon, Sep 24, 2012 at 5:56 PM, Scott Wang > >> >>>> >> >> >>> <[email protected]> wrote: > >> >>>> >> >> >>>> > >> >>>> >> >> >>>> I just want to confirm that I do have it installed the > >> installed > >> >>>> >> >> >>>> version > >> >>>> >> >> >>>> is 1.5.22 from libtool --version. > >> >>>> >> >> >>>> > >> >>>> >> >> >>>> yum install libtool. > >> >>>> >> >> >>>> > >> >>>> >> >> >>>> Thanks, > >> >>>> >> >> >>>> Scott > >> >>>> >> >> >>>> > >> >>>> >> >> >>>> > >> >>>> >> >> >>>> On Mon, Sep 24, 2012 at 4:07 PM, Benjamin Mahler > >> >>>> >> >> >>>> <[email protected]> > >> >>>> >> >> >>>> wrote: > >> >>>> >> >> >>>>> > >> >>>> >> >> >>>>> Hi Scott, I'm having issues with the mailing list, so > >> replying to > >> >>>> >> >> >>>>> you > >> >>>> >> >> >>>>> directly instead. > >> >>>> >> >> >>>>> > >> >>>> >> >> >>>>> Looks like you don't have libtool installed (which is > >> required to > >> >>>> >> >> >>>>> bootstrap), can you confirm and install it if missing? > >> >>>> >> >> >>>>> > >> >>>> >> >> >>>>> On Mon, Sep 24, 2012 at 3:38 PM, Scott Wang > >> >>>> >> >> >>>>> <[email protected]> wrote: > >> >>>> >> >> >>>>>> > >> >>>> >> >> >>>>>> I am trying to build Mesos from the last pull from > >> github and > >> >>>> >> >> >>>>>> get > >> >>>> >> >> >>>>>> the > >> >>>> >> >> >>>>>> following errors. Does anyone know how to resolve the > >> problems? > >> >>>> >> >> >>>>>> The > >> >>>> >> >> >>>>>> OS version is CentOS 5.8, automake (GNU automake) > 1.9.6, > >> >>>> >> >> >>>>>> autoconf > >> >>>> >> >> >>>>>> (GNU > >> >>>> >> >> >>>>>> Autoconf) 2.68 and libtool-1.5.22. The errors I got > >> were: > >> >>>> >> >> >>>>>> > >> >>>> >> >> >>>>>> [root@ItVm637 mesos_0_9]# ./bootstrap > >> >>>> >> >> >>>>>> autoreconf: Entering directory `.' > >> >>>> >> >> >>>>>> autoreconf: configure.ac: not using Gettext > >> >>>> >> >> >>>>>> autoreconf: running: aclocal -I m4 > >> >>>> >> >> >>>>>> autoreconf: configure.ac: tracing > >> >>>> >> >> >>>>>> configure.ac:34: warning: The macro `AC_FOREACH' is > >> obsolete. > >> >>>> >> >> >>>>>> configure.ac:34: You should run autoupdate. > >> >>>> >> >> >>>>>> ../../lib/autoconf/general.m4:196: AC_FOREACH is > expanded > >> >>>> >> >> >>>>>> from... > >> >>>> >> >> >>>>>> aclocal.m4:666: _AM_SET_OPTIONS is expanded from... > >> >>>> >> >> >>>>>> aclocal.m4:368: AM_INIT_AUTOMAKE is expanded from... > >> >>>> >> >> >>>>>> configure.ac:34: the top level > >> >>>> >> >> >>>>>> configure.ac:201: warning: The macro `AC_LANG_SAVE' > is > >> obsolete. > >> >>>> >> >> >>>>>> configure.ac:201: You should run autoupdate. > >> >>>> >> >> >>>>>> ../../lib/autoconf/lang.m4:126: AC_LANG_SAVE is > expanded > >> from... > >> >>>> >> >> >>>>>> m4/acx_pthread.m4:63: ACX_PTHREAD is expanded from... > >> >>>> >> >> >>>>>> configure.ac:201: the top level > >> >>>> >> >> >>>>>> configure.ac:201: warning: The macro `AC_LANG_C' is > >> obsolete. > >> >>>> >> >> >>>>>> configure.ac:201: You should run autoupdate. > >> >>>> >> >> >>>>>> ../../lib/autoconf/c.m4:73: AC_LANG_C is expanded > from... > >> >>>> >> >> >>>>>> m4/acx_pthread.m4:63: ACX_PTHREAD is expanded from... > >> >>>> >> >> >>>>>> configure.ac:201: the top level > >> >>>> >> >> >>>>>> configure.ac:201: warning: The macro `AC_TRY_LINK' is > >> obsolete. > >> >>>> >> >> >>>>>> configure.ac:201: You should run autoupdate. > >> >>>> >> >> >>>>>> ../../lib/autoconf/general.m4:2688: AC_TRY_LINK is > >> expanded > >> >>>> >> >> >>>>>> from... > >> >>>> >> >> >>>>>> m4/acx_pthread.m4:63: ACX_PTHREAD is expanded from... > >> >>>> >> >> >>>>>> configure.ac:201: the top level > >> >>>> >> >> >>>>>> configure.ac:201: warning: The macro > `AC_LANG_RESTORE' > >> is > >> >>>> >> >> >>>>>> obsolete. > >> >>>> >> >> >>>>>> configure.ac:201: You should run autoupdate. > >> >>>> >> >> >>>>>> ../../lib/autoconf/lang.m4:135: AC_LANG_RESTORE is > >> expanded > >> >>>> >> >> >>>>>> from... > >> >>>> >> >> >>>>>> m4/acx_pthread.m4:63: ACX_PTHREAD is expanded from... > >> >>>> >> >> >>>>>> configure.ac:201: the top level > >> >>>> >> >> >>>>>> autoreconf: configure.ac: adding subdirectory > >> >>>> >> >> >>>>>> third_party/libprocess > >> >>>> >> >> >>>>>> to autoreconf > >> >>>> >> >> >>>>>> autoreconf: Entering directory > `third_party/libprocess' > >> >>>> >> >> >>>>>> configure.ac:18: warning: The macro `AC_FOREACH' is > >> obsolete. > >> >>>> >> >> >>>>>> configure.ac:18: You should run autoupdate. > >> >>>> >> >> >>>>>> ../../lib/autoconf/general.m4:196: AC_FOREACH is > expanded > >> >>>> >> >> >>>>>> from... > >> >>>> >> >> >>>>>> aclocal.m4:666: _AM_SET_OPTIONS is expanded from... > >> >>>> >> >> >>>>>> aclocal.m4:368: AM_INIT_AUTOMAKE is expanded from... > >> >>>> >> >> >>>>>> configure.ac:18: the top level > >> >>>> >> >> >>>>>> configure.ac:59: warning: The macro `AC_LANG_SAVE' is > >> obsolete. > >> >>>> >> >> >>>>>> configure.ac:59: You should run autoupdate. > >> >>>> >> >> >>>>>> ../../lib/autoconf/lang.m4:126: AC_LANG_SAVE is > expanded > >> from... > >> >>>> >> >> >>>>>> m4/acx_pthread.m4:63: ACX_PTHREAD is expanded from... > >> >>>> >> >> >>>>>> configure.ac:59: the top level > >> >>>> >> >> >>>>>> configure.ac:59: warning: The macro `AC_LANG_C' is > >> obsolete. > >> >>>> >> >> >>>>>> configure.ac:59: You should run autoupdate. > >> >>>> >> >> >>>>>> ../../lib/autoconf/c.m4:73: AC_LANG_C is expanded > from... > >> >>>> >> >> >>>>>> m4/acx_pthread.m4:63: ACX_PTHREAD is expanded from... > >> >>>> >> >> >>>>>> configure.ac:59: the top level > >> >>>> >> >> >>>>>> configure.ac:59: warning: The macro `AC_TRY_LINK' is > >> obsolete. > >> >>>> >> >> >>>>>> configure.ac:59: You should run autoupdate. > >> >>>> >> >> >>>>>> ../../lib/autoconf/general.m4:2688: AC_TRY_LINK is > >> expanded > >> >>>> >> >> >>>>>> from... > >> >>>> >> >> >>>>>> m4/acx_pthread.m4:63: ACX_PTHREAD is expanded from... > >> >>>> >> >> >>>>>> configure.ac:59: the top level > >> >>>> >> >> >>>>>> configure.ac:59: warning: The macro > `AC_LANG_RESTORE' is > >> >>>> >> >> >>>>>> obsolete. > >> >>>> >> >> >>>>>> configure.ac:59: You should run autoupdate. > >> >>>> >> >> >>>>>> ../../lib/autoconf/lang.m4:135: AC_LANG_RESTORE is > >> expanded > >> >>>> >> >> >>>>>> from... > >> >>>> >> >> >>>>>> m4/acx_pthread.m4:63: ACX_PTHREAD is expanded from... > >> >>>> >> >> >>>>>> configure.ac:59: the top level > >> >>>> >> >> >>>>>> autoreconf: configure.ac: not using Libtool > >> >>>> >> >> >>>>>> autoreconf: running: /usr/bin/autoconf --warnings=all > >> >>>> >> >> >>>>>> configure.ac:18: warning: The macro `AC_FOREACH' is > >> obsolete. > >> >>>> >> >> >>>>>> configure.ac:18: You should run autoupdate. > >> >>>> >> >> >>>>>> ../../lib/autoconf/general.m4:196: AC_FOREACH is > expanded > >> >>>> >> >> >>>>>> from... > >> >>>> >> >> >>>>>> aclocal.m4:666: _AM_SET_OPTIONS is expanded from... > >> >>>> >> >> >>>>>> aclocal.m4:368: AM_INIT_AUTOMAKE is expanded from... > >> >>>> >> >> >>>>>> configure.ac:18: the top level > >> >>>> >> >> >>>>>> configure.ac:59: warning: The macro `AC_LANG_SAVE' is > >> obsolete. > >> >>>> >> >> >>>>>> configure.ac:59: You should run autoupdate. > >> >>>> >> >> >>>>>> ../../lib/autoconf/lang.m4:126: AC_LANG_SAVE is > expanded > >> from... > >> >>>> >> >> >>>>>> m4/acx_pthread.m4:63: ACX_PTHREAD is expanded from... > >> >>>> >> >> >>>>>> configure.ac:59: the top level > >> >>>> >> >> >>>>>> configure.ac:59: warning: The macro `AC_LANG_C' is > >> obsolete. > >> >>>> >> >> >>>>>> configure.ac:59: You should run autoupdate. > >> >>>> >> >> >>>>>> ../../lib/autoconf/c.m4:73: AC_LANG_C is expanded > from... > >> >>>> >> >> >>>>>> m4/acx_pthread.m4:63: ACX_PTHREAD is expanded from... > >> >>>> >> >> >>>>>> configure.ac:59: the top level > >> >>>> >> >> >>>>>> configure.ac:59: warning: The macro `AC_TRY_LINK' is > >> obsolete. > >> >>>> >> >> >>>>>> configure.ac:59: You should run autoupdate. > >> >>>> >> >> >>>>>> ../../lib/autoconf/general.m4:2688: AC_TRY_LINK is > >> expanded > >> >>>> >> >> >>>>>> from... > >> >>>> >> >> >>>>>> m4/acx_pthread.m4:63: ACX_PTHREAD is expanded from... > >> >>>> >> >> >>>>>> configure.ac:59: the top level > >> >>>> >> >> >>>>>> configure.ac:59: warning: The macro > `AC_LANG_RESTORE' is > >> >>>> >> >> >>>>>> obsolete. > >> >>>> >> >> >>>>>> configure.ac:59: You should run autoupdate. > >> >>>> >> >> >>>>>> ../../lib/autoconf/lang.m4:135: AC_LANG_RESTORE is > >> expanded > >> >>>> >> >> >>>>>> from... > >> >>>> >> >> >>>>>> m4/acx_pthread.m4:63: ACX_PTHREAD is expanded from... > >> >>>> >> >> >>>>>> configure.ac:59: the top level > >> >>>> >> >> >>>>>> autoreconf: configure.ac: not using Autoheader > >> >>>> >> >> >>>>>> autoreconf: running: automake --add-missing --copy > >> --no-force > >> >>>> >> >> >>>>>> --warnings=all > >> >>>> >> >> >>>>>> third_party/Makefile.am:42: Libtool library used but > >> `LIBTOOL' > >> >>>> >> >> >>>>>> is > >> >>>> >> >> >>>>>> undefined > >> >>>> >> >> >>>>>> third_party/Makefile.am:42: > >> >>>> >> >> >>>>>> third_party/Makefile.am:42: The usual way to define > >> `LIBTOOL' is > >> >>>> >> >> >>>>>> to > >> >>>> >> >> >>>>>> add `AC_PROG_LIBTOOL' > >> >>>> >> >> >>>>>> third_party/Makefile.am:42: to `configure.ac' and run > >> `aclocal' > >> >>>> >> >> >>>>>> and > >> >>>> >> >> >>>>>> `autoconf' again. > >> >>>> >> >> >>>>>> Makefile.am:25: Libtool library used but `LIBTOOL' is > >> undefined > >> >>>> >> >> >>>>>> Makefile.am:25: > >> >>>> >> >> >>>>>> Makefile.am:25: The usual way to define `LIBTOOL' is > to > >> add > >> >>>> >> >> >>>>>> `AC_PROG_LIBTOOL' > >> >>>> >> >> >>>>>> Makefile.am:25: to `configure.ac' and run `aclocal' > and > >> >>>> >> >> >>>>>> `autoconf' > >> >>>> >> >> >>>>>> again. > >> >>>> >> >> >>>>>> autoreconf: automake failed with exit status: 1 > >> >>>> >> >> >>>>>> > >> >>>> >> >> >>>>>> Thanks, > >> >>>> >> >> >>>>>> Scott > >> >>>> >> >> >>>>> > >> >>>> >> >> >>>>> > >> >>>> >> >> >>>> > >> >>>> >> >> >>> > >> >>>> >> >> > > >> >>>> >> > > >> >>>> >> > > >> >>>> > > >> >>>> > > >> >
