New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Debian stretch #6375

Open
bdschr opened this Issue May 26, 2017 · 26 comments

Comments

Projects
None yet
@bdschr

bdschr commented May 26, 2017

Can you guys please fix the build for Debian to work with stretch.

Thanks.

@bdschr

This comment has been minimized.

Show comment
Hide comment
@bdschr

bdschr May 27, 2017

Nevermind got it working on debian stretch myself!

If anybody has problems with libprotobuf. It is not the ideal solution but use the jessie build and install the .deb files from below:

Install
http://ftp.nl.debian.org/debian/pool/main/p/protobuf/libprotobuf9_2.6.1-1_amd64.deb http://security.debian.org/debian-security/pool/updates/main/o/openssl/libssl1.0.0_1.0.1t-1+deb8u6_amd64.deb

bdschr commented May 27, 2017

Nevermind got it working on debian stretch myself!

If anybody has problems with libprotobuf. It is not the ideal solution but use the jessie build and install the .deb files from below:

Install
http://ftp.nl.debian.org/debian/pool/main/p/protobuf/libprotobuf9_2.6.1-1_amd64.deb http://security.debian.org/debian-security/pool/updates/main/o/openssl/libssl1.0.0_1.0.1t-1+deb8u6_amd64.deb

@srh

This comment has been minimized.

Show comment
Hide comment
@srh

srh May 27, 2017

Contributor

Good to know. Leaving this open because we still need to make this work out of the box.

Contributor

srh commented May 27, 2017

Good to know. Leaving this open because we still need to make this work out of the box.

@AtnNn AtnNn added this to the 2.3.x milestone Jun 8, 2017

@TanakritBenz

This comment has been minimized.

Show comment
Hide comment
@TanakritBenz

TanakritBenz Jul 30, 2017

Thanks @bdschr! I got it to work as well :)

For anyone who are trying to do this, here's how I did it:

  • Install libprotobuf9 and libssl
  1. curl -O http://ftp.nl.debian.org/debian/pool/main/p/protobuf/libprotobuf9_2.6.1-1_amd64.deb
  2. curl -O http://security.debian.org/debian-security/pool/updates/main/o/openssl/libssl1.0.0_1.0.1t-1+deb8u6_amd64.deb
  3. sudo dpkg -i libprotobuf9_2.6.1-1_amd64.deb
  4. sudo apt-get install -f
  5. sudo dpkg -i libssl1.0.0_1.0.1t-1+deb8u6_amd64.deb
  6. sudo apt-get install -f
  • Install RethinkDB
  1. export DISTRIB_CODENAME="jessie"
  2. echo "deb http://download.rethinkdb.com/apt $DISTRIB_CODENAME main" | sudo tee /etc/apt/sources.list.d/rethinkdb.list
  3. wget -qO- https://download.rethinkdb.com/apt/pubkey.gpg | sudo apt-key add -
  4. sudo apt-get update
  5. sudo apt-get install rethinkdb

TanakritBenz commented Jul 30, 2017

Thanks @bdschr! I got it to work as well :)

For anyone who are trying to do this, here's how I did it:

  • Install libprotobuf9 and libssl
  1. curl -O http://ftp.nl.debian.org/debian/pool/main/p/protobuf/libprotobuf9_2.6.1-1_amd64.deb
  2. curl -O http://security.debian.org/debian-security/pool/updates/main/o/openssl/libssl1.0.0_1.0.1t-1+deb8u6_amd64.deb
  3. sudo dpkg -i libprotobuf9_2.6.1-1_amd64.deb
  4. sudo apt-get install -f
  5. sudo dpkg -i libssl1.0.0_1.0.1t-1+deb8u6_amd64.deb
  6. sudo apt-get install -f
  • Install RethinkDB
  1. export DISTRIB_CODENAME="jessie"
  2. echo "deb http://download.rethinkdb.com/apt $DISTRIB_CODENAME main" | sudo tee /etc/apt/sources.list.d/rethinkdb.list
  3. wget -qO- https://download.rethinkdb.com/apt/pubkey.gpg | sudo apt-key add -
  4. sudo apt-get update
  5. sudo apt-get install rethinkdb
@lenovouser

This comment has been minimized.

Show comment
Hide comment
@lenovouser

lenovouser Jul 31, 2017

@TanakritBenz there is a bit easier way. Change:

-deb http://download.rethinkdb.com/apt jessie main
+deb http://download.rethinkdb.com/apt stretch main

Install libprotobuf9v5:

wget http://archive.ubuntu.com/ubuntu/pool/main/p/protobuf/libprotobuf9v5_2.6.1-1.3_amd64.deb
dpkg -i libprotobuf9v5_2.6.1-1.3_amd64.deb

and that's it 😃

apt install rethinkdb

works without any problems.

lenovouser commented Jul 31, 2017

@TanakritBenz there is a bit easier way. Change:

-deb http://download.rethinkdb.com/apt jessie main
+deb http://download.rethinkdb.com/apt stretch main

Install libprotobuf9v5:

wget http://archive.ubuntu.com/ubuntu/pool/main/p/protobuf/libprotobuf9v5_2.6.1-1.3_amd64.deb
dpkg -i libprotobuf9v5_2.6.1-1.3_amd64.deb

and that's it 😃

apt install rethinkdb

works without any problems.

@hanleym

This comment has been minimized.

Show comment
Hide comment
@hanleym

hanleym Jul 31, 2017

@lenovouser your method results in 2.3.5 instead of 2.3.6.

hanleym commented Jul 31, 2017

@lenovouser your method results in 2.3.5 instead of 2.3.6.

@lenovouser

This comment has been minimized.

Show comment
Hide comment
@lenovouser

lenovouser Jul 31, 2017

@TanakritBenz he is right, rethinkdb.com/apt/stretch/Packages doesn't include v2.3.6 yet. Seems like the maintainers haven't produced a release for it yet.

lenovouser commented Jul 31, 2017

@TanakritBenz he is right, rethinkdb.com/apt/stretch/Packages doesn't include v2.3.6 yet. Seems like the maintainers haven't produced a release for it yet.

@ceriath

This comment has been minimized.

Show comment
Hide comment
@ceriath

ceriath Sep 13, 2017

any updates on this?

ceriath commented Sep 13, 2017

any updates on this?

@srh

This comment has been minimized.

Show comment
Hide comment
@srh

srh Sep 27, 2017

Contributor

I might get time to look into it soon.

Contributor

srh commented Sep 27, 2017

I might get time to look into it soon.

@srh

This comment has been minimized.

Show comment
Hide comment
@srh

srh Sep 28, 2017

Contributor

I have the build working on stretch and was able to make packages relatively easily using the branch https://github.com/srh/rethinkdb/tree/sam/23x/stretch

It includes the following significant changes relative to the v2.3.6 tag commit:
58c3a7c - make BIGNUM functions in GEO code avoid removed SSL API's
486dcc5 - make stretch Debian packaging depend on libssl1.0-dev, not libssl-dev. Also assumes you use clang++.

We need clang++ because the old version of v8 we have will not work with GCC 6. Unlike Ubuntu zesty, Stretch has no g++-5 package to use.

Notably, you have to apt install libssl1.0-dev, which will remove libssl-dev, so that you build and link against the right version. The reason is, Stretch's libcurl uses version 1.0 of libssl.

To build a package, run

srh@pc2:~/rethinkdb$ ./configure --allow-fetch CXX=clang++
* Detecting system configuration
Bash:                           4.4.12(1)-release
Use ccache:                     no
C++ Compiler:                   CLANG 3.8.1 (clang++)
Host System:                    x86_64-pc-linux-gnu
Build System:                   Linux 4.9.0-3-amd64 x86_64
Cross-compiling:                no
Host Operating System:          Linux
Build Architecture:             x86_64
stdlib:                         -lstdc++
C++11:                          ok
Precompiled web assets:         no
Protobuf compiler:              /usr/bin/protoc
python:                         python 2.7.13
Node.js package manager:        external/node_0.12.2
coffee:                         external/coffee-script_1.10.0
Browserify:                     external/browserify_13.1.0
bluebird:                       external/bluebird_2.9.32
web UI dependencies:            external/admin-deps_2.0.3
wget:                           /usr/bin/wget
curl:                           /usr/bin/curl
Google Test:                    external/gtest_1.7.0
termcap:                        -ltermcap
boost_system:                   -lboost_system
protobuf:                       -lprotobuf
v8 javascript engine:           external/v8_3.30.33.16-patched2
RE2:                            external/re2_20140111
z:                              -lz
crypto:                         -lcrypto
ssl:                            -lssl
curl:                           -lcurl
malloc:                         jemalloc
jemalloc (static):              external/jemalloc_4.1.0
Test protobuf:                  ok
Test boost:                     ok
Test OpenSSL:                   ok
Installation prefix:            /usr/local
Configuration prefix:           /usr/local/etc
Runtime data prefix:            /usr/local/var
* Wrote configuration to config.mk
srh@pc2:~/rethinkdb$ make build-deb DEB_RELEASE=stretch
Contributor

srh commented Sep 28, 2017

I have the build working on stretch and was able to make packages relatively easily using the branch https://github.com/srh/rethinkdb/tree/sam/23x/stretch

It includes the following significant changes relative to the v2.3.6 tag commit:
58c3a7c - make BIGNUM functions in GEO code avoid removed SSL API's
486dcc5 - make stretch Debian packaging depend on libssl1.0-dev, not libssl-dev. Also assumes you use clang++.

We need clang++ because the old version of v8 we have will not work with GCC 6. Unlike Ubuntu zesty, Stretch has no g++-5 package to use.

Notably, you have to apt install libssl1.0-dev, which will remove libssl-dev, so that you build and link against the right version. The reason is, Stretch's libcurl uses version 1.0 of libssl.

To build a package, run

srh@pc2:~/rethinkdb$ ./configure --allow-fetch CXX=clang++
* Detecting system configuration
Bash:                           4.4.12(1)-release
Use ccache:                     no
C++ Compiler:                   CLANG 3.8.1 (clang++)
Host System:                    x86_64-pc-linux-gnu
Build System:                   Linux 4.9.0-3-amd64 x86_64
Cross-compiling:                no
Host Operating System:          Linux
Build Architecture:             x86_64
stdlib:                         -lstdc++
C++11:                          ok
Precompiled web assets:         no
Protobuf compiler:              /usr/bin/protoc
python:                         python 2.7.13
Node.js package manager:        external/node_0.12.2
coffee:                         external/coffee-script_1.10.0
Browserify:                     external/browserify_13.1.0
bluebird:                       external/bluebird_2.9.32
web UI dependencies:            external/admin-deps_2.0.3
wget:                           /usr/bin/wget
curl:                           /usr/bin/curl
Google Test:                    external/gtest_1.7.0
termcap:                        -ltermcap
boost_system:                   -lboost_system
protobuf:                       -lprotobuf
v8 javascript engine:           external/v8_3.30.33.16-patched2
RE2:                            external/re2_20140111
z:                              -lz
crypto:                         -lcrypto
ssl:                            -lssl
curl:                           -lcurl
malloc:                         jemalloc
jemalloc (static):              external/jemalloc_4.1.0
Test protobuf:                  ok
Test boost:                     ok
Test OpenSSL:                   ok
Installation prefix:            /usr/local
Configuration prefix:           /usr/local/etc
Runtime data prefix:            /usr/local/var
* Wrote configuration to config.mk
srh@pc2:~/rethinkdb$ make build-deb DEB_RELEASE=stretch

This was referenced Sep 28, 2017

@L11R

This comment has been minimized.

Show comment
Hide comment
@L11R

L11R Nov 15, 2017

It's nice that we can build it. But why there is no any binaries in repo yet? I don't want to build it myself on my production server.

L11R commented Nov 15, 2017

It's nice that we can build it. But why there is no any binaries in repo yet? I don't want to build it myself on my production server.

@srh

This comment has been minimized.

Show comment
Hide comment
@srh

srh Dec 10, 2017

Contributor

Merged the sam/23x/stretch branch to v2.3.x as of 69f1099 with #6563. Will also cherry-pick the changes to v2.4.x and next.

There are no binaries in repo because I don't have access to that.

Contributor

srh commented Dec 10, 2017

Merged the sam/23x/stretch branch to v2.3.x as of 69f1099 with #6563. Will also cherry-pick the changes to v2.4.x and next.

There are no binaries in repo because I don't have access to that.

@srh

This comment has been minimized.

Show comment
Hide comment
@srh

srh Dec 11, 2017

Contributor

Alright, fixed and pushed in v2.3.x, v2.4.x, and next. Also made the Ubuntu part of the conditional future-compatible... as long as Ubuntu has g++-5.

Contributor

srh commented Dec 11, 2017

Alright, fixed and pushed in v2.3.x, v2.4.x, and next. Also made the Ubuntu part of the conditional future-compatible... as long as Ubuntu has g++-5.

@srh srh closed this Dec 11, 2017

@srh

This comment has been minimized.

Show comment
Hide comment
@srh

srh Dec 11, 2017

Contributor

Reopening. Binaries for stretch ought to be shipped.

Contributor

srh commented Dec 11, 2017

Reopening. Binaries for stretch ought to be shipped.

@srh srh reopened this Dec 11, 2017

@srh

This comment has been minimized.

Show comment
Hide comment
@srh

srh Dec 23, 2017

Contributor

I've built packages for amd64 stretch. They're built off the commit f04cdf9. (So this strictly speaking has some bugfix patches made after 2.3.6.)

I don't have access to any RethinkDB-hosted repos so I've put the debs and .tar.xz on my website:

http://samuelhughes.com/misc/bin/rethinkdb_2.3.6+stretch~0stretch_amd64.deb
http://samuelhughes.com/misc/bin/rethinkdb-dbg_2.3.6+stretch~0stretch_amd64.deb
http://samuelhughes.com/misc/bin/rethinkdb_2.3.6+stretch~0stretch.tar.xz

Their respective sha-256 hashes.
97ade4d5092bafac3a456197486f29069c560f4eabf4fcf974bd80d38099b521
99239a33597860f83da09145743c8797d30a3f78a3a6967360f40b713cfa3234
1d8b7e8b8152893769700a64493e260369d6d6d0ffdd919acc83c35f47033883

Contributor

srh commented Dec 23, 2017

I've built packages for amd64 stretch. They're built off the commit f04cdf9. (So this strictly speaking has some bugfix patches made after 2.3.6.)

I don't have access to any RethinkDB-hosted repos so I've put the debs and .tar.xz on my website:

http://samuelhughes.com/misc/bin/rethinkdb_2.3.6+stretch~0stretch_amd64.deb
http://samuelhughes.com/misc/bin/rethinkdb-dbg_2.3.6+stretch~0stretch_amd64.deb
http://samuelhughes.com/misc/bin/rethinkdb_2.3.6+stretch~0stretch.tar.xz

Their respective sha-256 hashes.
97ade4d5092bafac3a456197486f29069c560f4eabf4fcf974bd80d38099b521
99239a33597860f83da09145743c8797d30a3f78a3a6967360f40b713cfa3234
1d8b7e8b8152893769700a64493e260369d6d6d0ffdd919acc83c35f47033883

@eeerrrttty

This comment has been minimized.

Show comment
Hide comment
@eeerrrttty

eeerrrttty Jan 8, 2018

In resume, what should i follow to get rethinkDB running in debian stretch ????

eeerrrttty commented Jan 8, 2018

In resume, what should i follow to get rethinkDB running in debian stretch ????

@srh

This comment has been minimized.

Show comment
Hide comment
@srh

srh Jan 9, 2018

Contributor

What do you mean by "resume"?

Contributor

srh commented Jan 9, 2018

What do you mean by "resume"?

@L11R

This comment has been minimized.

Show comment
Hide comment
@L11R

L11R Jan 9, 2018

@srh he meant "summarizing" this issue, I think. When we will get 2.3.6 in the official repo?

L11R commented Jan 9, 2018

@srh he meant "summarizing" this issue, I think. When we will get 2.3.6 in the official repo?

@srh

This comment has been minimized.

Show comment
Hide comment
@srh

srh Jan 9, 2018

Contributor

I m asked for access to do that (today), we will see.

Contributor

srh commented Jan 9, 2018

I m asked for access to do that (today), we will see.

@krull

This comment has been minimized.

Show comment
Hide comment
@krull

krull Feb 11, 2018

+1 on this. I ran across this, and had to install the workaround @lenovouser pointed out above.

krull commented Feb 11, 2018

+1 on this. I ran across this, and had to install the workaround @lenovouser pointed out above.

@TarSzator

This comment has been minimized.

Show comment
Hide comment
@TarSzator

TarSzator Apr 17, 2018

+1

It would be nice to get a debian stretch package for RethinkDB

TarSzator commented Apr 17, 2018

+1

It would be nice to get a debian stretch package for RethinkDB

@mgween

This comment has been minimized.

Show comment
Hide comment
@mgween

mgween Apr 20, 2018

Is there a simple solution to this yet? I'm afraid I don't understand any of the above mentioned methods.

mgween commented Apr 20, 2018

Is there a simple solution to this yet? I'm afraid I don't understand any of the above mentioned methods.

@ceriath

This comment has been minimized.

Show comment
Hide comment
@ceriath

ceriath Apr 21, 2018

@mgween you can use the deb packages srh provided on his website. Unfortunately, there is still no official package in the repository. maybe @srh can provide some more information again why?

ceriath commented Apr 21, 2018

@mgween you can use the deb packages srh provided on his website. Unfortunately, there is still no official package in the repository. maybe @srh can provide some more information again why?

@mgween

This comment has been minimized.

Show comment
Hide comment
@mgween

mgween Apr 21, 2018

When I try to build from the package provided by @srh above, I get this error:

[429/436] LD build/release_clang_system/rethinkdb
/home/pi/dsc/build/external/curl_7.40.0/lib/libcurl.a(libcurl_la-openssl.o): In function `ossl_connect_common':
openssl.c:(.text+0x26f4): undefined reference to `SSLv3_client_method'
clang: error: linker command failed with exit code 1 (use -v to see invocation)
src/build.mk:334: recipe for target 'build/release_clang_system/rethinkdb' failed
make[1]: *** [build/release_clang_system/rethinkdb] Error 1
Makefile:52: recipe for target 'make' failed
make: *** [make] Error 2

mgween commented Apr 21, 2018

When I try to build from the package provided by @srh above, I get this error:

[429/436] LD build/release_clang_system/rethinkdb
/home/pi/dsc/build/external/curl_7.40.0/lib/libcurl.a(libcurl_la-openssl.o): In function `ossl_connect_common':
openssl.c:(.text+0x26f4): undefined reference to `SSLv3_client_method'
clang: error: linker command failed with exit code 1 (use -v to see invocation)
src/build.mk:334: recipe for target 'build/release_clang_system/rethinkdb' failed
make[1]: *** [build/release_clang_system/rethinkdb] Error 1
Makefile:52: recipe for target 'make' failed
make: *** [make] Error 2
@srh

This comment has been minimized.

Show comment
Hide comment
@srh

srh Apr 23, 2018

Contributor

@mgween I think you should make sure you have the following apt packages:

apt install build-essential protobuf-compiler python \
    libprotobuf-dev libcurl4-openssl-dev libboost-all-dev \
    libncurses5-dev libjemalloc-dev wget m4 clang libssl1.0-dev

If you have some other libcurl version, or some other libssl version, such as libssl-dev, I think it won't work.

I just tried compiling (with the .tar.xz linked above) on an up to date Stretch machine and it succeeded. Both using --with-system-malloc and not.

Contributor

srh commented Apr 23, 2018

@mgween I think you should make sure you have the following apt packages:

apt install build-essential protobuf-compiler python \
    libprotobuf-dev libcurl4-openssl-dev libboost-all-dev \
    libncurses5-dev libjemalloc-dev wget m4 clang libssl1.0-dev

If you have some other libcurl version, or some other libssl version, such as libssl-dev, I think it won't work.

I just tried compiling (with the .tar.xz linked above) on an up to date Stretch machine and it succeeded. Both using --with-system-malloc and not.

@nullpointusr

This comment has been minimized.

Show comment
Hide comment
@nullpointusr

nullpointusr Jun 7, 2018

Hello guys,

Since Debian 8 is reaching end of life on 18 June 2018 and will stop making security updates, is there any ETA on having RethinkDB 2.3.6 or a new version running from repos on Debian 9 ?

Thanks in advance.

nullpointusr commented Jun 7, 2018

Hello guys,

Since Debian 8 is reaching end of life on 18 June 2018 and will stop making security updates, is there any ETA on having RethinkDB 2.3.6 or a new version running from repos on Debian 9 ?

Thanks in advance.

@lenovouser

This comment has been minimized.

Show comment
Hide comment
@lenovouser

lenovouser Jun 7, 2018

@nullpointusr as far as I know most of the contributors are moving to RebirthDB. Communication mostly runs over spectrum.chat/rebirthdb

lenovouser commented Jun 7, 2018

@nullpointusr as far as I know most of the contributors are moving to RebirthDB. Communication mostly runs over spectrum.chat/rebirthdb

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment