tsduck / tsduck

MPEG Transport Stream Toolkit
https://tsduck.io
BSD 2-Clause "Simplified" License
796 stars 197 forks source link

[BUG] tsWinUtils.h missing when building on aarch64 #1469

Open omikron88 opened 3 weeks ago

omikron88 commented 3 weeks ago

When building tsduck on Rasbian 12 (Pi5), it ends with

setpath.cpp:24:10: fatal error: tsWinUtils.h: No such file or directory 24 | #include "tsWinUtils.h"

How to reproduce:

git clone https://github.com/tsduck/tsduck.git cd tsduck scripts/install-prerequisites.sh make

Environment:

lelegard commented 3 weeks ago

Hi @omikron88

The tool setpath is a Windows-only tool. It is used in the TSDuck installer for Windows. It is not compiled on non-Windows systems, never with make.

In the directory src/utils, the makefile contains this:

EXECS := $(addprefix $(BINDIR)/,$(filter-out setpath $(if $(NOTEST)$(NOSTATIC),tsprofiling,),$(sort $(notdir $(basename $(wildcard *.cpp))))))

This means that setpath is explicitly filtered out of the list of executables to build.

You must have typed some distinct command. Please provide the complete log of your make command.

(and, by the way, because of the extra-long compilation time, always provide some level of parallelism, such as make -j4 or make -j10, depending on your number of cores and memory size)

lelegard commented 3 weeks ago

@omikron88

Sorry, there was a recent regression in the makefiles. The error you saw was in the early phase of the dependencies generation. Since your log was partial (only the error message, not the context), I thought it was in the compilation phase.

This is fixed now. You have to pull the repo again.

omikron88 commented 3 weeks ago

Thank you. It works fine now. Compilation on Raspberry Pi5 is quite fast with make -j4

lelegard commented 3 weeks ago

Compilation on Raspberry Pi5 is quite fast with make -j4

And on my iMac M3, a full make -j10 completes in 2mn 15s... Parallelism is essential on large builds.