Bug 7924 - cblink prints interfers with gcc output if passed to stdout
Summary: cblink prints interfers with gcc output if passed to stdout
Status: NEW
Alias: None
Product: ThinLinc
Classification: Unclassified
Component: Build system (show other bugs)
Version: trunk
Hardware: PC Unknown
: P2 Normal
Target Milestone: LowPrio
Assignee: Bugzilla mail exporter
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-05-16 12:54 CEST by Linn
Modified: 2022-05-17 13:32 CEST (History)
0 users

See Also:
Acceptance Criteria:


Attachments

Description Linn cendio 2022-05-16 12:54:32 CEST
If the output of gcc is passed to stdout, the prints from cblink will be included in the final output. This caused issues when the generated dependency rules were wrongly formatted due to the extra prints from cblink.

The code below would have this issue if it was called with cblink instead of a regular call.

tlclient/Makefile:
> $(CXX) -M $(CFLAGS) $(INCLUDES) *.cc services/*.cc xmlrpc++/src/*.cpp > Makefile.dep

Some possible solutions could be by using stderr instead, or adding different handling depending on how the command is called.
Comment 1 Linn cendio 2022-05-17 13:32:39 CEST
The error below was seen when building 'feh' (as part of bug 3054). The issue was worked around by building file deps.mk separately before building the whole project.

> 13:15:57 [linma@linma tlmisc]$ cbrun x86_64 make feh
> CBLINK_BINSTATIC="Imlib2 Xcb" CBLINK_ADD="-lXext -lxcb -ldl -lXau -lXdmcp -lfreetype" \
> 	make -C feh magic=0 \
> 	LDFLAGS="-g" \
> 	CC="cblink --as-needed --disable-rpath gcc"
> make[1]: Entering directory `/local/home/linma/thinlinc-git/ctc/tlmisc/feh'
> make[2]: Entering directory `/local/home/linma/thinlinc-git/ctc/tlmisc/feh/src'
> deps.mk:1: *** target pattern contains no `%'.  Stop.
> make[2]: Leaving directory `/local/home/linma/thinlinc-git/ctc/tlmisc/feh/src'
> make[1]: *** [build-src] Error 2

Note You need to log in before you can comment on or make changes to this bug.