[subexp-daq] Possible problem in Makefile of NURDLIB
Håkan T Johansson
f96hajo at chalmers.se
Sat Apr 13 03:50:36 CEST 2024
Dear Günter,
we think that we have managed to solve the issues at hand (there were
multiple):
- The missing TRIDI compile: r3bfuser compiles (unconditionally) with both
tridi and vulom support if it compiles with one of them. (tridi is a
module with similar hardware as the vulom). Now the compile
instructions also include to get the tridi things compiles.
- The VULOM4_FW now only picks one version, which should be enough.
Those named _trlo actually have the same register layout, and
find_firmwares.pl point them to the same, so any should do.
(Please see the updated instructions in the other mail. Only the
compilation sequence had additions, not the download parts. But nurdlib
and r3bfuser repositores need to be updated.
For this:
> Reporting compilation errors when they happen and why they happen would
> be really very much appreciated
I am not sure what can be done when the issues are within the
feature-finding builds. I.e., when those fail, it just means that
certains options are not available. Problem is when later programs rely
on them.
if anything, the later programs should then produce more specific errors
telling what they are missing. That might be doable with some #error
macros, if they do not have complex makefiles to find features.
The other thing might be that 'make showconfig' is too cluttered. There
are essentially two kinds of features. The uninteresting ones where the
systems need to find one working option out of many. If no option works,
things will stop, as it cannot continue.
The more interesting selections are the ones where it can get away with no
support, i. this case e.g. not compiling tridi support.
Perhaps one should have a 'make showconfig_all' which works as the one
now, and 'make showconfig' only giving the important ones.
Cheers,
Håkan
On Fri, 12 Apr 2024, Weber, Guenter Dr. wrote:
>
> Dear friends,
>
>
> on line 108 to 110 of the Makefile there is an automatic setting of the
> VULOM4_FW parameter:
>
>
> ifeq (,$(VULOM4_FW))
> VULOM4_FW:=$(shell ls $(TRLOII_PATH)/trloctrl | grep _trlo | $(SED)
> 's,fw_,,;s,_trlo.*,,')
> endif
>
> However, if I let this run (i.e. VULOM4_FW is not set by hand) the outcome
> is as follows:
>
>
> VULOM4_FW = "1409285e 68f8955e 6e4ba1a9 a73c5093 af33ed35"
>
>
> My understandig is that there should only be a single number selected
> (1409285e for VULOM4B and 6e4ba1a9 for VULOM4). I checked what the "ls"
> command produces on two systems:
>
>
> RIO4L-2 mbsdaq > ls $TRLOII_PATH/trloctrl
> Makefile examples/ find_firmwares.pl* firmwaredirs fw_0866c243_rfx1/
> fw_1409285e_trlo@ fw_5e8f5ef4_tridi/ fw_68f8955e_trlo_all_in/
> fw_6e4ba1a9_trlo/ fw_a1729cda_rfx0/ fw_a73c5093_trlo@
> fw_af33ed35_trlo_big/ trloctrl.sh* trlolib/
>
> RIO4-MCAL-1 mbsdaq > ls $TRLOII_PATH/trloctrl
> Makefile examples/ find_firmwares.pl* firmwaredirs fw_0866c243_rfx1/
> fw_1409285e_trlo@ fw_5e8f5ef4_tridi/ fw_68f8955e_trlo_all_in/
> fw_6e4ba1a9_trlo/ fw_a1729cda_rfx0/ fw_a73c5093_trlo@
> fw_af33ed35_trlo_big/ tridi_log.txt trloctrl.sh* trlolib/ vulom_log.txt
>
>
> RIO4L-2 is the one I am working on right now with the VULOM4, whereas
> RIO4-MCAL-1 is the system already running with VULOM4B.
>
>
> To me it looks like the code in the Makefile is not working as intended,
> right?
>
>
>
>
>
> Best greetings
>
> Günter
>
>
>
>
More information about the subexp-daq
mailing list