monome / libmonome

makes writing applications for Monomes easy.
ISC License
304 stars 159 forks source link

Build fails with Python > 3.6 because of old waf version #67

Closed simonvanderveldt closed 3 years ago

simonvanderveldt commented 4 years ago

When trying to build with Python 3.7 I get the following error message

 * libmonome-1.4.1.tar.gz BLAKE2B SHA512 size ;-) ...                    [ ok ]

]0;9d5840e5020d: emerge: (1 of 1) media-libs/libmonome-1.4.1-r1 Compile * Using python3.7 to build

>>> Unpacking source...

>>> Unpacking libmonome-1.4.1.tar.gz to /var/tmp/portage/media-libs/libmonome-1.4.1-r1/work

>>> Source unpacked in /var/tmp/portage/media-libs/libmonome-1.4.1-r1/work

>>> Preparing source in /var/tmp/portage/media-libs/libmonome-1.4.1-r1/work/libmonome-1.4.1 ...

>>> Source prepared.

>>> Configuring source in /var/tmp/portage/media-libs/libmonome-1.4.1-r1/work/libmonome-1.4.1 ...

'CCFLAGS=-O2 -pipe' 'LINKFLAGS=-O2 -pipe -Wl,-O1 -Wl,--as-needed' 'PKGCONFIG=x86_64-pc-linux-gnu-pkg-config' '/var/tmp/portage/media-libs/libmonome-1.4.1-r1/work/libmonome-1.4.1/waf' '--prefix=/usr' '--disable-osc' '--disable-udev' 'configure'

Traceback (most recent call last):

  File "/var/tmp/portage/media-libs/libmonome-1.4.1-r1/work/libmonome-1.4.1/.waf3-2.0.0-0104def7527f52b931fd4a82b2c485f5/waflib/Node.py", line 299, in ant_iter

    raise StopIteration

StopIteration

The above exception was the direct cause of the following exception:

Traceback (most recent call last):

  File "/var/tmp/portage/media-libs/libmonome-1.4.1-r1/work/libmonome-1.4.1/.waf3-2.0.0-0104def7527f52b931fd4a82b2c485f5/waflib/Scripting.py", line 117, in waf_entry_point

    run_commands()

  File "/var/tmp/portage/media-libs/libmonome-1.4.1-r1/work/libmonome-1.4.1/.waf3-2.0.0-0104def7527f52b931fd4a82b2c485f5/waflib/Scripting.py", line 165, in run_commands

    parse_options()

  File "/var/tmp/portage/media-libs/libmonome-1.4.1-r1/work/libmonome-1.4.1/.waf3-2.0.0-0104def7527f52b931fd4a82b2c485f5/waflib/Scripting.py", line 148, in parse_options

    ctx.execute()

  File "/var/tmp/portage/media-libs/libmonome-1.4.1-r1/work/libmonome-1.4.1/.waf3-2.0.0-0104def7527f52b931fd4a82b2c485f5/waflib/Options.py", line 196, in execute

    super(OptionsContext,self).execute()

  File "/var/tmp/portage/media-libs/libmonome-1.4.1-r1/work/libmonome-1.4.1/.waf3-2.0.0-0104def7527f52b931fd4a82b2c485f5/waflib/Context.py", line 84, in execute

    self.recurse([os.path.dirname(g_module.root_path)])

  File "/var/tmp/portage/media-libs/libmonome-1.4.1-r1/work/libmonome-1.4.1/.waf3-2.0.0-0104def7527f52b931fd4a82b2c485f5/waflib/Context.py", line 125, in recurse

    user_function(self)

  File "/var/tmp/portage/media-libs/libmonome-1.4.1-r1/work/libmonome-1.4.1/wscript", line 96, in options

    opt.load("compiler_c")

  File "/var/tmp/portage/media-libs/libmonome-1.4.1-r1/work/libmonome-1.4.1/.waf3-2.0.0-0104def7527f52b931fd4a82b2c485f5/waflib/Context.py", line 82, in load

    fun(self)

  File "/var/tmp/portage/media-libs/libmonome-1.4.1-r1/work/libmonome-1.4.1/.waf3-2.0.0-0104def7527f52b931fd4a82b2c485f5/waflib/Tools/compiler_c.py", line 40, in options

    opt.load_special_tools('c_*.py',ban=['c_dumbpreproc.py'])

  File "/var/tmp/portage/media-libs/libmonome-1.4.1-r1/work/libmonome-1.4.1/.waf3-2.0.0-0104def7527f52b931fd4a82b2c485f5/waflib/Context.py", line 326, in load_special_tools

    lst=self.root.find_node(waf_dir).find_node('waflib/extras').ant_glob(var)

  File "/var/tmp/portage/media-libs/libmonome-1.4.1-r1/work/libmonome-1.4.1/.waf3-2.0.0-0104def7527f52b931fd4a82b2c485f5/waflib/Node.py", line 353, in ant_glob

    return list(it)

RuntimeError: generator raised StopIteration

This is supposedly fixed in waf 2.0.7 (https://gitlab.com/ita1024/waf/blob/master/ChangeLog#L119). I've read in a couple of places that upgrading waf might be slightly more involved, see for example https://github.com/mpv-player/mpv/issues/5958, will have to try if it just works for us or not.

simonvanderveldt commented 3 years ago

It seems like this was already fixed in e0f7f83022e56c7dfe0820aad152dc57a608e8cd @artfwo @tehn Can a new release be made so we have a release with this fix in it?

artfwo commented 3 years ago

@simonvanderveldt bitte schön: https://github.com/monome/libmonome/releases/tag/v1.4.3 :)

simonvanderveldt commented 3 years ago

@artfwo Thanks!