[RISOLTO] Errore compilazione chromium da SB

Postate qui se avete consigli per migliorare i pacchetti disponibili in questo sito o se avete problemi con installazione, funzionamento o altro.

Moderatore: Staff

Regole del forum
1) Citare in modo preciso il nome del pacchetto.
2) Specificare se discussione/suggerimento o richiesta d'aiuto.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Avatar utente
boh
Linux 4.x
Linux 4.x
Messaggi: 1027
Iscritto il: ven 16 set 2005, 0:00
Slackware: 14.2 (x64)
Kernel: 4.4.111
Desktop: KDE 4.14.32
Località: Milano
Contatta:

[RISOLTO] Errore compilazione chromium da SB

Messaggio da boh »

Ciao a tutti!
Sto provando a compilare chromium 12.0.711.0 usando lo slackbuild presente qui nel repository per la versione a 32bit, in cui ho apportato le modifiche dovute all'architettura (io uso una 64bit).
Dopo un po' di tempo di compilazione, ottengo il seguente errore:

Codice: Seleziona tutto

/tmp/txz/chromium/chromium-12.0.711.0
/tmp/txz/chromium/chromium-12.0.711.0
chmod: impossibile operare sul collegamento simbolico con obiettivo non esistente "/tmp/txz/chromium/package/usr/bin/chromium"
chmod: impossibile operare sul collegamento simbolico con obiettivo non esistente "/tmp/txz/chromium/package/usr/bin/chromium-sandbox"
e tutto si arresta ovviamente.
Ora, quale sia il problema l'ho capito, non so però come risolverlo #-o

EDIT: immagino possa essere un problema nello slackbuild, giusto?
Ultima modifica di boh il lun 28 mar 2011, 11:51, modificato 1 volta in totale.
"Be yourself. Everyone else is already taken." ~ Oscar Wilde

Avatar utente
gohanz
Staff
Staff
Messaggi: 5832
Iscritto il: mar 30 nov 2004, 0:00

Re: Errore compilazione chromium da SB

Messaggio da gohanz »

Non è che la compilazione è fallita prima del messaggio di errore che riporti? Prova a dare un make nella directory temporanea di compilazione. Così puoi controllare che i binari vengano creati correttamente.

Avatar utente
boh
Linux 4.x
Linux 4.x
Messaggi: 1027
Iscritto il: ven 16 set 2005, 0:00
Slackware: 14.2 (x64)
Kernel: 4.4.111
Desktop: KDE 4.14.32
Località: Milano
Contatta:

Re: Errore compilazione chromium da SB

Messaggio da boh »

Ho lanciato make in /tmp/txz/chromium/chromium-12.0.711.0/ e dopo due ore di compilazione i 25GB disponibili sono esauriti :shock:
Com'è possibile? Può essere questo il problema?
Con le precedenti compilazioni di chromium non mi è mai successo nulla del genere...
"Be yourself. Everyone else is already taken." ~ Oscar Wilde

Avatar utente
gohanz
Staff
Staff
Messaggi: 5832
Iscritto il: mar 30 nov 2004, 0:00

Re: Errore compilazione chromium da SB

Messaggio da gohanz »

Certo che è quello il problema. Ma non è la compilazione di Chromium che occupa tutto questo spazio. Forse avevi già prima della compilazione poco spazio disponibile. Per la compilazione occorrono circa 1,5 Giga.

Avatar utente
boh
Linux 4.x
Linux 4.x
Messaggi: 1027
Iscritto il: ven 16 set 2005, 0:00
Slackware: 14.2 (x64)
Kernel: 4.4.111
Desktop: KDE 4.14.32
Località: Milano
Contatta:

Re: Errore compilazione chromium da SB

Messaggio da boh »

Mi sembra strano :|
Comunque ora ho controllato e ho 19.2GB liberi. Non dovrebbero esserci problemi. Ho avviato nuovamente lo slackbuild; se fallisse ancora provo a cambiare la directory di compilazione spostandola nella mia home in cui ho molto più spazio :)
Faccio sapere ;)
"Be yourself. Everyone else is already taken." ~ Oscar Wilde

Avatar utente
boh
Linux 4.x
Linux 4.x
Messaggi: 1027
Iscritto il: ven 16 set 2005, 0:00
Slackware: 14.2 (x64)
Kernel: 4.4.111
Desktop: KDE 4.14.32
Località: Milano
Contatta:

Re: Errore compilazione chromium da SB

Messaggio da boh »

Si è ripresentato lo stesso errore che ho postato nel primo messaggio.
La partizione ha ancora 17.8GB liberi, quindi direi che è da escludere il problema della memoria.
I collegamenti simbolici che creano l'errore puntano rispettivamente a /usr/lib64/chromium/chromium e a /usr/lib64/chromium/chromium-sandbox.

Qualche consiglio?
"Be yourself. Everyone else is already taken." ~ Oscar Wilde

Avatar utente
gohanz
Staff
Staff
Messaggi: 5832
Iscritto il: mar 30 nov 2004, 0:00

Re: Errore compilazione chromium da SB

Messaggio da gohanz »

boh ha scritto:Si è ripresentato lo stesso errore che ho postato nel primo messaggio.
La partizione ha ancora 17.8GB liberi, quindi direi che è da escludere il problema della memoria.
I collegamenti simbolici che creano l'errore puntano rispettivamente a /usr/lib64/chromium/chromium e a /usr/lib64/chromium/chromium-sandbox.

Qualche consiglio?
Hai installato tutte le dipendenze?

gconf, gnome-keyring, libevent,orbit2, yasm ed anche seamonkey (Solo in compilazione)

Un'altra cosa non è che hai installato flock (Browser) per caso? Nel caso fai attenzione perchè l'installazione sovrascrive il comando flock del pacchetto util-linux-ng. Il comando flock viene usato in compilazione.

Avatar utente
boh
Linux 4.x
Linux 4.x
Messaggi: 1027
Iscritto il: ven 16 set 2005, 0:00
Slackware: 14.2 (x64)
Kernel: 4.4.111
Desktop: KDE 4.14.32
Località: Milano
Contatta:

Re: Errore compilazione chromium da SB

Messaggio da boh »

Le dipendenze ci sono tutte, infatti ho compilato già altre 4-5 versioni di chromium senza problemi, compresa la 11.0.680.0 che è recente (e che sto usando al momento).
E no, non ho installato flock :)

EDIT: Nello slackbuild c'è questa voce:

Codice: Seleziona tutto

# Installing Chrome executable
install -m 0755 -D  out/Release/chrome $PKG/usr/lib${LIBDIRSUFFIX}/$PKGNAME/chromium
Mentre poi le successive voci non hanno ${LIBDIRSUFFIX} dopo lib:

Codice: Seleziona tutto

# Installing Chrome-Sandbox
install -m 4555 -o root -g root -D out/Release/chrome_sandbox \
     $PKG/usr/lib/$PKGNAME/chromium-sandbox

# Installing Chrome data
install -m 0644 -D out/Release/chrome.pak \
     $PKG/usr/lib/$PKGNAME/chrome.pak

# Installing resources 
install -m 0644 -D out/Release/resources.pak \
     $PKG/usr/lib/$PKGNAME/resources.pak

# Installing Chrome FFmpeg library
install -m 0755 -D out/Release/libffmpegsumo.so \
     $PKG/usr/lib/$PKGNAME/libffmpegsumo.so

# Installing resources 
cp -a out/Release/locales out/Release/resources \
    $PKG/usr/lib/$PKGNAME/
E' corretto?

Non so se è correlato, ma il problema sembra essere legato a queste righe di codice:

Codice: Seleziona tutto

# Linking Chrome executable on default path 
mkdir -p $PKG/usr/bin
cd $PKG
  ln -s /usr/lib${LIBDIRSUFFIX}/chromium/chromium $PKG/usr/bin/chromium
  ln -s /usr/lib${LIBDIRSUFFIX}/chromium/chromium-sandbox $PKG/usr/bin/chromium-sandbox
cd -
chmod 755 $PKG/usr/bin/*
"Be yourself. Everyone else is already taken." ~ Oscar Wilde

Avatar utente
gohanz
Staff
Staff
Messaggi: 5832
Iscritto il: mar 30 nov 2004, 0:00

Re: Errore compilazione chromium da SB

Messaggio da gohanz »

Hai ragione, manca ${LIBDIRSUFFIX} in alcune righe. Fammi sapere se correggendo lo SlackBuild la compilazione va a buon termine.

Avatar utente
robbybby
Linux 4.x
Linux 4.x
Messaggi: 1223
Iscritto il: sab 16 dic 2006, 10:48
Slackware: 13.1 / 64 bit
Kernel: 3.3.x
Desktop: KDE 4.4.5
Località: Fra Trantor e Terminus

Re: Errore compilazione chromium da SB

Messaggio da robbybby »

Ho appena compilato chromium su Slackware 13.1 a 64 bit, con lo slackbuild di cui si parla qui.
Confermo alcuni errori dovuti alla mancanza di $LIBDIRSUFFIX.
Ho inoltre dovuto eliminare la riga
  • chmod 755 $PKG/usr/bin/*
Allego qui lo Slackbuild modificato che ho usato (tra l'altro gli ho messo la 12.0.714, anziché la 12.0.711, essendo l'ultima disponibile questa mattina).

Codice: Seleziona tutto

#!/bin/sh
# Heavily based on the Slackware 13.1 SlackBuild
# http://www.chromium.org/
# Packager Andrea Sciucca ( gohanz at infinito.it)
# http://www.slacky.eu
# Based on AUR script thanks to
# JerickoKru <jerichokru@verizon.net>
# Det <nimetonmaili at gmail a-dot com>
# Markus Golser <elmargol@googlemail.com>
#
# Redistribution and use of this script, with or without modification, is
# permitted provided that the following conditions are met:
#
# 1. Redistributions of this script must retain the above copyright
#    notice, this list of conditions and the following disclaimer.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
# Required: gconf, gnome-keyring, libevent,orbit2, yasm (Only compilation) 
#
# Exit on most errors
set -e 


# Set variables:
CWD=`pwd`
OUTPUT=${OUTPUT:-$CWD}
PKGNAME=chromium
TMP=${TMP:-/tmp/txz/$PKGNAME}
PKG=$TMP/package
VERSION=${VERSION:-12.0.714.0}
ARCH=${ARCH:-x86_64}
JOBS=${JOBS:--j3}
BUILD=${BUILD:-1}
TAG=${TAG:-sl}

SOURCE="http://build.chromium.org/official/$PKGNAME-$VERSION.tar.bz2"

# Download sorce tarball if still not present
if [ ! -e $PKGNAME-$VERSION.tar.bz2 ]; then
wget -c $SOURCE
fi


# Set compiling FLAGS
if [ "$ARCH" = "i686" ]; then
  SLKCFLAGS="-O2 -march=i686 -mtune=i686"; SLKLDFLAGS=""; LIBDIRSUFFIX=""; CHOST="i686"
elif [ "$ARCH" = "x86_64" ]; then
  SLKCFLAGS="-O2 -fPIC"; SLKLDFLAGS="-L/usr/lib64"; LIBDIRSUFFIX="64"; CHOST="x86_64"
fi

# Create building directory
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT


# Decompress the source tarball
cd $TMP
tar xvjf $CWD/$PKGNAME-$VERSION.tar.bz2

echo -e "\E[0;32m+---------------------------+\E[0;0m"
echo -e "\E[0;32m| Start SlackBuild Chromium |\E[0;0m"
echo -e "\E[0;32m+---------------------------+\E[0;0m"

# Adjust permissions and ownerships
cd $PKGNAME-$VERSION
chown -R root:root .
chmod -R u+w,go+r-w,a-s .

# Disable PAM support
patch -p1 < $CWD/chromium-disable-pam.patch

# Building Chromium package

   build/gyp_chromium -f make build/all.gyp --depth=. \
    -Dgcc_version=44 \
    -Dno_strict_aliasing=1 \
    -Dwerror= \
    -Dlinux_sandbox_path=/usr/lib${LIBDIRSUFFIX}/$PKGNAME/chromium-sandbox \
    -Dlinux_strip_binary=1 \
    -Drelease_extra_cflags="${CFLAGS}" \
    -Dffmpeg_branding=Chrome \
    -Dproprietary_codecs=1 \
    -Duse_system_libjpeg=1 \
    -Duse_system_libxslt=0 \
    -Duse_system_libxml=0 \
    -Duse_system_bzip2=1 \
    -Duse_system_zlib=1 \
    -Duse_system_libpng=1 \
    -Duse_system_ffmpeg=0 \
    -Duse_system_yasm=1 \
    -Duse_system_libevent=1 \
    -Duse_system_ssl=0 \
    $([ "${ARCH}" == 'i686' ] && echo '-Ddisable_sse2=1')

### Building Chrome executable
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
make $JOBS chrome chrome_sandbox BUILDTYPE=Release

# Installing Chrome executable
install -m 0755 -D  out/Release/chrome $PKG/usr/lib${LIBDIRSUFFIX}/$PKGNAME/chromium


# Installing Chrome-Sandbox
install -m 4555 -o root -g root -D out/Release/chrome_sandbox \
     $PKG/usr/lib${LIBDIRSUFFIX}/$PKGNAME/chromium-sandbox

# Installing Chrome data
install -m 0644 -D out/Release/chrome.pak \
     $PKG/usr/lib${LIBDIRSUFFIX}/$PKGNAME/chrome.pak

# Installing resources 
install -m 0644 -D out/Release/resources.pak \
     $PKG/usr/lib${LIBDIRSUFFIX}/$PKGNAME/resources.pak

# Installing Chrome FFmpeg library
install -m 0755 -D out/Release/libffmpegsumo.so \
     $PKG/usr/lib${LIBDIRSUFFIX}/$PKGNAME/libffmpegsumo.so

# Installing resources 
cp -a out/Release/locales out/Release/resources \
    $PKG/usr/lib${LIBDIRSUFFIX}/$PKGNAME/


# Cleaning package
find $PKG/usr/lib${LIBDIRSUFFIX}/$PKGNAME/ -name '*.d' -type f -delete



# Installing manpage
install -m 0644 -D out/Release/chrome.1 \
    $PKG/usr/man/man1/$PKGNAME.1


# Installing desktop menu file
install -m 0644 -D $CWD/$PKGNAME.desktop \
    $PKG/usr/share/applications/$PKGNAME.desktop


# Installing icons directory
cd chrome/app/theme/chromium/
for res in 16 22 24 32 48 64 128 256 ;do
  dir=${PKG}/usr/share/icons/hicolor/${res}x${res}/apps
  mkdir -p ${dir}
  install -m0644 product_logo_${res}.png \
                 ${dir}/${PKGNAME}.png
done
cd - 

# Linking Chrome executable on default path 
mkdir -p $PKG/usr/bin
cd $PKG
  ln -s /usr/lib${LIBDIRSUFFIX}/chromium/chromium $PKG/usr/bin/chromium
  ln -s /usr/lib${LIBDIRSUFFIX}/chromium/chromium-sandbox $PKG/usr/bin/chromium-sandbox
cd -
# chmod 755 $PKG/usr/bin/*



# Strip binaries and shared objects, if present
( cd $PKG
  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs -r strip --strip-unneeded 2> /dev/null || true
  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs -r strip --strip-unneeded 2> /dev/null || true
  find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs -r strip --strip-unneeded 2> /dev/null || true
)


#Add documentation files: readme, changelog and so on
mkdir -p $PKG/usr/doc/$PKGNAME-$VERSION/SlackBuild
cp -a AUTHORS DEPS LICENSE WATCHLISTS \
$PKG/usr/doc/$PKGNAME-$VERSION
chmod 644 $PKG/usr/doc/$PKGNAME-$VERSION/*



# Also add the slack-desk file and this slackbuild to the package
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cat $CWD/slack-desc > $PKG/usr/doc/$PKGNAME-$VERSION/SlackBuild/slack-desc
cat $CWD/$PKGNAME.SlackBuild > $PKG/usr/doc/$PKGNAME-$VERSION/SlackBuild/$PKGNAME.SlackBuild



# Compress the man pages if present
if [ -d $PKG/usr/man ]; then
    ( cd $PKG/usr/man
      find . -type f -exec gzip -9 {} \;
      for i in $( find . -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
    )
fi



# Building some post-install execution script 	
       echo "if [ -x /usr/lib${LIBDIRSUFFIX}/chromium/chromium-sandbox ]; then
  chmod 4755 /usr/lib${LIBDIRSUFFIX}/chromium/chromium-sandbox
fi" >> $PKG/install/doinst.sh
	echo "" >> $PKG/install/doinst.sh
	echo "if [ -x /usr/bin/update-mime-database ]; then
  /usr/bin/update-mime-database /usr/share/mime &> /dev/null
fi" >> $PKG/install/doinst.sh
	echo "" >> $PKG/install/doinst.sh
	echo "if [ -x /usr/bin/update-desktop-database ]; then
  /usr/bin/update-desktop-database 1> /dev/null 2> /dev/null
fi" >> $PKG/install/doinst.sh
	echo "" >> $PKG/install/doinst.sh
	echo "if [ -x /usr/bin/gtk-update-icon-cache ]; then
  /usr/bin/gtk-update-icon-cache  -f -q /usr/share/icons/hicolor 1> /dev/null 2> /dev/null
fi" >> $PKG/install/doinst.sh
	echo "" >> $PKG/install/doinst.sh




# Find and print dependencies into slack-required file
cd $PKG
chown -R root:root $PKG
if [ -x /usr/bin/requiredbuilder ];then
ADD=$(ls /var/log/packages/ | sed -ne 's/\(gnome-keyring\)-\([^-]\+-[^-]\+-[^-]\+\)/\1 >= \2,/p' \
-e 's/\(seamonkey-solibs\)-\([^-]\+-[^-]\+-[^-]\+\)/\1 >= \2/p') \
requiredbuilder -y -v -b -s  $CWD $PKG
fi
# Create txz package
/sbin/makepkg -l y -c n $OUTPUT/$PKGNAME-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-txz}


# Cleanup if enabled
if [ "$1" = "--cleanup" ]; then
 rm -rf $TMP
fi

Avatar utente
boh
Linux 4.x
Linux 4.x
Messaggi: 1027
Iscritto il: ven 16 set 2005, 0:00
Slackware: 14.2 (x64)
Kernel: 4.4.111
Desktop: KDE 4.14.32
Località: Milano
Contatta:

Re: Errore compilazione chromium da SB

Messaggio da boh »

Con lo slackbuild di robby tutto è andato a buon fine! :D
Perchè hai eliminato la riga chmod 755 $PKG/usr/bin/*?
Comunque grazie ad entrambi per le risposte! ;)

Offtopic: Visto che per la slackware a 64bit i pacchetti di chromium sono fermi alla versione 7, posso far caricare questo pacchetto della versione 12.0.714.0? Se sì, a chi lo posso mandare?
"Be yourself. Everyone else is already taken." ~ Oscar Wilde

Avatar utente
robbybby
Linux 4.x
Linux 4.x
Messaggi: 1223
Iscritto il: sab 16 dic 2006, 10:48
Slackware: 13.1 / 64 bit
Kernel: 3.3.x
Desktop: KDE 4.4.5
Località: Fra Trantor e Terminus

Re: Errore compilazione chromium da SB

Messaggio da robbybby »

boh ha scritto:Perchè hai eliminato la riga chmod 755 $PKG/usr/bin/*?
Perché si riferisce a un link simbolico, e non ai binari, e quindi mi dava errore. Forse sarebbe stato più corretto fargli modificare i permessi ai binari originali. Non so. Dovrei controllare meglio.

Avatar utente
boh
Linux 4.x
Linux 4.x
Messaggi: 1027
Iscritto il: ven 16 set 2005, 0:00
Slackware: 14.2 (x64)
Kernel: 4.4.111
Desktop: KDE 4.14.32
Località: Milano
Contatta:

Re: Errore compilazione chromium da SB

Messaggio da boh »

Grazie :)
"Be yourself. Everyone else is already taken." ~ Oscar Wilde

hashbang
Packager
Packager
Messaggi: 2021
Iscritto il: ven 4 giu 2010, 10:27
Nome Cognome: Luca De Pandis
Distribuzione: macOS/OpenBSD
Località: Lecce/Bergamo

Re: Errore compilazione chromium da SB

Messaggio da hashbang »

boh ha scritto:Offtopic: Visto che per la slackware a 64bit i pacchetti di chromium sono fermi alla versione 7, posso far caricare questo pacchetto della versione 12.0.714.0? Se sì, a chi lo posso mandare?
Offtopic: Se il pacchetto è stato compilato su una Slackware full e pulita allora puoi chiedere allo staff di far caricare il pacchetto. Se loro sono d'accordo, puoi anche inviarmelo così' lo carico sul server ftp

Avatar utente
boh
Linux 4.x
Linux 4.x
Messaggi: 1027
Iscritto il: ven 16 set 2005, 0:00
Slackware: 14.2 (x64)
Kernel: 4.4.111
Desktop: KDE 4.14.32
Località: Milano
Contatta:

Re: [RISOLTO] Errore compilazione chromium da SB

Messaggio da boh »

Offtopic: Cavolo, ho già mandato una mail a packages@slacky.it, va bene lo stesso? Il pacchetto non è stato compilato su una slackware proprio pulita, ma i programmi che ho installato sono proprio una manciata e praticamente tutti stand-alone (amule, chromium, libreoffice e relative (poche) dipendenze); possono influire tanto? In ogni caso chromium lo sto usando attualmente e non ha malfunzionamenti di alcun tipo!
"Be yourself. Everyone else is already taken." ~ Oscar Wilde

Rispondi