[Risolto, forse] Compilare Amarok

Problemi e suggerimenti legati al software e ai pacchetti problematici.
Rispondi
Avatar utente
Barone Rosso
Little John
Messaggi: 1249
Iscritto il: 30 agosto 2007, 9:36
Contatta:

[Risolto, forse] Compilare Amarok

Messaggio da Barone Rosso » 30 novembre 2013, 11:05

Sto tentando di ricompilare Amarok https://www.archlinux.org/packages/extra/x86_64/amarok/
Col PKGBUILD ufficiale di ABS.

Ma il tutto si blocca con questo errore:

Qualcuno mi sa dire cosa manca?

Codice: Seleziona tutto

Scanning dependencies of target amaroklib
[ 29%] [ 30%] [ 30%] [ 30%] [ 30%] [ 30%] [ 30%] [ 30%] Building CXX object src/CMakeFiles/amaroklib.dir/services/scriptable/ScriptableService.o
[ 30%] Building CXX object src/CMakeFiles/amaroklib.dir/services/scriptable/ScriptableServiceInfoParser.o                                             
[ 30%] Building CXX object src/CMakeFiles/amaroklib.dir/services/scriptable/ScriptableServiceCollectionTreeModel.o                                    
Building CXX object src/CMakeFiles/amaroklib.dir/services/scriptable/ScriptableServiceMeta.o                                                          
Building CXX object src/CMakeFiles/amaroklib.dir/amaroklib_automoc.o                                                                                  
Building CXX object src/CMakeFiles/amaroklib.dir/services/scriptable/ScriptableServiceCollection.o                                                    
[ 30%] [ 30%] Building CXX object src/CMakeFiles/amaroklib.dir/services/scriptable/ScriptableServiceManager.o                                         
Building CXX object src/CMakeFiles/amaroklib.dir/services/scriptable/ScriptableServiceQueryMaker.o                                                    
Building CXX object src/CMakeFiles/amaroklib.dir/browsers/BrowserCategoryList.o                                                                       
Building CXX object src/CMakeFiles/amaroklib.dir/browsers/BrowserCategory.o                                                                           
Building CXX object src/CMakeFiles/amaroklib.dir/browsers/BrowserBreadcrumbItem.o                                                                     
Building CXX object src/CMakeFiles/amaroklib.dir/browsers/BrowserBreadcrumbWidget.o                                                                   
In file included from /mnt/hd_root/packages/amarok/src/build/src/amaroklib_automoc.cpp:4:0:
/mnt/hd_root/packages/amarok/src/build/src/moc_GenericScanManager.cpp: In static member function ‘static void GenericScanManager::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)’:
/mnt/hd_root/packages/amarok/src/build/src/moc_GenericScanManager.cpp:74:114: error: invalid use of incomplete type ‘class QSharedPointer<CollectionScanner::Directory>’
         case 2: _t->directoryScanned((*reinterpret_cast< QSharedPointer<CollectionScanner::Directory>(*)>(_a[1]))); break;
                                                                                                                  ^
In file included from /mnt/hd_root/packages/amarok/src/build/src/moc_GenericScanManager.cpp:9:0,
                 from /mnt/hd_root/packages/amarok/src/build/src/amaroklib_automoc.cpp:4:
/mnt/hd_root/packages/amarok/src/build/src/../../amarok-2.8.0/src/scanner/GenericScanManager.h:37:7: error: declaration of ‘class QSharedPointer<CollectionScanner::Directory>’
 class QSharedPointer;
       ^
/mnt/hd_root/packages/amarok/src/build/src/../../amarok-2.8.0/src/scanner/GenericScanManager.h:141:14: error:   initializing argument 1 of ‘void GenericScanManager::directoryScanned(QSharedPointer<CollectionScanner::Directory>)’
         void directoryScanned( QSharedPointer<CollectionScanner::Directory> dir );
              ^
In file included from /mnt/hd_root/packages/amarok/src/build/src/amaroklib_automoc.cpp:4:0:
/mnt/hd_root/packages/amarok/src/build/src/moc_GenericScanManager.cpp:74:114: error: invalid use of incomplete type ‘class QSharedPointer<CollectionScanner::Directory>’
         case 2: _t->directoryScanned((*reinterpret_cast< QSharedPointer<CollectionScanner::Directory>(*)>(_a[1]))); break;
                                                                                                                  ^
In file included from /mnt/hd_root/packages/amarok/src/build/src/moc_GenericScanManager.cpp:9:0,
                 from /mnt/hd_root/packages/amarok/src/build/src/amaroklib_automoc.cpp:4:
/mnt/hd_root/packages/amarok/src/build/src/../../amarok-2.8.0/src/scanner/GenericScanManager.h:37:7: error: declaration of ‘class QSharedPointer<CollectionScanner::Directory>’
 class QSharedPointer;
       ^
In file included from /mnt/hd_root/packages/amarok/src/build/src/amaroklib_automoc.cpp:4:0:
/mnt/hd_root/packages/amarok/src/build/src/moc_GenericScanManager.cpp: In member function ‘void GenericScanManager::directoryScanned(QSharedPointer<CollectionScanner::Directory>)’:
/mnt/hd_root/packages/amarok/src/build/src/moc_GenericScanManager.cpp:143:6: error: ‘_t1’ has incomplete type
 void GenericScanManager::directoryScanned(QSharedPointer<CollectionScanner::Directory> _t1)
      ^
In file included from /mnt/hd_root/packages/amarok/src/build/src/moc_GenericScanManager.cpp:9:0,
                 from /mnt/hd_root/packages/amarok/src/build/src/amaroklib_automoc.cpp:4:
/mnt/hd_root/packages/amarok/src/build/src/../../amarok-2.8.0/src/scanner/GenericScanManager.h:37:7: error: declaration of ‘class QSharedPointer<CollectionScanner::Directory>’
 class QSharedPointer;
       ^
[ 31%] Building CXX object src/CMakeFiles/amaroklib.dir/browsers/BrowserCategoryListModel.o
[ 31%] Building CXX object src/CMakeFiles/amaroklib.dir/browsers/BrowserCategoryListSortFilterProxyModel.o                                            
[ 31%] Building CXX object src/CMakeFiles/amaroklib.dir/browsers/BrowserDock.o                                                                        
[ 31%] [ 31%] Building CXX object src/CMakeFiles/amaroklib.dir/browsers/CollectionSortFilterProxyModel.o                                              
Building CXX object src/CMakeFiles/amaroklib.dir/browsers/BrowserMessageArea.o                                                                        
[ 31%] [ 31%] Building CXX object src/CMakeFiles/amaroklib.dir/browsers/CollectionTreeItemModel.o                                                     
Building CXX object src/CMakeFiles/amaroklib.dir/browsers/CollectionTreeItem.o                                                                        
[ 31%] Building CXX object src/CMakeFiles/amaroklib.dir/browsers/CollectionTreeItemModelBase.o                                                        
[ 31%] Building CXX object src/CMakeFiles/amaroklib.dir/browsers/CollectionTreeView.o                                                                 
[ 31%] Building CXX object src/CMakeFiles/amaroklib.dir/browsers/InfoProxy.o                                                                          
[ 32%] Building CXX object src/CMakeFiles/amaroklib.dir/browsers/SingleCollectionTreeItemModel.o                                                      
[ 32%] Building CXX object src/CMakeFiles/amaroklib.dir/context/Applet.o                                                                              
[ 32%] [ 32%] Building CXX object src/CMakeFiles/amaroklib.dir/context/Containment.o                                                                  
Building CXX object src/CMakeFiles/amaroklib.dir/context/ContextObserver.o                                                                            
[ 32%] Building CXX object src/CMakeFiles/amaroklib.dir/context/ContextScene.o                                                                        
[ 32%] Building CXX object src/CMakeFiles/amaroklib.dir/context/ContextDock.o                                                                         
[ 32%] Building CXX object src/CMakeFiles/amaroklib.dir/context/ContextView.o                                                                         
src/CMakeFiles/amaroklib.dir/build.make:297: set di istruzioni per l'obiettivo "src/CMakeFiles/amaroklib.dir/amaroklib_automoc.o" non riuscito
make[2]: *** [src/CMakeFiles/amaroklib.dir/amaroklib_automoc.o] Errore 1
make[2]: *** Attesa per i processi non terminati....
CMakeFiles/Makefile2:1236: set di istruzioni per l'obiettivo "src/CMakeFiles/amaroklib.dir/all" non riuscito
make[1]: *** [src/CMakeFiles/amaroklib.dir/all] Errore 2
Makefile:126: set di istruzioni per l'obiettivo "all" non riuscito
make: *** [all] Errore 2
==> ERRORE: Si è verificato un errore in build().
    L'operazione sta per essere interrotta...
Ultima modifica di Barone Rosso il 26 dicembre 2013, 10:44, modificato 1 volta in totale.

james2221
Arciere Provetto
Messaggi: 410
Iscritto il: 6 gennaio 2011, 1:48
Località: brescia

Re: Compilare Amarok

Messaggio da james2221 » 30 novembre 2013, 12:23

scusa la curiosità, ma come mai compili Amarok? non credo che sia per l'installazione, lo ho installato questa mattina per 86_64 per di piu su xfce che sappiamo essere gtk e va benissimo...
mi puoi togliere la curiosità ?
grazie

Avatar utente
Barone Rosso
Little John
Messaggi: 1249
Iscritto il: 30 agosto 2007, 9:36
Contatta:

Re: Compilare Amarok

Messaggio da Barone Rosso » 30 novembre 2013, 13:10

james2221 ha scritto:scusa la curiosità, ma come mai compili Amarok? non credo che sia per l'installazione, lo ho installato questa mattina per 86_64 per di piu su xfce che sappiamo essere gtk e va benissimo...
mi puoi togliere la curiosità ?
grazie
Volevo compilarmi la versione git, ma mi ha dato lo stesso problema.
Quindi ho provato con la versione ABS.

Comunque mi sembra strano che un applicativo non compili con tutte le dipendenze installate.

Avatar utente
Hilinus
Moderatore
Messaggi: 5649
Iscritto il: 25 ottobre 2008, 19:28
Architettura: x86_64 (64bit)

Re: Compilare Amarok

Messaggio da Hilinus » 30 novembre 2013, 13:12

Sei certo che il tuo sistema sia completamente aggiornato?
Q6600 @ 3.2 Ghz + Thermalright Ultra 120 Extreme | 6 GB DDR2 Ocz Gold
Asus P5K | Sapphire HD7850 2GB | E ovviamente... Arch Linux :)

Avatar utente
Barone Rosso
Little John
Messaggi: 1249
Iscritto il: 30 agosto 2007, 9:36
Contatta:

Re: Compilare Amarok

Messaggio da Barone Rosso » 30 novembre 2013, 14:15

Hilinus ha scritto:Sei certo che il tuo sistema sia completamente aggiornato?
Si.

Avatar utente
ilpianista
Amministratore
Messaggi: 2952
Iscritto il: 6 ottobre 2007, 0:41
Località: Lecce, Italy
Contatta:

Re: Compilare Amarok

Messaggio da ilpianista » 1 dicembre 2013, 12:23

Ora provo a compilarlo in chroot e ti dico se va. Hai cambiato le CFLAGS/CXXFLAGS? Entra nella directory build e dai make -j1 e incolla l'errore.

Avatar utente
Barone Rosso
Little John
Messaggi: 1249
Iscritto il: 30 agosto 2007, 9:36
Contatta:

Re: Compilare Amarok

Messaggio da Barone Rosso » 1 dicembre 2013, 21:52

Ho dato
> make clean
> make -j1

E il risultato è questo:

Codice: Seleziona tutto

[ 15%] Generating CollectionAdaptor.moc
Scanning dependencies of target amaroklib
[ 15%] Building CXX object src/CMakeFiles/amaroklib.dir/amaroklib_automoc.o
In file included from /mnt/hd_root/packages/amarok/src/build/src/amaroklib_automoc.cpp:4:0:
/mnt/hd_root/packages/amarok/src/build/src/moc_GenericScanManager.cpp: In static member function ‘static void GenericScanManager::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)’:
/mnt/hd_root/packages/amarok/src/build/src/moc_GenericScanManager.cpp:74:114: error: invalid use of incomplete type ‘class QSharedPointer<CollectionScanner::Directory>’
         case 2: _t->directoryScanned((*reinterpret_cast< QSharedPointer<CollectionScanner::Directory>(*)>(_a[1]))); break;
                                                                                                                  ^
In file included from /mnt/hd_root/packages/amarok/src/build/src/moc_GenericScanManager.cpp:9:0,
                 from /mnt/hd_root/packages/amarok/src/build/src/amaroklib_automoc.cpp:4:
/mnt/hd_root/packages/amarok/src/build/src/../../amarok-2.8.0/src/scanner/GenericScanManager.h:37:7: error: declaration of ‘class QSharedPointer<CollectionScanner::Directory>’
 class QSharedPointer;
       ^
/mnt/hd_root/packages/amarok/src/build/src/../../amarok-2.8.0/src/scanner/GenericScanManager.h:141:14: error:   initializing argument 1 of ‘void GenericScanManager::directoryScanned(QSharedPointer<CollectionScanner::Directory>)’
         void directoryScanned( QSharedPointer<CollectionScanner::Directory> dir );
              ^
In file included from /mnt/hd_root/packages/amarok/src/build/src/amaroklib_automoc.cpp:4:0:
/mnt/hd_root/packages/amarok/src/build/src/moc_GenericScanManager.cpp:74:114: error: invalid use of incomplete type ‘class QSharedPointer<CollectionScanner::Directory>’
         case 2: _t->directoryScanned((*reinterpret_cast< QSharedPointer<CollectionScanner::Directory>(*)>(_a[1]))); break;
                                                                                                                  ^
In file included from /mnt/hd_root/packages/amarok/src/build/src/moc_GenericScanManager.cpp:9:0,
                 from /mnt/hd_root/packages/amarok/src/build/src/amaroklib_automoc.cpp:4:
/mnt/hd_root/packages/amarok/src/build/src/../../amarok-2.8.0/src/scanner/GenericScanManager.h:37:7: error: declaration of ‘class QSharedPointer<CollectionScanner::Directory>’
 class QSharedPointer;
       ^
In file included from /mnt/hd_root/packages/amarok/src/build/src/amaroklib_automoc.cpp:4:0:
/mnt/hd_root/packages/amarok/src/build/src/moc_GenericScanManager.cpp: In member function ‘void GenericScanManager::directoryScanned(QSharedPointer<CollectionScanner::Directory>)’:
/mnt/hd_root/packages/amarok/src/build/src/moc_GenericScanManager.cpp:143:6: error: ‘_t1’ has incomplete type
 void GenericScanManager::directoryScanned(QSharedPointer<CollectionScanner::Directory> _t1)
      ^
In file included from /mnt/hd_root/packages/amarok/src/build/src/moc_GenericScanManager.cpp:9:0,
                 from /mnt/hd_root/packages/amarok/src/build/src/amaroklib_automoc.cpp:4:
/mnt/hd_root/packages/amarok/src/build/src/../../amarok-2.8.0/src/scanner/GenericScanManager.h:37:7: error: declaration of ‘class QSharedPointer<CollectionScanner::Directory>’
 class QSharedPointer;
       ^
src/CMakeFiles/amaroklib.dir/build.make:297: set di istruzioni per l'obiettivo "src/CMakeFiles/amaroklib.dir/amaroklib_automoc.o" non riuscito
make[2]: *** [src/CMakeFiles/amaroklib.dir/amaroklib_automoc.o] Errore 1
CMakeFiles/Makefile2:1236: set di istruzioni per l'obiettivo "src/CMakeFiles/amaroklib.dir/all" non riuscito
make[1]: *** [src/CMakeFiles/amaroklib.dir/all] Errore 2
Makefile:126: set di istruzioni per l'obiettivo "all" non riuscito
make: *** [all] Errore 2
Del PKGBUILD non ho modificato nulla.

Questi sono i flags dentro al
/etc/makepkg.conf

c'è anche le sezione dedicata al compilatore Intel, ma in questo caso è disattivato.

Codice: Seleziona tutto


#
# /etc/makepkg.conf
#

#########################################################################
# SOURCE ACQUISITION
#########################################################################
#
#-- The download utilities that makepkg should use to acquire sources
#  Format: 'protocol::agent'
DLAGENTS=('ftp::/usr/bin/curl -fC - --ftp-pasv --retry 3 --retry-delay 3 -o %o %u'
          'http::/usr/bin/curl -fLC - --retry 3 --retry-delay 3 -o %o %u'
          'https::/usr/bin/curl -fLC - --retry 3 --retry-delay 3 -o %o %u'
          'rsync::/usr/bin/rsync --no-motd -z %u %o'
          'scp::/usr/bin/scp -C %u %o')

# Other common tools:
# /usr/bin/snarf
# /usr/bin/lftpget -c
# /usr/bin/wget

#########################################################################
# ARCHITECTURE, COMPILE FLAGS
#########################################################################
#
CARCH="x86_64"
CHOST="x86_64-unknown-linux-gnu"

#-- Compiler and Linker Flags
# -march (or -mcpu) builds exclusively for an architecture
# -mtune optimizes for an architecture, but builds for whole processor family
CPPFLAGS="-D_FORTIFY_SOURCE=2"
CFLAGS="-march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4"
CXXFLAGS="-march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4"
LDFLAGS="-Wl,-O1,--sort-common,--as-needed,-z,relro"
#-- Make Flags: change this for DistCC/SMP systems
MAKEFLAGS="-j12"
#-- Debugging flags
DEBUG_CFLAGS="-g -fvar-tracking-assignments"
DEBUG_CXXFLAGS="-g -fvar-tracking-assignments"

_CC=gcc
if [ $_CC = "icc" ]; then
  export CFLAGS="-O3 -xHost -w -gcc -fPIC -fp-model strict -fomit-frame-pointer "
#  export CFLAGS="-O2 -xHost -w -gcc  "
#  export CFLAGS="-march=native -O3 -no-prec-div -fno-alias -pipe"
  export CXXFLAGS="${CFLAGS}"
  export CC="icc"
  export CXX="icpc"
  export LDFLAGS="-Wl,-O1,--sort-common,--as-needed"
  export HOSTCC="icc"
fi

#########################################################################
# BUILD ENVIRONMENT
#########################################################################
#
# Defaults: BUILDENV=(fakeroot !distcc color !ccache check !sign)
#  A negated environment option will do the opposite of the comments below.
#
#-- fakeroot: Allow building packages as a non-root user
#-- distcc:   Use the Distributed C/C++/ObjC compiler
#-- color:    Colorize output messages
#-- ccache:   Use ccache to cache compilation
#-- check:    Run the check() function if present in the PKGBUILD
#-- sign:     Generate PGP signature file
#
BUILDENV=(fakeroot !distcc color !ccache check !sign)
#
#-- If using DistCC, your MAKEFLAGS will also need modification. In addition,
#-- specify a space-delimited list of hosts running in the DistCC cluster.
#DISTCC_HOSTS=""
#
#-- Specify a directory for package building.
#BUILDDIR=/tmp/makepkg

#########################################################################
# GLOBAL PACKAGE OPTIONS
#   These are default values for the options=() settings
#########################################################################
#
# Default: OPTIONS=(strip docs !libtool !staticlibs emptydirs zipman purge !upx !debug)
#  A negated option will do the opposite of the comments below.
#
#-- strip:      Strip symbols from binaries/libraries
#-- docs:       Save doc directories specified by DOC_DIRS
#-- libtool:    Leave libtool (.la) files in packages
#-- staticlibs: Leave static library (.a) files in packages
#-- emptydirs:  Leave empty directories in packages
#-- zipman:     Compress manual (man and info) pages in MAN_DIRS with gzip
#-- purge:      Remove files specified by PURGE_TARGETS
#-- upx:        Compress binary executable files using UPX
#-- debug:      Add debugging flags as specified in DEBUG_* variables
#
OPTIONS=(strip docs !libtool !staticlibs emptydirs zipman purge !upx !debug)

#-- File integrity checks to use. Valid: md5, sha1, sha256, sha384, sha512
INTEGRITY_CHECK=(md5)
#-- Options to be used when stripping binaries. See `man strip' for details.
STRIP_BINARIES="--strip-all"
#-- Options to be used when stripping shared libraries. See `man strip' for details.
STRIP_SHARED="--strip-unneeded"
#-- Options to be used when stripping static libraries. See `man strip' for details.
STRIP_STATIC="--strip-debug"
#-- Manual (man and info) directories to compress (if zipman is specified)
MAN_DIRS=({usr{,/local}{,/share},opt/*}/{man,info})
#-- Doc directories to remove (if !docs is specified)
DOC_DIRS=(usr/{,local/}{,share/}{doc,gtk-doc} opt/*/{doc,gtk-doc})
#-- Files to be removed from all packages (if purge is specified)
PURGE_TARGETS=(usr/{,share}/info/dir .packlist *.pod)

#########################################################################
# PACKAGE OUTPUT
#########################################################################
#
# Default: put built package and cached source in build directory
#
#-- Destination: specify a fixed directory where all packages will be placed
#PKGDEST=/home/packages
#-- Source cache: specify a fixed directory where source files will be cached
#SRCDEST=/home/sources
#-- Source packages: specify a fixed directory where all src packages will be placed
#SRCPKGDEST=/home/srcpackages
#-- Log files: specify a fixed directory where all log files will be placed
#LOGDEST=/home/makepkglogs
#-- Packager: name/email of the person or organization building packages
#PACKAGER="John Doe <john@doe.com>"
#-- Specify a key to use for package signing
#GPGKEY=""

#########################################################################
# COMPRESSION DEFAULTS
#########################################################################
#
COMPRESSGZ=(gzip -c -f -n)
COMPRESSBZ2=(bzip2 -c -f)
COMPRESSXZ=(xz -c -z -)
COMPRESSLRZ=(lrzip -q)
COMPRESSLZO=(lzop -q)
COMPRESSZ=(compress -c -f)

#########################################################################
# EXTENSION DEFAULTS
#########################################################################
#
# WARNING: Do NOT modify these variables unless you know what you are
#          doing.
#
PKGEXT='.pkg.tar.xz'
SRCEXT='.src.tar.gz'

# vim: set ft=sh ts=2 sw=2 et:


Avatar utente
Barone Rosso
Little John
Messaggi: 1249
Iscritto il: 30 agosto 2007, 9:36
Contatta:

Re: Compilare Amarok

Messaggio da Barone Rosso » 26 dicembre 2013, 10:43

Mi ha appena compilato la versione GIT.
E a quanto pare il problema era un bug nel codice.

Sembra che la cosa sia risolta.

Rispondi