Making DCP-O-Matic Package Locally

Anything and everything to do with DCP-o-matic.
rahmani
Posts: 97
Joined: Sat Jun 17, 2017 1:24 pm

Making DCP-O-Matic Package Locally

Post by rahmani »

Hello everyone,

Does anyone have any experience building a package locally for Win64? I tried the steps here: https://dcpomatic.com/building/windows but, was unsuccessful.
It seems like Carl needs to make some changes to the commands required for making packages and necessary libraries.

Respectfully
carl
Site Admin
Posts: 2997
Joined: Thu Nov 14, 2013 2:53 pm

Re: Making DCP-O-Matic Package Locally

Post by carl »

What error did you get when you tried?
rahmani
Posts: 97
Joined: Sat Jun 17, 2017 1:24 pm

Re: Making DCP-O-Matic Package Locally

Post by rahmani »

here is the result for: "./waf configure" after many hours for making libraries.

Setting top to : /mnt/c/dcpomatic-git
Setting out to : /mnt/c/dcpomatic-git/build
Checking for 'g++' (C++ compiler) : x86_64-w64-mingw32.shared-g++
Checking for SSE support : yes
Checking for library boost_system : not found
Checking for library dl : yes
Checking for program 'pkg-config' : x86_64-w64-mingw32.shared-pkg-config
Checking for 'libcurl' : yes
Checking for 'icu-i18n icu-uc' : yes
Checking for 'icu-i18n' version : 74.2
Checking for 'samplerate' : yes
Checking for 'glib-2.0' : yes
Checking for 'libzip' : yes Checking for zip_source_t : yes
Checking for zip_file_add : yes
Checking for ZIP_RDONLY : yes
Checking for libbz2 : yes
Checking for libz : yes Checking for 'fontconfig' : yes
Checking for 'pangomm-1.4' : yes
Checking for 'cairomm-1.0' : yes
Checking for 'libcxml' : yes
Checking for library libssh : yes
Checking for 'libsub-1.0' : not found
The configuration failed
carl
Site Admin
Posts: 2997
Joined: Thu Nov 14, 2013 2:53 pm

Re: Making DCP-O-Matic Package Locally

Post by carl »

Can you show us /mnt/c/dcpomatic-git/build/config.log ?
rahmani
Posts: 97
Joined: Sat Jun 17, 2017 1:24 pm

Re: Making DCP-O-Matic Package Locally

Post by rahmani »

Please find the attached file.
You do not have the required permissions to view the files attached to this post.
carl
Site Admin
Posts: 2997
Joined: Thu Nov 14, 2013 2:53 pm

Re: Making DCP-O-Matic Package Locally

Post by carl »

So you're building it "manually" rather than using the cdist tool that is suggested in the instructions?

This configure error is because libsub-1.0.pc is not found anywhere in the path specified by PKG_CONFIG_PATH. cdist would set this up for you, but if you want to roll your own you need to do it yourself.
rahmani
Posts: 97
Joined: Sat Jun 17, 2017 1:24 pm

Re: Making DCP-O-Matic Package Locally

Post by rahmani »

I checked my MXE build and there is actually no libsub library and no libsub-1.0.pc file anywhere under the MXE installation. You mentioned that cdist would set this up automatically. For a manual build, should I first build and install libsub separately? If so, where should I get the libsub source from?

Just to clarify why I did not follow the cdist build method from the beginning:

Initially I tried to use the recommended build environment, but Docker repeatedly failed on my system with network/authentication errors (TLS handshake timeouts and image download failures). Because of that, I switched to WSL2 and built the MXE toolchain manually.
At that time, cdist was not installed on my system, and I was not sure whether you meant the standard Ubuntu cdist package or a project-specific tool. Since the MXE toolchain built successfully, I continued with a manual build instead.

Now I understand from your reply that cdist also prepares the build environment (including PKG_CONFIG_PATH and probably other dependencies), so I wanted to explain why I took the manual route.

Should I switch to the cdist method now, or would you recommend continuing with the manual build.

Thank you for your help.
carl
Site Admin
Posts: 2997
Joined: Thu Nov 14, 2013 2:53 pm

Re: Making DCP-O-Matic Package Locally

Post by carl »

I would suggest starting with the cdist build, as it will pull in the dependencies and build the correct versions with the appropriate waf flags. If you use something like

Code: Select all

cdist -p dcpomatic -c main -t windows-64 -k -w some_work_dir build
it will build everything and leave the sources behind in some_work_dir, so you can subsequently use waf much more easily (as everything is already downloaded, checked out and configured).

cdist is a tool that I made and is only for DCP-o-matic and its dependent libraries. It doesn't put anything else in the mxe installation, that is just used to get the dependencies that we can normally get from the distribution on Linux.

If you haven't already you will need to set mxe_prefix in $HOME/.config/cdist to wherever your mxe install is.
rahmani
Posts: 97
Joined: Sat Jun 17, 2017 1:24 pm

Re: Making DCP-O-Matic Package Locally

Post by rahmani »

Please let me know where I should get this special tool "cdist".
carl
Site Admin
Posts: 2997
Joined: Thu Nov 14, 2013 2:53 pm

Re: Making DCP-O-Matic Package Locally

Post by carl »