* rocksdb related build error
@ 2016-05-03 7:05 Ming Lin
2016-05-03 12:26 ` Sage Weil
0 siblings, 1 reply; 7+ messages in thread
From: Ming Lin @ 2016-05-03 7:05 UTC (permalink / raw)
To: ceph-devel; +Cc: John Spray
Hi John,
I got rocksdb related build error (commit bb7d9c15).
Any hint to fix it?
It's OK if I build in the ceph source tree.
mlin@ssi:~/ceph$ ./autogen.sh
...
mlin@ssi:~/ceph-build$ ../ceph/configure
...
mlin@ssi:~/ceph-build$ make -j8
...
make[3]: Entering directory `/home/mlin/ceph-build/src'
cd rocksdb && CC="gcc" CXX="g++" EXTRA_CXXFLAGS=-fPIC PORTABLE=1 make
-j8 static_lib
/bin/bash: line 0: cd: rocksdb: No such file or directory
make[3]: *** [rocksdb/librocksdb.a] Error 1
make[3]: *** Waiting for unfinished jobs....
make[3]: Leaving directory `/home/mlin/ceph-build/src'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/mlin/ceph-build/src'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/mlin/ceph-build/src'
make: *** [all-recursive] Error 1
mlin@ssi:~/ceph-build$ ls src/
acconfig.h client crush java kv
log mount os rbd_fuse test
arch cls erasure-code journal librados
Makefile msg osd rbd_replay tools
auth common global json_spirit libradosstriper
mds objclass osdc rgw tracing
civetweb compressor gmock key_value_store librbd
mon ocf perfglue stamp-h1 xxHash
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: rocksdb related build error
2016-05-03 7:05 rocksdb related build error Ming Lin
@ 2016-05-03 12:26 ` Sage Weil
2016-05-03 18:52 ` Jianjian Huo-SSI
2016-05-03 21:15 ` Ming Lin
0 siblings, 2 replies; 7+ messages in thread
From: Sage Weil @ 2016-05-03 12:26 UTC (permalink / raw)
To: Ming Lin; +Cc: ceph-devel, John Spray
On Tue, 3 May 2016, Ming Lin wrote:
> Hi John,
>
> I got rocksdb related build error (commit bb7d9c15).
> Any hint to fix it?
>
> It's OK if I build in the ceph source tree.
Out of tree builds don't work currently with autotools.
sage
> mlin@ssi:~/ceph$ ./autogen.sh
> ...
>
> mlin@ssi:~/ceph-build$ ../ceph/configure
> ...
>
> mlin@ssi:~/ceph-build$ make -j8
> ...
> make[3]: Entering directory `/home/mlin/ceph-build/src'
> cd rocksdb && CC="gcc" CXX="g++" EXTRA_CXXFLAGS=-fPIC PORTABLE=1 make
> -j8 static_lib
> /bin/bash: line 0: cd: rocksdb: No such file or directory
> make[3]: *** [rocksdb/librocksdb.a] Error 1
> make[3]: *** Waiting for unfinished jobs....
> make[3]: Leaving directory `/home/mlin/ceph-build/src'
> make[2]: *** [all-recursive] Error 1
> make[2]: Leaving directory `/home/mlin/ceph-build/src'
> make[1]: *** [all] Error 2
> make[1]: Leaving directory `/home/mlin/ceph-build/src'
> make: *** [all-recursive] Error 1
>
>
> mlin@ssi:~/ceph-build$ ls src/
> acconfig.h client crush java kv
> log mount os rbd_fuse test
> arch cls erasure-code journal librados
> Makefile msg osd rbd_replay tools
> auth common global json_spirit libradosstriper
> mds objclass osdc rgw tracing
> civetweb compressor gmock key_value_store librbd
> mon ocf perfglue stamp-h1 xxHash
> --
> To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
>
^ permalink raw reply [flat|nested] 7+ messages in thread
* RE: rocksdb related build error
2016-05-03 12:26 ` Sage Weil
@ 2016-05-03 18:52 ` Jianjian Huo-SSI
2016-05-03 19:03 ` Sage Weil
2016-05-03 21:15 ` Ming Lin
1 sibling, 1 reply; 7+ messages in thread
From: Jianjian Huo-SSI @ 2016-05-03 18:52 UTC (permalink / raw)
To: Sage Weil, Ming Lin; +Cc: ceph-devel@vger.kernel.org, John Spray
Hi Sage,
When we are going to pull in latest RocksDB release? We are still using code base from last year.
RocksDB stops working with Bluestore after 6 hours writes, maybe it's related to old RocksDB code or recycled log files?
http://tracker.ceph.com/issues/15600
Jianjian
On Tue, May 3, 2016 at 5:26 AM, Sage Weil <sage@newdream.net> wrote:
> On Tue, 3 May 2016, Ming Lin wrote:
>> Hi John,
>>
>> I got rocksdb related build error (commit bb7d9c15).
>> Any hint to fix it?
>>
>> It's OK if I build in the ceph source tree.
>
> Out of tree builds don't work currently with autotools.
>
> sage
>
>
>> mlin@ssi:~/ceph$ ./autogen.sh
>> ...
>>
>> mlin@ssi:~/ceph-build$ ../ceph/configure
>> ...
>>
>> mlin@ssi:~/ceph-build$ make -j8
>> ...
>> make[3]: Entering directory `/home/mlin/ceph-build/src'
>> cd rocksdb && CC="gcc" CXX="g++" EXTRA_CXXFLAGS=-fPIC PORTABLE=1 make
>> -j8 static_lib
>> /bin/bash: line 0: cd: rocksdb: No such file or directory
>> make[3]: *** [rocksdb/librocksdb.a] Error 1
>> make[3]: *** Waiting for unfinished jobs....
>> make[3]: Leaving directory `/home/mlin/ceph-build/src'
>> make[2]: *** [all-recursive] Error 1
>> make[2]: Leaving directory `/home/mlin/ceph-build/src'
>> make[1]: *** [all] Error 2
>> make[1]: Leaving directory `/home/mlin/ceph-build/src'
>> make: *** [all-recursive] Error 1
>>
>>
>> mlin@ssi:~/ceph-build$ ls src/
>> acconfig.h client crush java kv
>> log mount os rbd_fuse test
>> arch cls erasure-code journal librados
>> Makefile msg osd rbd_replay tools
>> auth common global json_spirit libradosstriper
>> mds objclass osdc rgw tracing
>> civetweb compressor gmock key_value_store librbd
>> mon ocf perfglue stamp-h1 xxHash
>> --
>> To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>>
>>
> --
> To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 7+ messages in thread
* RE: rocksdb related build error
2016-05-03 18:52 ` Jianjian Huo-SSI
@ 2016-05-03 19:03 ` Sage Weil
0 siblings, 0 replies; 7+ messages in thread
From: Sage Weil @ 2016-05-03 19:03 UTC (permalink / raw)
To: Jianjian Huo-SSI; +Cc: Ming Lin, ceph-devel@vger.kernel.org, John Spray
On Tue, 3 May 2016, Jianjian Huo-SSI wrote:
> Hi Sage,
>
> When we are going to pull in latest RocksDB release? We are still using code base from last year.
> RocksDB stops working with Bluestore after 6 hours writes, maybe it's related to old RocksDB code or recycled log files?
> http://tracker.ceph.com/issues/15600
Hmm, I was about to blame bluefs, but it looks you had it turned off.
I'll do a refresh.
sage
>
> Jianjian
>
> On Tue, May 3, 2016 at 5:26 AM, Sage Weil <sage@newdream.net> wrote:
> > On Tue, 3 May 2016, Ming Lin wrote:
> >> Hi John,
> >>
> >> I got rocksdb related build error (commit bb7d9c15).
> >> Any hint to fix it?
> >>
> >> It's OK if I build in the ceph source tree.
> >
> > Out of tree builds don't work currently with autotools.
> >
> > sage
> >
> >
> >> mlin@ssi:~/ceph$ ./autogen.sh
> >> ...
> >>
> >> mlin@ssi:~/ceph-build$ ../ceph/configure
> >> ...
> >>
> >> mlin@ssi:~/ceph-build$ make -j8
> >> ...
> >> make[3]: Entering directory `/home/mlin/ceph-build/src'
> >> cd rocksdb && CC="gcc" CXX="g++" EXTRA_CXXFLAGS=-fPIC PORTABLE=1 make
> >> -j8 static_lib
> >> /bin/bash: line 0: cd: rocksdb: No such file or directory
> >> make[3]: *** [rocksdb/librocksdb.a] Error 1
> >> make[3]: *** Waiting for unfinished jobs....
> >> make[3]: Leaving directory `/home/mlin/ceph-build/src'
> >> make[2]: *** [all-recursive] Error 1
> >> make[2]: Leaving directory `/home/mlin/ceph-build/src'
> >> make[1]: *** [all] Error 2
> >> make[1]: Leaving directory `/home/mlin/ceph-build/src'
> >> make: *** [all-recursive] Error 1
> >>
> >>
> >> mlin@ssi:~/ceph-build$ ls src/
> >> acconfig.h client crush java kv
> >> log mount os rbd_fuse test
> >> arch cls erasure-code journal librados
> >> Makefile msg osd rbd_replay tools
> >> auth common global json_spirit libradosstriper
> >> mds objclass osdc rgw tracing
> >> civetweb compressor gmock key_value_store librbd
> >> mon ocf perfglue stamp-h1 xxHash
> >> --
> >> To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
> >> the body of a message to majordomo@vger.kernel.org
> >> More majordomo info at http://vger.kernel.org/majordomo-info.html
> >>
> >>
> > --
> > To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
> > the body of a message to majordomo@vger.kernel.org
> > More majordomo info at http://vger.kernel.org/majordomo-info.html
>
>
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: rocksdb related build error
2016-05-03 12:26 ` Sage Weil
2016-05-03 18:52 ` Jianjian Huo-SSI
@ 2016-05-03 21:15 ` Ming Lin
2016-05-03 22:58 ` Marcus Watts
1 sibling, 1 reply; 7+ messages in thread
From: Ming Lin @ 2016-05-03 21:15 UTC (permalink / raw)
To: Sage Weil; +Cc: ceph-devel, John Spray
On Tue, May 3, 2016 at 5:26 AM, Sage Weil <sage@newdream.net> wrote:
> On Tue, 3 May 2016, Ming Lin wrote:
>> Hi John,
>>
>> I got rocksdb related build error (commit bb7d9c15).
>> Any hint to fix it?
>>
>> It's OK if I build in the ceph source tree.
>
> Out of tree builds don't work currently with autotools.
I just learned a bit about autotools.
https://en.wikipedia.org/wiki/GNU_Build_System
Could you share what the problem is here to support out-of-tree build?
I'll try to write a patch to fix it.
>
> sage
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: rocksdb related build error
2016-05-03 21:15 ` Ming Lin
@ 2016-05-03 22:58 ` Marcus Watts
2016-05-03 23:28 ` Ming Lin
0 siblings, 1 reply; 7+ messages in thread
From: Marcus Watts @ 2016-05-03 22:58 UTC (permalink / raw)
To: Ming Lin; +Cc: Sage Weil, ceph-devel, John Spray
On Tue, May 03, 2016 at 02:15:49PM -0700, Ming Lin wrote:
> On Tue, May 3, 2016 at 5:26 AM, Sage Weil <sage@newdream.net> wrote:
> > On Tue, 3 May 2016, Ming Lin wrote:
> >> Hi John,
> >>
> >> I got rocksdb related build error (commit bb7d9c15).
> >> Any hint to fix it?
> >>
> >> It's OK if I build in the ceph source tree.
> >
> > Out of tree builds don't work currently with autotools.
>
> I just learned a bit about autotools.
> https://en.wikipedia.org/wiki/GNU_Build_System
>
> Could you share what the problem is here to support out-of-tree build?
> I'll try to write a patch to fix it.
I looked at this fairly recently.
rocksdb comes with a cmake (only used for windows), and makefile build.
The makefile build doesn't use autotools, it's just a gnu makefile.
gnu make does support out of tree builds, but the rocksdb file doesn't
do that. So, it wants to find all its source wherever it's installed,
and it puts all the .o's in the same place - So: no separate build possible.
This is a problem for both automake & cmake.
You could change the makefile to work "out of tree", but it won't
be pretty. Probably you would be adding some "VPATH" statements,
add -I as necessary, and you'd have to work within the structure
of the file which I think seemed a bit more complicated than necessary.
You could switch to using a more regular "auto tools" build. There are
lots of choices here. Also some drawbacks, so this won't be the fastest
approach. Will work and is fairly standard. You will definitely know a
lot more about automake when you get through with this. Also rocksdb is
actually be a pretty good starting point to learn this.
You could fix up the cmake stuff to work with unix instead. This will
be way faster than cobbling up automake. Especially because you
can just steal my work. Uh, here,
http://people.redhat.com/mwatts/rocksdb/
It should quite easy to plug rocskdb + cmake into ceph. And I suppose
you could build rocskdb using cmake even if you were building ceph
with automake - won't be (much) worse than what's happening today with
the makefile.
But, after I got to this point with rocksdb, I decided that instead
of teaching ceph how to build rocksdb in tree, I could just install
it separately. The web page above has sample rpm's for just this.
I called the resulting packages just "rocksdb" - but the discussion
folks had about this on ceph was towards the direction of packages
named "ceph-rocksdb".
I also have some changes for ceph to make it work with the
externally installed rocksdb,
https://github.com/mdw-at-linuxbox/ceph/commit/a753c5619c916214a80c200fb46c38a09b191647
This is probably down a different direction than you want to go, but
feel free to use any bits that are useful and ignore what isn't.
-Marcus Watts
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: rocksdb related build error
2016-05-03 22:58 ` Marcus Watts
@ 2016-05-03 23:28 ` Ming Lin
0 siblings, 0 replies; 7+ messages in thread
From: Ming Lin @ 2016-05-03 23:28 UTC (permalink / raw)
To: Marcus Watts; +Cc: Sage Weil, ceph-devel, John Spray
On Tue, 2016-05-03 at 18:58 -0400, Marcus Watts wrote:
> On Tue, May 03, 2016 at 02:15:49PM -0700, Ming Lin wrote:
> > On Tue, May 3, 2016 at 5:26 AM, Sage Weil <sage@newdream.net>
> > wrote:
> > > On Tue, 3 May 2016, Ming Lin wrote:
> > > > Hi John,
> > > >
> > > > I got rocksdb related build error (commit bb7d9c15).
> > > > Any hint to fix it?
> > > >
> > > > It's OK if I build in the ceph source tree.
> > >
> > > Out of tree builds don't work currently with autotools.
> >
> > I just learned a bit about autotools.
> > https://en.wikipedia.org/wiki/GNU_Build_System
> >
> > Could you share what the problem is here to support out-of-tree
> > build?
> > I'll try to write a patch to fix it.
>
> I looked at this fairly recently.
>
> rocksdb comes with a cmake (only used for windows), and makefile
> build.
> The makefile build doesn't use autotools, it's just a gnu makefile.
> gnu make does support out of tree builds, but the rocksdb file
> doesn't
> do that. So, it wants to find all its source wherever it's
> installed,
> and it puts all the .o's in the same place - So: no separate build
> possible.
> This is a problem for both automake & cmake.
>
> You could change the makefile to work "out of tree", but it won't
> be pretty. Probably you would be adding some "VPATH" statements,
> add -I as necessary, and you'd have to work within the structure
> of the file which I think seemed a bit more complicated than
> necessary.
Here is my quick hack. Just add ${srcdir}
It's not real "out of tree" because rocksdb is still build in the tree
actually.
diff --git a/src/kv/Makefile.am b/src/kv/Makefile.am
index b876171..0dd754c 100644
--- a/src/kv/Makefile.am
+++ b/src/kv/Makefile.am
@@ -21,8 +21,8 @@ if FREEBSD
NPROC = sysctl -n hw.ncpu
endif
rocksdb/librocksdb.a:
- cd rocksdb && CC="${CC}" CXX="${CXX}" EXTRA_CXXFLAGS=-fPIC PORTABLE=1 $(MAKE) -j$(shell ${NPROC}) static_lib
-libkv_a_CXXFLAGS += -I rocksdb/include -fPIC
+ cd ${srcdir}/rocksdb && CC="${CC}" CXX="${CXX}" EXTRA_CXXFLAGS=-fPIC PORTABLE=1 $(MAKE) -j$(shell ${NPROC}) static_lib
+libkv_a_CXXFLAGS += -I ${srcdir}/rocksdb/include -fPIC
libkv_a_SOURCES += kv/RocksDBStore.cc
libkv_a_LIBADD += rocksdb/librocksdb.a
noinst_HEADERS += kv/RocksDBStore.h
diff --git a/src/os/Makefile.am b/src/os/Makefile.am
index 6d22778..4305fe2 100644
--- a/src/os/Makefile.am
+++ b/src/os/Makefile.am
@@ -61,7 +61,7 @@ if WITH_LIBZFS
libos_a_SOURCES += os/filestore/ZFSFileStoreBackend.cc
endif
-libos_a_CXXFLAGS = ${AM_CXXFLAGS} -I rocksdb/include -fPIC
+libos_a_CXXFLAGS = ${AM_CXXFLAGS} -I ${srcdir}/rocksdb/include -fPIC
libos_a_LIBADD = libos_types.a libkv.a
noinst_LIBRARIES += libos.a
diff --git a/src/test/Makefile-server.am b/src/test/Makefile-server.am
index fbb42e4..2aaa635 100644
--- a/src/test/Makefile-server.am
+++ b/src/test/Makefile-server.am
@@ -227,7 +227,7 @@ endif # WITH_OSD
if WITH_SLIBROCKSDB
unittest_rocksdb_option_static_SOURCES = test/objectstore/TestRocksdbOptionParse.cc
unittest_rocksdb_option_static_LDADD = $(LIBOS) $(UNITTEST_LDADD) $(CEPH_GLOBAL)
-unittest_rocksdb_option_static_CXXFLAGS = $(UNITTEST_CXXFLAGS) ${AM_CXXFLAGS} ${LIBROCKSDB_CFLAGS} -I rocksdb/include
+unittest_rocksdb_option_static_CXXFLAGS = $(UNITTEST_CXXFLAGS) ${AM_CXXFLAGS} ${LIBROCKSDB_CFLAGS} -I ${srcdir}/rocksdb/include
check_TESTPROGRAMS += unittest_rocksdb_option_static
endif
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply related [flat|nested] 7+ messages in thread
end of thread, other threads:[~2016-05-03 23:28 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-05-03 7:05 rocksdb related build error Ming Lin
2016-05-03 12:26 ` Sage Weil
2016-05-03 18:52 ` Jianjian Huo-SSI
2016-05-03 19:03 ` Sage Weil
2016-05-03 21:15 ` Ming Lin
2016-05-03 22:58 ` Marcus Watts
2016-05-03 23:28 ` Ming Lin
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.