[firefox-qt] Erreur lors de la compilation (résolu)

Mise à jour / Création /debug de paquetages
nonolapero
Daikyu
Messages : 68
Inscription : mar. 30 juin 2009, 19:26

Re: [firefox-qt] Erreur lors de la compilation

Message par nonolapero »

Qt est en version 4.7.4-3

Mon bashrc est presque vide

Code : Tout sélectionner

# Check for an interactive session

export GTK_IM_MODULE=xim
export QT_IM_MODULE=xim

Code : Tout sélectionner

cat .bash_profile 
. $HOME/.bashrc
export GTK_IM_MODULE=xim
Du côté de zshrc

Code : Tout sélectionner

GTK_IM_MODULE=xim
export GTK_IM_MODULE=xim



# /etc/zsh/zshrc ou ~/.zshrc
# Fichier de configuration principal de zsh, lu au lancement des shells interactifs
# (et non des shells d'interprétation de fichier)
# Formation Debian GNU/Linux par Alexis de Lattre
# http://formation-debian.via.ecp.fr/

################
# 1. Les alias #
################

# Gestion du 'ls' : couleur & ne touche pas aux accents
alias ls='ls --classify --tabsize=0 --literal --color=auto --show-control-chars --human-readable'

# Demande confirmation avant d'écraser un fichier
alias cp='cp --interactive'
alias mv='mv --interactive'
alias rm='rm --interactive'

# Raccourcis pour 'ls'
alias ll='ls -l'
alias la='ls -a'
alias lla='ls -la'

# Quelques alias pratiques
alias c='clear'
alias less='less --quiet'
alias s='cd ..'
alias df='df --human-readable'
alias du='du --human-readable'
alias m='mutt -y'
alias md='mkdir'
alias rd='rmdir'
alias upgrade='yaourt -Syua'
alias ecran='xrandr --output DVI-1 --left-of DVI-0'

#######################################
# 2. Prompt et définition des touches #
#######################################

# Exemple : ma touche HOME, cf  man termcap, est codifiee K1 (upper left
# key  on keyboard)  dans le  /etc/termcap.  En me  referant a  l'entree
# correspondant a mon terminal (par exemple 'linux') dans ce fichier, je
# lis :  K1=\E[1~, c'est la sequence  de caracteres qui sera  envoyee au
# shell. La commande bindkey dit simplement au shell : a chaque fois que
# tu rencontres telle sequence de caractere, tu dois faire telle action.
# La liste des actions est disponible dans "man zshzle".

# Correspondance touches-fonction
bindkey '^[[H'    beginning-of-line       # Home
bindkey '^[[F'    end-of-line             # End
bindkey '^[[3~'    delete-char             # Del
bindkey '^[[1~' beginning-of-line       # Home
bindkey '^[[4~' end-of-line             # End
bindkey '' delete-char             # Del
bindkey '' overwrite-mode          # Insert
bindkey '' history-search-backward # PgUp
bindkey '' history-search-forward  # PgDn

# Prompt couleur (la couleur n'est pas la même pour le root et
# pour les simples utilisateurs)
if [ "`id -u`" -eq 0 ]; then
  export PS1="%{%}%T %{%}%n%{%}@%{%}%m %{%}%~%{%}%#%{%} "
else
  export PS1="%{%}%T %{%}%n%{%}@%{%}%m %{%}%~%{%}%#%{%} "
fi

# Prise en charge des touches [début], [fin] et autres
typeset -A key

key[Home]=${terminfo[khome]}
key[End]=${terminfo[kend]}
key[Insert]=${terminfo[kich1]}
key[Delete]=${terminfo[kdch1]}
key[Up]=${terminfo[kcuu1]}
key[Down]=${terminfo[kcud1]}
key[Left]=${terminfo[kcub1]}
key[Right]=${terminfo[kcuf1]}
key[PageUp]=${terminfo[kpp]}
key[PageDown]=${terminfo[knp]}

[[ -n "${key[Home]}"    ]]  && bindkey  "${key[Home]}"    beginning-of-line
[[ -n "${key[End]}"     ]]  && bindkey  "${key[End]}"     end-of-line
[[ -n "${key[Insert]}"  ]]  && bindkey  "${key[Insert]}"  overwrite-mode
[[ -n "${key[Delete]}"  ]]  && bindkey  "${key[Delete]}"  delete-char
[[ -n "${key[Up]}"      ]]  && bindkey  "${key[Up]}"      up-line-or-history
[[ -n "${key[Down]}"    ]]  && bindkey  "${key[Down]}"    down-line-or-history
[[ -n "${key[Left]}"    ]]  && bindkey  "${key[Left]}"    backward-char
[[ -n "${key[Right]}"   ]]  && bindkey  "${key[Right]}"   forward-char


# Titre de la fenêtre d'un xterm
case $TERM in
   xterm*)
       precmd () {print -Pn "\e]0;%n@%m: %~\a"}
       ;;
esac

# Gestion de la couleur pour 'ls' (exportation de LS_COLORS)
if [ -x /usr/bin/dircolors ]
then
  if [ -r ~/.dir_colors ]
  then
    eval "`dircolors ~/.dir_colors`"
  elif [ -r /etc/dir_colors ]
  then
    eval "`dircolors /etc/dir_colors`"
  else
    eval "`dircolors`"
  fi
fi


###########################################
# 3. Options de zsh (cf 'man zshoptions') #
###########################################

# Je ne veux JAMAIS de beeps
unsetopt beep
unsetopt hist_beep
unsetopt list_beep
# >| doit être utilisés pour pouvoir écraser un fichier déjà existant ;
# le fichier ne sera pas écrasé avec '>'
unsetopt clobber
# Ctrl+D est équivalent à 'logout'
unsetopt ignore_eof
# Affiche le code de sortie si différent de '0'
setopt print_exit_value
# Demande confirmation pour 'rm *'
unsetopt rm_star_silent
# Correction orthographique des commandes
# Désactivé car, contrairement à ce que dit le "man", il essaye de
# corriger les commandes avant de les hasher
#setopt correct
# Si on utilise des jokers dans une liste d'arguments, retire les jokers
# qui ne correspondent à rien au lieu de donner une erreur
setopt nullglob

# Schémas de complétion

# - Schéma A :
# 1ère tabulation : complète jusqu'au bout de la partie commune
# 2ème tabulation : propose une liste de choix
# 3ème tabulation : complète avec le 1er item de la liste
# 4ème tabulation : complète avec le 2ème item de la liste, etc...
# -> c'est le schéma de complétion par défaut de zsh.

# Schéma B :
# 1ère tabulation : propose une liste de choix et complète avec le 1er item
#                   de la liste
# 2ème tabulation : complète avec le 2ème item de la liste, etc...
# Si vous voulez ce schéma, décommentez la ligne suivante :
#setopt menu_complete

# Schéma C :
# 1ère tabulation : complète jusqu'au bout de la partie commune et
#                   propose une liste de choix
# 2ème tabulation : complète avec le 1er item de la liste
# 3ème tabulation : complète avec le 2ème item de la liste, etc...
# Ce schéma est le meilleur à mon goût !
# Si vous voulez ce schéma, décommentez la ligne suivante :
#unsetopt list_ambiguous
# (Merci à Youri van Rietschoten de m'avoir donné l'info !)

# Options de complétion
# Quand le dernier caractère d'une complétion est '/' et que l'on
# tape 'espace' après, le '/' est effacé
setopt auto_remove_slash
# Ne fait pas de complétion sur les fichiers et répertoires cachés
unsetopt glob_dots

# Traite les liens symboliques comme il faut
setopt chase_links

# Quand l'utilisateur commence sa commande par '!' pour faire de la
# complétion historique, il n'exécute pas la commande immédiatement
# mais il écrit la commande dans le prompt
setopt hist_verify
# Si la commande est invalide mais correspond au nom d'un sous-répertoire
# exécuter 'cd sous-répertoire'
setopt auto_cd
# L'exécution de "cd" met le répertoire d'où l'on vient sur la pile
setopt auto_pushd
# Ignore les doublons dans la pile
setopt pushd_ignore_dups
# N'affiche pas la pile après un "pushd" ou "popd"
setopt pushd_silent
# "pushd" sans argument = "pushd $HOME"
setopt pushd_to_home

# Les jobs qui tournent en tâche de fond sont nicé à '0'
unsetopt bg_nice
# N'envoie pas de "HUP" aux jobs qui tourent quand le shell se ferme
unsetopt hup


###############################################
# 4. Paramètres de l'historique des commandes #
###############################################

# Nombre d'entrées dans l'historique
export HISTORY=1000
export SAVEHIST=1000

# Fichier où est stocké l'historique
export HISTFILE=$HOME/.history

# Ajoute l'historique à la fin de l'ancien fichier
#setopt append_history

# Chaque ligne est ajoutée dans l'historique à mesure qu'elle est tapée
setopt inc_append_history

# Ne stocke pas  une ligne dans l'historique si elle  est identique à la
# précédente
setopt hist_ignore_dups

# Supprime les  répétitions dans le fichier  d'historique, ne conservant
# que la dernière occurrence ajoutée
#setopt hist_ignore_all_dups

# Supprime les  répétitions dans l'historique lorsqu'il  est plein, mais
# pas avant
setopt hist_expire_dups_first

# N'enregistre  pas plus d'une fois  une même ligne, quelles  que soient
# les options fixées pour la session courante
#setopt hist_save_no_dups

# La recherche dans  l'historique avec l'éditeur de commandes  de zsh ne
# montre  pas  une même  ligne  plus  d'une fois,  même  si  elle a  été
# enregistrée
setopt hist_find_no_dups


###########################################
# 5. Complétion des options des commandes #
###########################################

zstyle ':completion:*' matcher-list '' 'm:{a-z}={A-Z}'
zstyle ':completion:*' max-errors 3 numeric
zstyle ':completion:*' use-compctl false

autoload -U compinit zcalc
compinit
Et pour le makepkg.conf dont je ne pense pas avoir touché quoi que ce soit

Code : Tout sélectionner

#
# /etc/makepkg.conf
#

#########################################################################
# SOURCE ACQUISITION
#########################################################################
#
#-- The download utilities that makepkg should use to acquire sources
#  Format: 'protocol::agent'
DLAGENTS=('ftp::/usr/bin/wget -c --passive-ftp -t 3 --waitretry=3 -O %o %u'
          'http::/usr/bin/wget -c -t 3 --waitretry=3 -O %o %u'
          'https::/usr/bin/wget -c -t 3 --waitretry=3 --no-check-certificate -O %o %u'
          'rsync::/usr/bin/rsync -z %u %o'
          'scp::/usr/bin/scp -C %u %o')

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

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

#-- Exclusive: will only run on x86_64
# -march (or -mcpu) builds exclusively for an architecture
# -mtune optimizes for an architecture, but builds for whole processor family
CFLAGS="-march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2"
CXXFLAGS="-march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2"
LDFLAGS="-Wl,-O1,--sort-common,--as-needed,-z,relro,--hash-style=gnu"
#-- Make Flags: change this for DistCC/SMP systems
#MAKEFLAGS="-j2"

#########################################################################
# BUILD ENVIRONMENT
#########################################################################
#
# Defaults: BUILDENV=(fakeroot !distcc color !ccache check)
#  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
#
BUILDENV=(fakeroot !distcc color !ccache check)
#
#-- 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=""

#########################################################################
# GLOBAL PACKAGE OPTIONS
#   These are default values for the options=() settings
#########################################################################
#
# Default: OPTIONS=(strip docs libtool emptydirs zipman purge)
#  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
#-- 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
#
OPTIONS=(strip docs libtool emptydirs zipman purge)

#-- 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
#-- Packager: name/email of the person or organization building packages
#PACKAGER="John Doe <john@doe.com>"

#########################################################################
# 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:
Je mettrai un lien vers le pastebin dans l'aprem mais le fichier généré est un poil long ! Actuellement il fait 1.7 Mo :o
Avatar de l’utilisateur
FoolEcho
Maître du Kyudo
Messages : 10711
Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie

Re: [firefox-qt] Erreur lors de la compilation

Message par FoolEcho »

nonolapero a écrit :Je mettrai un lien vers le pastebin dans l'aprem mais le fichier généré est un poil long ! Actuellement il fait 1.7 Mo :o
Certes. Je pense plutôt à la partie "configure" du début et quelques lignes en amont de l'erreur.
«The following statement is not true. The previous statement is true.» :nage:
nonolapero
Daikyu
Messages : 68
Inscription : mar. 30 juin 2009, 19:26

Re: [firefox-qt] Erreur lors de la compilation

Message par nonolapero »

Voilà la partie configure et ce qu'il y a avant l'erreur.
http://pastebin.archlinux.fr/434682
Avatar de l’utilisateur
FoolEcho
Maître du Kyudo
Messages : 10711
Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie

Re: [firefox-qt] Erreur lors de la compilation

Message par FoolEcho »

Ok. Ça ne compile pas contre le «bon» Qt (et en tous cas, celui de /opt est incomplet):

Code : Tout sélectionner

c++ -o nsLocaleService.o -c -I../../../dist/stl_wrappers -I../../../dist/system_wrappers -include /tmp/yaourt-tmp-ndoucet/aur-firefox-qt/src/mozilla-release/config/gcc_hidden.h -DMOZILLA_INTERNAL_API -D_IMPL_NS_COM -DEXPORT_XPT_API -DEXPORT_XPTC_API -D_IMPL_NS_GFX -D_IMPL_NS_WIDGET -DIMPL_XREAPI -DIMPL_NS_NET -DIMPL_THEBES  -DSTATIC_EXPORTABLE_JS_API -DOSTYPE=\"Linux3.1\" -DOSARCH=Linux  -I/tmp/yaourt-tmp-ndoucet/aur-firefox-qt/src/mozilla-release/intl/locale/src -I. -I../../../dist/include -I../../../dist/include/nsprpub  -I/usr/include/nspr -I/usr/include/nss    -DQT_SHARED -I/opt/qt/include -I/opt/qt/include/Qt -I/opt/qt/include/QtGui -I/opt/qt/include/QtCore -I/opt/qt/include/QtNetwork -I/opt/qt/include/QtDBus -I/opt/qt/include/QtXml -I/usr/include/qt4/QtMobility -I/usr/include/qt4/QtSensors    -fPIC  -fno-rtti -fno-exceptions -Wall -Wpointer-arith -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wcast-align -Wno-invalid-offsetof -Wno-variadic-macros -Werror=return-type -pedantic -Wno-long-long -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -fno-strict-aliasing -std=gnu++0x -pthread -ffunction-sections -fdata-sections -pipe  -DNDEBUG -DTRIMMED -g -Os -freorder-blocks  -fomit-frame-pointer   -DMOZILLA_CLIENT -include ../../../mozilla-config.h -MD -MF .deps/nsLocaleService.pp /tmp/yaourt-tmp-ndoucet/aur-firefox-qt/src/mozilla-release/intl/locale/src/nsLocaleService.cpp
D'où vient cette version dans /opt/ ? ( /opt/qt/ )
«The following statement is not true. The previous statement is true.» :nage:
nonolapero
Daikyu
Messages : 68
Inscription : mar. 30 juin 2009, 19:26

Re: [firefox-qt] Erreur lors de la compilation

Message par nonolapero »

Ça c'est une bonne question ! Je vais dire que c'est un paquet depuis aur qui n'était pas très bien fait. Je vais renommer le dossier en attendant de trouver à qui il sert.
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17569
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [firefox-qt] Erreur lors de la compilation

Message par benjarobin »

Tu peux rajouter au début de "build" de ton PKGBUILD :

Code : Tout sélectionner

env > /tmp/envCompilQt
return 1
Puis tu nous pastebin le fichier /tmp/envCompilQt

Edit: Le dossier Qt dans opt n'est pas vraiment le problème. Le plus gros problème c'est une variable d'environnement qui pointe dessus

Quel est la sortie de pacman -Qo /opt/qt/include/QtCore/qstring.h
Zsh | KDE | PC fixe : AMD Ryzen 9900X, Radeon RX 7700 XT
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
nonolapero
Daikyu
Messages : 68
Inscription : mar. 30 juin 2009, 19:26

Re: [firefox-qt] Erreur lors de la compilation

Message par nonolapero »

Le pastebin du contenu de /tmp/envCompilQt
http://pastebin.archlinux.fr/434683

Le Qt qui traine dans /opt est un Qt 3. C'est ce que semble raconter le début de quelques fichiers qui traînent dans le dossier. Du coup la commande de Benjarobin n'est pas possible car il n'y a pas de dossier QtCore dans include.
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17569
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [firefox-qt] Erreur lors de la compilation

Message par benjarobin »

Tu n'a plus qu'a trouver où sont définit QTDIR et PKG_CONFIG_PATH.
Pour PATH ce n'est pas très important...

Code : Tout sélectionner

QTDIR=/opt/qt
PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/bin/core_perl:/opt/qt/bin
PKG_CONFIG_PATH=:/opt/qt/lib/pkgconfig
Si possible donne nous la sortie de pacman -Qi qt3
Et si j'ai raison le coupable c'est ce fichier : /etc/profile.d/qt3.sh
Son contenu est :

Code : Tout sélectionner

export QTDIR=/opt/qt
export QT_XFT=true
export PATH=$PATH:$QTDIR/bin
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/opt/qt/lib/pkgconfig
Ce qui correspond exactement à la sortie de env.

Donc pour compiler firefox-qt, tu as 2 possibilités:
- Tu n'as plus besoin de qt3, tu désinstalle qt3 et tu te redémarre ta session
- Tu déplace /etc/profile.d/qt3.sh quelques part, tu ouvre une nouvelle session (su ton_utilsateur), tu compile, et restaure /etc/profile.d/qt3.sh
Zsh | KDE | PC fixe : AMD Ryzen 9900X, Radeon RX 7700 XT
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
nonolapero
Daikyu
Messages : 68
Inscription : mar. 30 juin 2009, 19:26

Re: [firefox-qt] Erreur lors de la compilation

Message par nonolapero »

Ben voilà je réponds depuis firefox-qt :bravo:
J'ai donc supprimé qt3 et ce qui était en rapport et relancé ma session.
La première compilation a foiré parce qu'elle voulait des choses en rapport avec qt-mobility qui trainait dans les paquets. J'ai donc viré qt-mobiliy. Seconde compilation, tout va bien jusqu'à ce que la machine se mette à swapper pour je ne sais quelle raison. Finalement la compilation se termine et j'installe la nouvelle version de firefox.

Par contre, pentadactyl n'a pas l'air d'apprécier cette version.

Merci pour l'aide en tout cas.

À l'usage, c'est tout de même bien expérimental, en plus il y a de bonnes grosses fuites de mémoire et des ralentissements. Je suis en train de me dire que je vous ai embêté pour un truc pas bien utilisable.
Répondre