thomasvs / morituri

For those about to RIP - a Unix CD ripper preferring accuracy over speed
GNU General Public License v3.0
301 stars 42 forks source link

Build Error Fedora 23 #145

Closed andrewgdunn closed 8 years ago

andrewgdunn commented 8 years ago

Procedure from fresh workstation install of Fedora 23:

git clone git://github.com/thomasvs/morituri.git
cd morituri/
git submodule init
git submodule update
sudo dnf install automake autoconf cdparanoia cdrdao python-musicbrainz2 python-CDDB pycdio
./autogen.sh
./configure
make
[agd@enoch morituri]$ ./autogen.sh 
+ aclocal -I m4
+ autoconf
+ automake -a
Makefile.am:45: warning: '%'-style pattern rules are a GNU make extension
m4/pychecker.mk:26: warning: shell basename `pwd`: non-POSIX variable name
m4/pychecker.mk:26: (probably a GNU make extension)
Makefile.am:48:   'm4/pychecker.mk' included from here
m4/pychecker.mk:27: warning: if $(subst _build,,$(thisdir: non-POSIX variable name
m4/pychecker.mk:27: (probably a GNU make extension)
Makefile.am:48:   'm4/pychecker.mk' included from here
m4/pychecker.mk:27: warning: shell pwd: non-POSIX variable name
m4/pychecker.mk:27: (probably a GNU make extension)
Makefile.am:48:   'm4/pychecker.mk' included from here
m4/pychecker.mk:29: warning: filter-out $(PYCHECKER_BLACKLIST: non-POSIX variable name
m4/pychecker.mk:29: (probably a GNU make extension)
Makefile.am:48:   'm4/pychecker.mk' included from here
m4/pychecker.mk:29: warning: wildcard $(PYCHECKER_WHITELIST: non-POSIX variable name
m4/pychecker.mk:29: (probably a GNU make extension)
Makefile.am:48:   'm4/pychecker.mk' included from here
morituri/test/Makefile.am:70: warning: '%'-style pattern rules are a GNU make extension
+ echo './autogen.sh '
+ chmod +x autoregen.sh
+ ./configure --enable-maintainer-mode
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking nano version... 1
checking whether to enable maintainer-specific portions of Makefiles... yes
checking for a Python interpreter with version >= 2.3... python
checking for python... /usr/bin/python
checking for python version... 2.7
checking for python platform... linux2
checking for python script directory... ${prefix}/lib/python2.7/site-packages
checking for python extension module directory... ${exec_prefix}/lib64/python2.7/site-packages
configure: Installing python code in /usr/local/lib/python2.7/site-packages
configure: Setting plugins directory to /usr/local/lib/morituri/plugins
configure: Setting revision to heads/master
checking for epydoc... no
checking for pychecker... no
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating bin/rip
config.status: creating etc/bash_completion.d/bash-compgen
config.status: creating Makefile
config.status: creating bin/Makefile
config.status: creating etc/Makefile
config.status: creating etc/bash_completion.d/Makefile
config.status: creating m4/Makefile
config.status: creating morituri/Makefile
config.status: creating morituri/rip/Makefile
config.status: creating morituri/common/Makefile
config.status: creating morituri/configure/Makefile
config.status: creating morituri/configure/uninstalled.py
config.status: creating morituri/configure/installed.py
config.status: creating morituri/extern/Makefile
config.status: creating morituri/image/Makefile
config.status: creating morituri/program/Makefile
config.status: creating morituri/result/Makefile
config.status: creating morituri/test/Makefile
config.status: creating doc/Makefile
config.status: creating misc/Makefile
config.status: creating morituri.spec
[agd@enoch morituri]$ ./configure 
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking nano version... 1
checking whether to enable maintainer-specific portions of Makefiles... no
checking for a Python interpreter with version >= 2.3... python
checking for python... /usr/bin/python
checking for python version... 2.7
checking for python platform... linux2
checking for python script directory... ${prefix}/lib/python2.7/site-packages
checking for python extension module directory... ${exec_prefix}/lib64/python2.7/site-packages
configure: Installing python code in /usr/local/lib/python2.7/site-packages
configure: Setting plugins directory to /usr/local/lib/morituri/plugins
configure: Setting revision to heads/master
checking for epydoc... no
checking for pychecker... no
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating bin/rip
config.status: creating etc/bash_completion.d/bash-compgen
config.status: creating Makefile
config.status: creating bin/Makefile
config.status: creating etc/Makefile
config.status: creating etc/bash_completion.d/Makefile
config.status: creating m4/Makefile
config.status: creating morituri/Makefile
config.status: creating morituri/rip/Makefile
config.status: creating morituri/common/Makefile
config.status: creating morituri/configure/Makefile
config.status: creating morituri/configure/uninstalled.py
config.status: creating morituri/configure/installed.py
config.status: creating morituri/extern/Makefile
config.status: creating morituri/image/Makefile
config.status: creating morituri/program/Makefile
config.status: creating morituri/result/Makefile
config.status: creating morituri/test/Makefile
config.status: creating doc/Makefile
config.status: creating misc/Makefile
config.status: creating morituri.spec
[agd@enoch morituri]$ make
Making all in morituri
make[1]: Entering directory '/home/agd/Documents/software/morituri/morituri'
Making all in common
make[2]: Entering directory '/home/agd/Documents/software/morituri/morituri/common'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/home/agd/Documents/software/morituri/morituri/common'
Making all in configure
make[2]: Entering directory '/home/agd/Documents/software/morituri/morituri/configure'
make  all-am
make[3]: Entering directory '/home/agd/Documents/software/morituri/morituri/configure'
make[3]: Nothing to be done for 'all-am'.
make[3]: Leaving directory '/home/agd/Documents/software/morituri/morituri/configure'
make[2]: Leaving directory '/home/agd/Documents/software/morituri/morituri/configure'
Making all in extern
make[2]: Entering directory '/home/agd/Documents/software/morituri/morituri/extern'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/home/agd/Documents/software/morituri/morituri/extern'
Making all in image
make[2]: Entering directory '/home/agd/Documents/software/morituri/morituri/image'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/home/agd/Documents/software/morituri/morituri/image'
Making all in program
make[2]: Entering directory '/home/agd/Documents/software/morituri/morituri/program'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/home/agd/Documents/software/morituri/morituri/program'
Making all in result
make[2]: Entering directory '/home/agd/Documents/software/morituri/morituri/result'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/home/agd/Documents/software/morituri/morituri/result'
Making all in rip
make[2]: Entering directory '/home/agd/Documents/software/morituri/morituri/rip'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/home/agd/Documents/software/morituri/morituri/rip'
Making all in test
make[2]: Entering directory '/home/agd/Documents/software/morituri/morituri/test'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/home/agd/Documents/software/morituri/morituri/test'
make[2]: Entering directory '/home/agd/Documents/software/morituri/morituri'
make[2]: Nothing to be done for 'all-am'.
make[2]: Leaving directory '/home/agd/Documents/software/morituri/morituri'
make[1]: Leaving directory '/home/agd/Documents/software/morituri/morituri'
Making all in bin
make[1]: Entering directory '/home/agd/Documents/software/morituri/bin'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/agd/Documents/software/morituri/bin'
Making all in etc
make[1]: Entering directory '/home/agd/Documents/software/morituri/etc'
Making all in bash_completion.d
make[2]: Entering directory '/home/agd/Documents/software/morituri/etc/bash_completion.d'
PYTHONPATH=../..:$PYTHONPATH ./bash-compgen \
    rip morituri.rip.main.Rip > rip
Traceback (most recent call last):
  File "./bash-compgen", line 211, in <module>
    start()
  File "./bash-compgen", line 178, in start
    exec command
  File "<string>", line 1, in <module>
  File "/home/agd/Documents/software/morituri/morituri/rip/main.py", line 11, in <module>
    from morituri.rip import cd, offset, drive, image, accurip, debug
  File "/home/agd/Documents/software/morituri/morituri/rip/cd.py", line 29, in <module>
    import gobject
ImportError: No module named gobject
Makefile:468: recipe for target 'rip' failed
make[2]: *** [rip] Error 1
make[2]: Leaving directory '/home/agd/Documents/software/morituri/etc/bash_completion.d'
Makefile:315: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/agd/Documents/software/morituri/etc'
Makefile:379: recipe for target 'all-recursive' failed
make: *** [all-recursive] Error 1

Checking to see if python-gobject is installed:

[agd@enoch morituri]$ sudo dnf info python-gobject
Last metadata expiration check performed 0:35:20 ago on Thu Dec  3 20:40:39 2015.
Installed Packages
Name        : python-gobject
Arch        : x86_64
Epoch       : 0
Version     : 3.18.2
Release     : 1.fc23
Size        : 15 k
Repo        : @System
From repo   : updates
Summary     : Python 2 bindings for GObject Introspection
URL         : https://wiki.gnome.org/Projects/PyGObject
License     : LGPLv2+ and MIT
Description : The python-gobject package provides a convenient wrapper for the GObject
            : library and and other libraries that are compatible with GObject Introspection,
            : for use in Python 2 programs.
andrewgdunn commented 8 years ago

Just to report back on my error, you actually need to have pygobject2 installed.