Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Problem compiling backported version - please help #18

Open
PA3FUN opened this issue Aug 3, 2024 · 9 comments
Open

Problem compiling backported version - please help #18

PA3FUN opened this issue Aug 3, 2024 · 9 comments

Comments

@PA3FUN
Copy link

PA3FUN commented Aug 3, 2024

Good day Geoffrey.
When building the backported version for kernel 5.15 I run into a problem. For most folks here probably something trivial, but not for me, sorry.

Kernel: 5.15.0-117-generic
OS: Ubuntu 20.04.6 LTS

When following the instructions I enter the command "make -j4 -C $KSRCDIR M=$(pwd)" building starts but problems arise when compiling "mixer_scarlett2.c", see below. From what I understand, it could be a compiler-version related issue.
I therefore checked the compiler in use:

musician@Testbox1:/Downloads/snd-usb-audio-kmod-5.15-v1.2$ gcc --version
gcc (Ubuntu 9.4.0-1ubuntu1
20.04.2) 9.4.0
Copyright (C) 2019 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Any help appreciated! and thanks for a great job well done!

Christiaan

/home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.2/mixer_scarlett2.c: In function ‘scarlett2_update_autogain’:
/home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.2/mixer_scarlett2.c:3411:11: error: redeclaration of ‘i’ with no linkage
3411 | for (int i = 0; i < SCARLETT2_AG_TARGET_COUNT; i++)
| ^
/home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.2/mixer_scarlett2.c:3369:11: note: previous declaration of ‘i’ was here
3369 | int err, i;
| ^
/home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.2/mixer_scarlett2.c:3411:2: error: ‘for’ loop initial declarations are only allowed in C99 or C11 mode
3411 | for (int i = 0; i < SCARLETT2_AG_TARGET_COUNT; i++)
| ^~~
/home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.2/mixer_scarlett2.c:3411:2: note: use option ‘-std=c99’, ‘-std=gnu99’, ‘-std=c11’ or ‘-std=gnu11’ to compile your code
/home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.2/mixer_scarlett2.c:3422:11: error: redefinition of ‘i’
3422 | for (int i = 0; i < SCARLETT2_AG_TARGET_COUNT; i++)
| ^
/home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.2/mixer_scarlett2.c:3411:11: note: previous definition of ‘i’ was here
3411 | for (int i = 0; i < SCARLETT2_AG_TARGET_COUNT; i++)
| ^
/home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.2/mixer_scarlett2.c:3422:2: error: ‘for’ loop initial declarations are only allowed in C99 or C11 mode
3422 | for (int i = 0; i < SCARLETT2_AG_TARGET_COUNT; i++)
| ^~~
CC [M] /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.2/mixer_us16x08.o
/home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.2/mixer_scarlett2.c: In function ‘scarlett2_compressor_ctl_put’:
/home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.2/mixer_scarlett2.c:5408:2: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
5408 | const struct compressor_param *param = &compressor_params[param_index];
| ^~~~~
make[1]: *** [scripts/Makefile.build:297: /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.2/mixer_scarlett2.o] Error 1
make[1]: *** Waiting for unfinished jobs....

@geoffreybennett
Copy link
Owner

Hi @PA3FUN,

No need to apologise; I accidentally used some constructs in the code that I shouldn't have, which causes it to not build on older distros.

Can you try the new v1.3a that I uploaded for you here:

https://github.com/geoffreybennett/scarlett-gen2/releases/tag/v6.9-v1.3

Let me know how you go please.

Regards,
Geoffrey.

@PA3FUN
Copy link
Author

PA3FUN commented Aug 4, 2024

Hi Geoffrey.

Thanks for your prompt reply!
I'd love to give the v1.3a a try right-away, but:

  1. I'm on holiday in France (motorhome with 4G-router and 200MB/month subscription :) ) ;
  2. for testing purposes I only have access to a Ubuntu 20.04.6 box at my home in The Netherlands;
    and after doing my previous posting I've upgraded the kernel of that box to "6.10.3-061003-generic".

Since I obviously don't have physical access to the keyboard I'm not able to boot the box in its original 5.8.15-kernel again, and therefore not able to do the test right now :( .

The good news related to the kernel-update mentioned is that a) the scarlett-gen2 driver is indeed present in this kernel and b) building the alsa-scarlet-gui on this kernel went perfectly well, following the "flatpak-build" route described in the associated READ.me-file. So basically I'm able to configure the Focusrite connected to the box :).

Despite having a working set-up already; I expect to be back home in roughly two weeks, will then do the test and get back to you with an update!

Greetings from Meuzac, France.
Christiaan PA3FUN

@geoffreybennett
Copy link
Owner

No problem, and that's great news!

Enjoy your holiday!

@PA3FUN
Copy link
Author

PA3FUN commented Aug 5, 2024

Hi Geoffrey.
I suddenly remembered having a 2nd Ubuntu 20.04.6 box available/on-line at my home address, that box still running kernel 5.15.0-117-generic. So - I gave it a try.
Though the compilation in itself seems to work okay now, still no success, pse check the following output resulting from the command
$ make -j4 -C $KSRCDIR M=$(pwd)

Please let me know if you need any more info.

kind regards,
Christiaan PA3FUN

musician@Junctionbox:/Downloads/snd-usb-audio-kmod-5.15-v1.3a$ make -j4 -C $KSRCDIR M=$(pwd)
make: Entering directory '/usr/src/linux-headers-5.15.0-117-generic'
CC [M] /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/misc/ua101.o
CC [M] /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/usx2y/usbusx2y.o
CC [M] /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/caiaq/device.o
CC [M] /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/6fire/chip.o
CC [M] /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/6fire/comm.o
CC [M] /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/usx2y/usX2Yhwdep.o
CC [M] /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/caiaq/audio.o
LD [M] /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/misc/snd-ua101.o
CC [M] /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/6fire/midi.o
CC [M] /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/6fire/control.o
CC [M] /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/usx2y/usx2yhwdeppcm.o
CC [M] /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/6fire/firmware.o
CC [M] /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/caiaq/midi.o
CC [M] /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/6fire/pcm.o
CC [M] /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/caiaq/control.o
CC [M] /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/caiaq/input.o
CC [M] /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/usx2y/us122l.o
LD [M] /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/6fire/snd-usb-6fire.o
CC [M] /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/hiface/chip.o
CC [M] /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/hiface/pcm.o
LD [M] /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/caiaq/snd-usb-caiaq.o
CC [M] /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/bcd2000/bcd2000.o
CC [M] /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/line6/capture.o
LD [M] /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/usx2y/snd-usb-usx2y.o
LD [M] /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/usx2y/snd-usb-us122l.o
CC [M] /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/card.o
LD [M] /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/hiface/snd-usb-hiface.o
CC [M] /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/clock.o
LD [M] /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/bcd2000/snd-bcd2000.o
CC [M] /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/endpoint.o
CC [M] /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/line6/driver.o
CC [M] /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/format.o
CC [M] /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/helper.o
CC [M] /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/implicit.o
CC [M] /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/line6/midi.o
CC [M] /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/mixer.o
CC [M] /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/line6/midibuf.o
CC [M] /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/line6/pcm.o
CC [M] /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/mixer_quirks.o
CC [M] /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/line6/playback.o
CC [M] /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/line6/pod.o
CC [M] /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/line6/podhd.o
CC [M] /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/mixer_scarlett.o
CC [M] /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/mixer_scarlett2.o
CC [M] /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/line6/toneport.o
CC [M] /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/mixer_us16x08.o
CC [M] /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/line6/variax.o
LD [M] /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/line6/snd-usb-line6.o
LD [M] /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/line6/snd-usb-pod.o
LD [M] /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/line6/snd-usb-podhd.o
LD [M] /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/line6/snd-usb-toneport.o
CC [M] /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/mixer_s1810c.o
LD [M] /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/line6/snd-usb-variax.o
CC [M] /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/pcm.o
CC [M] /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/power.o
CC [M] /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/proc.o
CC [M] /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/quirks.o
CC [M] /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/stream.o
CC [M] /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/validate.o
CC [M] /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/media.o
CC [M] /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/midi.o
LD [M] /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/snd-usb-audio.o
LD [M] /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/snd-usbmidi-lib.o
MODPOST /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/Module.symvers
CC [M] /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/6fire/snd-usb-6fire.mod.o
CC [M] /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/bcd2000/snd-bcd2000.mod.o
CC [M] /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/caiaq/snd-usb-caiaq.mod.o
CC [M] /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/hiface/snd-usb-hiface.mod.o
CC [M] /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/line6/snd-usb-line6.mod.o
CC [M] /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/line6/snd-usb-pod.mod.o
CC [M] /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/line6/snd-usb-podhd.mod.o
CC [M] /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/line6/snd-usb-toneport.mod.o
CC [M] /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/line6/snd-usb-variax.mod.o
CC [M] /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/misc/snd-ua101.mod.o
CC [M] /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/snd-usb-audio.mod.o
CC [M] /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/snd-usbmidi-lib.mod.o
CC [M] /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/usx2y/snd-usb-us122l.mod.o
CC [M] /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/usx2y/snd-usb-usx2y.mod.o
LD [M] /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/6fire/snd-usb-6fire.ko
BTF [M] /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/6fire/snd-usb-6fire.ko
Skipping BTF generation for /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/6fire/snd-usb-6fire.ko due to unavailability of vmlinux
LD [M] /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/bcd2000/snd-bcd2000.ko
LD [M] /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/caiaq/snd-usb-caiaq.ko
BTF [M] /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/bcd2000/snd-bcd2000.ko
Skipping BTF generation for /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/bcd2000/snd-bcd2000.ko due to unavailability of vmlinux
LD [M] /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/hiface/snd-usb-hiface.ko
BTF [M] /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/hiface/snd-usb-hiface.ko
Skipping BTF generation for /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/hiface/snd-usb-hiface.ko due to unavailability of vmlinux
LD [M] /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/line6/snd-usb-line6.ko
BTF [M] /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/caiaq/snd-usb-caiaq.ko
Skipping BTF generation for /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/caiaq/snd-usb-caiaq.ko due to unavailability of vmlinux
LD [M] /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/line6/snd-usb-pod.ko
BTF [M] /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/line6/snd-usb-pod.ko
Skipping BTF generation for /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/line6/snd-usb-pod.ko due to unavailability of vmlinux
LD [M] /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/line6/snd-usb-podhd.ko
BTF [M] /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/line6/snd-usb-line6.ko
Skipping BTF generation for /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/line6/snd-usb-line6.ko due to unavailability of vmlinux
BTF [M] /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/line6/snd-usb-podhd.ko
Skipping BTF generation for /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/line6/snd-usb-podhd.ko due to unavailability of vmlinux
LD [M] /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/line6/snd-usb-toneport.ko
LD [M] /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/line6/snd-usb-variax.ko
BTF [M] /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/line6/snd-usb-variax.ko
Skipping BTF generation for /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/line6/snd-usb-variax.ko due to unavailability of vmlinux
BTF [M] /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/line6/snd-usb-toneport.ko
Skipping BTF generation for /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/line6/snd-usb-toneport.ko due to unavailability of vmlinux
LD [M] /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/misc/snd-ua101.ko
LD [M] /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/snd-usb-audio.ko
BTF [M] /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/misc/snd-ua101.ko
Skipping BTF generation for /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/misc/snd-ua101.ko due to unavailability of vmlinux
LD [M] /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/snd-usbmidi-lib.ko
BTF [M] /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/snd-usbmidi-lib.ko
Skipping BTF generation for /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/snd-usbmidi-lib.ko due to unavailability of vmlinux
BTF [M] /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/snd-usb-audio.ko
Skipping BTF generation for /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/snd-usb-audio.ko due to unavailability of vmlinux
LD [M] /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/usx2y/snd-usb-us122l.ko
BTF [M] /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/usx2y/snd-usb-us122l.ko
Skipping BTF generation for /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/usx2y/snd-usb-us122l.ko due to unavailability of vmlinux
LD [M] /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/usx2y/snd-usb-usx2y.ko
BTF [M] /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/usx2y/snd-usb-usx2y.ko
Skipping BTF generation for /home/musician/Downloads/snd-usb-audio-kmod-5.15-v1.3a/usx2y/snd-usb-usx2y.ko due to unavailability of vmlinux
make: Leaving directory '/usr/src/linux-headers-5.15.0-117-generic'
musician@Junctionbox:
/Downloads/snd-usb-audio-kmod-5.15-v1.3a$

@geoffreybennett
Copy link
Owner

Hi Christiaan,

I agree, that looks like a successful compilation. I'm not sure why you say "no success"? Have you run the following two commands to install the module?

sudo make -j4 -C $KSRCDIR M=$(pwd) INSTALL_MOD_DIR=updates/snd-usb-audio modules_install
sudo depmod

Regards,
Geoffrey.

@PA3FUN
Copy link
Author

PA3FUN commented Aug 5, 2024

Oops.. I think where I may have gone astray?!
After building (and installing) the driver, I issued the "$dmesg ..." command from a terminal.
It reported nothing related to a focusrite, and I assumed this being caused by the driver not having been updated.
However, giving this a 2nd thought, that's simply because no focusrite is attached?!
Being in France on a holiday trip means enjoying one (or two) glasses of wine. That may be the reason for my initial assumption the driver hadn't been updated...
Tomorrow my oldest son will go to my place and hook-up an 18i20 interface to the Ubunto-box.
I'll let you know the result :)

Greetings again fro France,
Christiaan PA3FUN

@geoffreybennett
Copy link
Owner

Yes, the driver initialisation messages ("Focusrite ... Mixer Driver enabled" etc.) will only show when you attach a supported device. You may also need to reboot if the snd-usb-audio module had already been loaded.

@PA3FUN
Copy link
Author

PA3FUN commented Aug 6, 2024

Schermafbeelding 2024-08-06 om 13 44 57

Yes! Looking great. Focusrite 18i8 on Ubuntu 20.04.6, kernel 5.15.0-117-generic.

Thanks a lot Geoffrey.

B.t.w. As a volunteer I'm supporting a Dutch ensemble specialized in contemporary music. Should you be interested, please have a look at a registration of one of "our" recent concerts, where four church-organs jointly played a new composition written for a special occasion, and where those organs where interlinked via Internet using a high-speed mesh-network.

https://www.youtube.com/watch?v=T-Vryei3sPI

@geoffreybennett
Copy link
Owner

Looking good! And thank you for sharing! I'm listening to it now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants