heres the output of makepkg -si on the PKGBUILD file in serialosc-git I downloaded from arch linux wiki: http://ix.io/21s8

okay, that’s a known problem with GCC 9. You can either patch libuv here or just build serialosc with -Wno-address-of-packed-member added to CFLAGS temporarily. I am going to look into this over the weekend, see if we can update the bundled libuv.

3 Likes

Okay, good to know its a known issue with GCC9.
What do you mean by ā€œpatch libuv hereā€? Do you mean patch it into the makepkg build? Do you know what file I might need to refer to do that?
running the command: makepkg -si -Wno-address-of-packed-member. using you CFLAGS suggestion returns. makepkg: invalid option – ā€˜W’. What have I miss understood from you there?
That would be great if the bundled libuv is updated of course, that would be ideal :slight_smile:

it’s not exactly an issue with GCC, rather GCC9 is being more strict with checking pointer value types in packed structs.

if you want to build it with GCC9, i’m suggesting that you don’t use the arch package manager and build serialosc manually, either after modifying the included libuv sources to not use the packed attribute for ev_poll struct, or configuring the build to have -Wno-address-of-packed-member in CFLAGS, i.e. by running CFLAGS=-Wno-address-of-packed-member ./waf configure

Okay so this is what Ill do next. Can you confirm Im interpreting what your saying with enough accuracy ?

  1. Download serialosc-git. Shall I download it from arch git here: git clone https://aur.archlinux.org/serialosc-git.git. Or shall I download from here: https://github.com/monome/serialosc.git. I’m pretty confident your suggesting the second link here?

  2. Either:

    • modify the included libuv sources to not use packed attribute for ev_pool struct. NOTE: At this point i don’t know what file that would be in?

    • Or configuring the build file. This is done by running the command CFLAGS=-Wno-address-ofpacked-member ./waf configure. << Is this written inside the build file?

  1. Yes, 2nd link.
  2. Use the 2nd option, if you’re not comfortable with first. You will have to run the following command from source directory: CFLAGS=-Wno-address-ofpacked-member ./waf configure

Okay.

Is that all thats required have installed serialosc? I was now going to refer to this page: https://monome.org/docs/serialosc/linux/ and follow the arch linux setup (ignoring using yay for serialosc). What do you reckon?

After ./waf configure you gotta run ./waf and maybe ./waf install to install it system-wide or just run it locally with ./build/bin/serialoscd, basically following https://monome.org/docs/serialosc/raspbian/

Don’t forget to replace debian-specific package install instructions with arch-specific.

uh oh. libuv error came back when I ran CFLAGS=-Wno-address-ofpacked-member ./waf

heres the output: http://ix.io/1WCk

Do we know why it wasnt avoided here?

did you pass CFLAGS at configure stage? also what’s the output of ./waf -v?

I believe I’ve passed CFLAGS at configure. I interpreting this as I ran CFLAGS=-Wno-address-ofpacked-member ./waf configure and then this was the output: http://ix.io/1WUm. Correct me if I’ve miss understood what you mean by pass CFLAGS.

Heres the output of ./waf -v is: http://ix.io/1WUB

Ah, sorry, my mistake above. Notice, that the flag is passed to the compiler:

But there’s a typo, should be -Wno-address-of-packed-member, can you try it with a dash?

please can you type the exact command, that you mean?

CFLAGS=-Wno-address-of-packed-member ./waf configure
./waf

ah sorry see. cool. Configure went fine so did ./waf.
Heres the output for ./waf install: http://ix.io/1WX2

Like I mentioned above, you should only do waf install if you want a system-wide install for some reason, but I won’t recommend this if you’re not sure what you’re doing. Try running it locally as described above and see if it work fine first.

okay the monomes plugged in this is the responce from ./build/bin/serialoscd: http://ix.io/1X1M

because Im running it locally is there a problem reaching libmonome?

It’s unrelated to running locally, but there clearly is some problem with your libmonome install, unfortunately I don’t know how yay installs packages, so can’t be of much help here. Was it installed without errors?

no errors but so im not alone I’ll download libmonome from: https://github.com/monome/libmonome and report what it says next. Its hard to document yay’s results

i’ve downloaded https://github.com/monome/libmonome.
heres the result of ./waf configure: http://ix.io/1XE7
…and the result of ./waf: http://ix.io/1XHa

got the same error still from running serialoscd.

I guess its a case now of installing ftdi_sio and usbserial…
also Im not yet clear what you meant yet by ā€œDon’t forget to replace debian-specific package install instructions with arch-specificā€