[subexp-daq] Possible problem in Makefile of NURDLIB
Håkan T Johansson
f96hajo at chalmers.se
Mon Apr 15 13:31:16 CEST 2024
On Mon, 15 Apr 2024, Weber, Guenter Dr. wrote:
>
> Dear Håkan,
>
>
> does this also mean that I can just do the following
>
>
> make fw_1409285e_trlo_build # choose the vulom4b trlo
>
>
> even if I have a VULOM4 instead of VULOM4B in my setup?
>
>
> My understanding was that I should use
>
>
> make fw_6e4ba1a9_trlo_build # choose the vulom4 trlo
>
> instead.
Yes. find_firmwares.pl set most directories up as symlinks to each other
when they have the same register layout.
Cheers,
Håkan
>
>
>
>
> Thank you very much!
>
>
>
>
>
> Best greetings
>
> Günter
>
>
> ____________________________________________________________________________
> Von: subexp-daq <subexp-daq-bounces at lists.chalmers.se> im Auftrag von Håkan
> T Johansson <f96hajo at chalmers.se>
> Gesendet: Montag, 15. April 2024 12:59:46
> An: Discuss use of Nurdlib, TRLO II, drasi and UCESB.
> Betreff: Re: [subexp-daq] Possible problem in Makefile of NURDLIB
>
> On Mon, 15 Apr 2024, Weber, Guenter Dr. wrote:
>
> >
> > Dear Håkan,
> >
> >
> > thank you very much for the explanations and the modifications.
> >
> >
> > I see that you updated the automatic determination of the VULOM4_FW
> variable
> > in the NURDLIB Makefile. Just for clarification: it will always come up
> with
> > the VULOM4B version, even though there might be a VULOM4 module in the
> > setup, as the firmware for both modules is identical for the purpose of
> this
> > compilation, right?
>
> Yes, that is the idea.
>
> If the trloii/trloctrl/ contain several incompatible versions, it will
> just pick the first, which might not work. But in that case, at least the
> setup routines will complain about alias not in list, and then one has
> to clean up. I think we can live with that.
>
> The rest below is for Hans :-)
>
> Cheers,
> Håkan
>
> > Moreover, to make things more comfortable for the user, I added the
> > following code to the Makefile:
> >
> >
> > ifeq (,$(TRLOII_PATH))
> > TRLOII_PATH_TEST:=$(shell pwd)/../trloii
> > ifeq ("$(wildcard $(TRLOII_PATH_TEST))", "")
> > TRLOII_ERROR:=WARNING: Makefile guessed $(TRLOII_PATH_TEST), but folder
> does
> > not exist!
> > $(call infovar,TRLOII_ERROR)
> > else
> > TRLOII_PATH:=$(TRLOII_PATH_TEST)
> > endif
> > endif
> >
> > This assumes that it is unlikey that you want to compile NURDLIB without
> > TRLOII being present. But maybe, if it is desired to decide if NURDLIB
> > should compile with or without TRLOII it is better to have this as an
> > explict option for "make" instead of doing it implicitly by having the
> > TRLOII_PATH variable being set by hand or not.
> >
> >
> >
> >
> >
> >
> > Best greetings
> >
> > Günter
> >
> >
> >
> >___________________________________________________________________________
> _
> > Von: subexp-daq <subexp-daq-bounces at lists.chalmers.se> im Auftrag von
> Håkan
> > T Johansson <f96hajo at chalmers.se>
> > Gesendet: Samstag, 13. April 2024 03:50:36
> > An: Discuss use of Nurdlib, TRLO II, drasi and UCESB.
> > Betreff: Re: [subexp-daq] Possible problem in Makefile of NURDLIB
> >
> > 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