Build instructions for wiredtiger are out of date (linux)

14 views
Skip to first unread message

hydrodog

unread,
Apr 22, 2024, 4:04:08 PMApr 22
to wiredtiger-users
The instructions for building wiredtiger mention ./configure which obviously doesn't exist, you are using cmake.

I took a guess and tried:

mkdir build
cd build
cmake ..
make

it does work, though I also had to

pip install SWIG

There is an executable wt, and a library: libwiredtiger.so

I wanted to build statically and with debugging. The purpose is to be able to walk through the code for a future course in database.

It is not obvious how to do this. For one thing, the documentation claims the default is to generate dynamic and static libraries (not true).

I just looked up in cmake docs and was able to build with debugging:

cmake -B build -DCMAKE_BUILD_TYPE=Debug .

It still only builds a shared object library.

In addition, building the examples does not work.

Can anyone explain how to build the examples? I was trying to do it by hand because the cmakefile failed but there are lots of directories that need to be included.

Ideally, I don't want to install this in the system, just build wiredtiger in the directory, link examples into the static library, and run without changing anything in the system.

Will Korteland

unread,
Apr 22, 2024, 9:32:44 PMApr 22
to wiredtig...@googlegroups.com
Hi,

Firstly - thanks for your interest in WiredTiger! Sorry to hear that you had a bad experience getting started with it.

Can I ask for the URL you looked at for the build instructions? I ask because the current documentation page for this process (https://source.wiredtiger.com/develop/build-posix.html) does not mention ./configure, nor does it state that it will generate both static and dynamic libraries. So it's possible you're looking at an old version of the page.

With the current instructions, and with SWIG installed, you should be able to do:

mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Debug -DENABLE_STATIC=1 ../.
make

After doing this the examples should also be present in the build/examples/c directory. If you don't want to install SWIG, you can also add -DENABLE_PYTHON=0 to the CMake flags.

Hopefully this works a little better for you.

All the best,
 - Will

--
You received this message because you are subscribed to the Google Groups "wiredtiger-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to wiredtiger-use...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/wiredtiger-users/06cf6f28-98d4-46c3-9e85-08f432b274d3n%40googlegroups.com.

Dov Kruger

unread,
May 3, 2024, 3:06:42 PMMay 3
to wiredtig...@googlegroups.com
Sorry for the delay in my response.
Here is the link where I find ./configure and other obsolete instructions:


Thanks to you, I successfully built a static library of wiredtiger, but still cannot build the examples linking to it.
Can you tell me what to do now that I have the .a file?

You received this message because you are subscribed to a topic in the Google Groups "wiredtiger-users" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/wiredtiger-users/3Gph-K2kKF4/unsubscribe.
To unsubscribe from this group and all its topics, send an email to wiredtiger-use...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/wiredtiger-users/CAGJbWwJdDPzbdLnZWx3YGU3XkL8u8FCUig1%2B1UYVfGpsQocz6g%40mail.gmail.com.

Etienne Petrel

unread,
May 4, 2024, 3:00:15 AMMay 4
to wiredtig...@googlegroups.com
Hi Dov!

Good to hear you could build WiredTiger! The documentation you shared is outdated, please refer to the latest one (note the "develop" instead of "1.4.2" in the URL).
You can find instructions on building WiredTiger with CMake on this page. We also have a README in our GitHub repo. You will notice duplicate information, sorry for that, we are working on tidying things up. Both pages are worth reading for now.

Please, could you try to follow those steps and let us know if you can run the examples provided? Thank you.

Etienne




--

{ name     : "Etienne Petrel",
  title    : "Senior Software Engineer, Storage Engines",
  location : "Sydney, AU" }

Reply all
Reply to author
Forward
0 new messages