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

Compiling nuvolaplayer-3.1.2 with Fedora's own waf 1.9.7 version fails #327

Closed
martinkg opened this issue Apr 24, 2017 · 10 comments
Closed

Comments

@martinkg
Copy link

compiling with this spec file fails:
https://martinkg.fedorapeople.org/Packages/nuvolaplayer/nuvolaplayer.spec

compiling with this spec file fails:
https://martinkg.fedorapeople.org/Packages/nuvolaplayer/nuvolaplayer.spec

[martin@fc25 SPECS]$ rpmbuild -ba nuvolaplayer.spec
Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.nP0nhP

  • umask 022
  • cd /home/martin/rpmbuild/BUILD
  • cd /home/martin/rpmbuild/BUILD
  • rm -rf nuvolaplayer-3.1.2
  • /usr/bin/tar -xof -
  • /usr/bin/gzip -dc /home/martin/rpmbuild/SOURCES/nuvolaplayer-3.1.2.tar.gz
  • STATUS=0
  • '[' 0 -ne 0 ']'
  • cd nuvolaplayer-3.1.2
  • /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w .
  • exit 0
    Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.d1Bxoh
  • umask 022
  • cd /home/martin/rpmbuild/BUILD
  • cd nuvolaplayer-3.1.2
  • VALAFLAGS=--quiet
  • waf configure --prefix=/usr --libdir=/usr/lib64 --allow-fuzzy-build
    fatal: Not a git repository (or any of the parent directories): .git
    Setting top to : /home/martin/rpmbuild/BUILD/nuvolaplayer-3.1.2
    Setting out to : /home/martin/rpmbuild/BUILD/nuvolaplayer-3.1.2/build
    Version : 3.1.2+snapshot
    Upstream revision : unknown (unsupported build)
    Target platform : LINUX
    Install prefix : /usr
    Checking for 'gcc' (C compiler) : /usr/bin/gcc
    Checking for program 'pkg-config' : /usr/bin/pkg-config
    Checking for 'gobject-2.0' : yes
    Checking for 'gthread-2.0' : yes
    Checking for program 'valac-0.8' : not found
    Checking for program 'valac' : /usr/bin/valac
    Checking for valac version >= (0, 8, 0) : (0, 34, 7)
    Checking for program 'valac-0.26' : /usr/bin/valac
    Checking for valac-0.26 version >= (0, 26, 1) : (0, 34, 7)
    Compiler optimizations : ON
    Checking for 'glib-2.0' : yes
    Checking for 'gio-2.0' : yes
    Checking for 'gthread-2.0' : yes
    Checking for 'gtk+-3.0' : yes
    Checking for 'gdk-3.0' : yes
    Checking for 'gdk-x11-3.0' : yes
    Checking for 'x11' : yes
    Checking for 'dioriteglib-0.3' : yes
    Checking for 'dioritegtk-0.3' : yes
    Checking for 'json-glib-1.0' : yes
    Checking for 'libarchive' : yes
    Checking for 'libnotify' : yes
    Checking for 'libsecret-1' : yes
    Checking for 'gstreamer-1.0' : yes
    Checking for 'webkit2gtk-4.0' : yes
    Checking for 'webkit2gtk-web-extension-4.0' : yes
    Checking for 'javascriptcoregtk-4.0' : yes
    Checking for 'uuid' : yes
    Checking for 'libsoup-2.4' : yes
    Checking for 'webkit2gtk-4.0' version : yes
    'configure' finished successfully (0.283s)
  • waf build --prefix=/usr --libdir=/usr/lib64
    fatal: Not a git repository (or any of the parent directories): .git
    Waf: Entering directory /home/martin/rpmbuild/BUILD/nuvolaplayer-3.1.2/build' Waf: Leaving directory /home/martin/rpmbuild/BUILD/nuvolaplayer-3.1.2/build'
    source not found: 'data/js//home/martin/rpmbuild/BUILD/nuvolaplayer-3.1.2/data/js/audio.js' in bld(target=['share/nuvolaplayer3/js//home/martin/rpmbuild/BUILD/nuvolaplayer-3.1.2/data/js/audio.js'], idx=26, install_task=None, meths=['process_rule', 'process_source'], install_path='${PREFIX}/share/nuvolaplayer3/js', rule='cp -v ${SRC} ${TGT}', _name='share/nuvolaplayer3/js//home/martin/rpmbuild/BUILD/nuvolaplayer-3.1.2/data/js/audio.js', source='data/js//home/martin/rpmbuild/BUILD/nuvolaplayer-3.1.2/data/js/audio.js', path=/home/martin/rpmbuild/BUILD/nuvolaplayer-3.1.2, posted=True, features=[]) in /home/martin/rpmbuild/BUILD/nuvolaplayer-3.1.2
    error: Bad exit status from /var/tmp/rpm-tmp.d1Bxoh (%build)

with the following patch nuvolaplayer compiles
https://martinkg.fedorapeople.org/Packages/nuvolaplayer/nuvolaplayer-wscript.patch

but now i get this error message:

25/27] Compiling build/jsexecutor.c
[26/27] Linking build/libengineio.so
[27/27] Linking build/libnuvolaplayer3-base.so
Waf: Leaving directory `/home/martin/rpmbuild/BUILD/nuvolaplayer-3.1.2/build'
File /home/martin/rpmbuild/BUILD/nuvolaplayer-3.1.2/src/nuvolakit-runner/secret.vapi has no mapping in ['.c', '.gs', '.vala', '.obj', '.o', '.pc.in'] (load a waf tool?)
error: Bad exit status from /var/tmp/rpm-tmp.iXKaFq (%build)

@jiri-janousek
Copy link
Member

Compiling nuvolaplayer-3.1.2 with Fedora's own waf 1.9.7 version fails

Of course it fails, waf 1.7 → 1.9 is a huge step.

https://martinkg.fedorapeople.org/Packages/nuvolaplayer/nuvolaplayer-wscript.patch

Thanks for the patch, but it is not acceptable as the only thing that ctx.add_group() does is hiding bugs (e.g. overlapping outputs). The packages & uselib params snippets are probably right as in diorite recently. The source = node snippet suggests it is necessary to change also the target param.

File /home/martin/rpmbuild/BUILD/nuvolaplayer-3.1.2/src/nuvolakit-runner/secret.vapi has no mapping in ['.c', '.gs', '.vala', '.obj', '.o', '.pc.in'] (load a waf tool?)

That's because you have removed the @extension('.vapi') block in your patch.

I'm closing this issue as the wscript is supposed to be used with the bundled waf. I plan to port wsript to waf 1.9.10 in following weeks though.

@jiri-janousek
Copy link
Member

FYI, wscript has been ported and the changes are not trivial. I recommend waiting for 3.1.3 snapshot (hopefully this weekend) instead of using your hacky patch.

@martinkg
Copy link
Author

Many thanks for your information, i will wait until 3.1.3 will appear.

@jiri-janousek
Copy link
Member

FYI, Nuvola 3.1.3 & friends released 🎉

@martinkg
Copy link
Author

martinkg commented May 1, 2017

I tried it again with diorite-0.3.4 and waf-1.9.10 on Fedora 25, but this fails again:

installed diorite version:

$ rpm -qa |grep diorite
diorite-0.3.4-1.fc25.x86_64
diorite-devel-0.3.4-1.fc25.x86_64

I have already install waf-1.9.10 from koji, in the next days waf-1.9.10 will be in the fedora stable repo.

$ waf --version
waf 1.9.10 (c83e485d1682d6af8a632234d9cbbc18be7b490b)

I compile nuvolaplayer with the following rpm spec file:
https://martinkg.fedorapeople.org/Packages/nuvolaplayer/nuvolaplayer.spec
this is the error message:

$ rpmbuild -ba nuvolaplayer.spec
Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.Ke6XDi
+ umask 022
+ cd /home/martin/rpmbuild/BUILD
+ cd /home/martin/rpmbuild/BUILD
+ rm -rf nuvolaplayer-3.1.3
+ /usr/bin/gzip -dc /home/martin/rpmbuild/SOURCES/nuvolaplayer-3.1.3.tar.gz
+ /usr/bin/tar -xof -
+ STATUS=0
+ '[' 0 -ne 0 ']'
+ cd nuvolaplayer-3.1.3
+ /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w .
+ rm ./waf
+ rm -rf ./.waf
+ exit 0
Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.wGJ1dE
+ umask 022
+ cd /home/martin/rpmbuild/BUILD
+ cd nuvolaplayer-3.1.3
+ waf configure --prefix=/usr --libdir=/usr/lib64
Setting top to                           : /home/martin/rpmbuild/BUILD/nuvolaplayer-3.1.3 
Setting out to                           : /home/martin/rpmbuild/BUILD/nuvolaplayer-3.1.3/build 
fatal: Not a git repository (or any of the parent directories): .git
Version                                  : 3.1.3 
Upstream revision                        : unknown 
Install prefix                           : /usr 
Branding                                 : default 
Branding metadata                        : branding/default.json 
Traceback (most recent call last):
  File "/usr/share/waf/waflib/Scripting.py", line 121, in waf_entry_point
    run_commands()
  File "/usr/share/waf/waflib/Scripting.py", line 182, in run_commands
    ctx=run_command(cmd_name)
  File "/usr/share/waf/waflib/Scripting.py", line 173, in run_command
    ctx.execute()
  File "/usr/share/waf/waflib/Configure.py", line 84, in execute
    super(ConfigurationContext,self).execute()
  File "/usr/share/waf/waflib/Context.py", line 87, in execute
    self.recurse([os.path.dirname(g_module.root_path)])
  File "/usr/share/waf/waflib/Context.py", line 128, in recurse
    user_function(self)
  File "/home/martin/rpmbuild/BUILD/nuvolaplayer-3.1.3/wscript", line 192, in configure
    branding = loadjson(branding_json, False)
  File "/home/martin/rpmbuild/BUILD/nuvolaplayer-3.1.3/wscript", line 105, in loadjson
    except FileNotFoundError:
NameError: global name 'FileNotFoundError' is not defined

@jiri-janousek
Copy link
Member

Use Python 3 to run waf

@martinkg
Copy link
Author

martinkg commented May 2, 2017

ok, solved it by removing "rm branding/default.json"

@jiri-janousek
Copy link
Member

I must say I'm fascinated by the way you "solve" issues. Workarounds and hacks rather then proper solutions. The changelog explicitly says "All Python scripts require Python >= 3.4." but you still insist on running the build script with Python 2.

@martinkg
Copy link
Author

martinkg commented May 2, 2017

I changed the build requirement to %{_bindir}/waf-3 in the spec file now, so that will execute waf by python3. https://bugzilla.redhat.com/show_bug.cgi?id=1447231

@jiri-janousek
Copy link
Member

That's the proper solution 👍

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