Pagina 1 di 2

ricompilazione per i686

Inviato: mer 14 set 2005, 10:00
da Absolut
Ciao ragazzi... volevo chiedere una cosa: nel breve periodo in cui ho usato debiaa, c'era una cosa che mi era piaciuta, la possibilità di ricompilare quello che era installato per almeno il proprio processore. Lo facevo con apt-build.

Ora io avevo scelto solo il processore, non P4 e non avevo passato nulla a gcc (credo) perchè sono abbastanza pippa....

Ma mi chiedevo con slackware sarebbe possibile farlo!?

Insomma io vorrei avere i pacchetti per i686!!

thanks! ciauz!

Inviato: mer 14 set 2005, 10:12
da -Shark-
Per 686 basta passare al compilatore (puoi esportare CFLAGS e CXXFLAGS nel profile di bash) CFLAGS=-march=i486 -mcpu=i686
Potresti attivare anche altre ottimizzazioni (3dnow se amd, sse, mmx, etc etc...)!
Io lo stò facendo per un pc in azienda, che è un catorcio, sperando di ottenere un pò di performance in più! :)

Inviato: mer 14 set 2005, 10:16
da Absolut
ehm.. quello che hai scritto per e è abbastanza incomprensibile.... veramente sono nubbio parecchio!!!! Sto vedendo l'howto della slack build... mi sembra gia complicato...

Inviato: mer 14 set 2005, 10:17
da Absolut
scusate .. io ho un P4 3GHz e nell'how to c'è scritto che l'opzione per P4 è pentium4... giusto no!? non i686!!

Inviato: mer 14 set 2005, 10:20
da -Shark-
Niente di tanto complicato! :P
Se aggiungi a /etc/profile queste riga da qualche parte

CFLAGS="-march=i486 -mcpu=i686"
CXXFLAGS="-march=i486 -mcpu=i686"

quando compili da sorgente te li ottimizza per i686! Dovresti quindi, invece di scaricare il pacchetto pacchettizzato, il sorgente lo slackbuild e la slack-desk e far partire lo slackbuild... Nel repository Lorys mette in src tutta questo! :)

Inviato: mer 14 set 2005, 10:22
da -Shark-
Scusa tu, ma avevi chiesto ottimizzazione per i686 non per pentium 4! :P

Inviato: mer 14 set 2005, 10:28
da Absolut
sorry..... un'altra odmandina.... ma devo ricompilare anche le dipendenze!?

Inviato: mer 14 set 2005, 10:39
da Absolut
allora ho preso lo SlackBuild di gtkpod e ho cambiato la directory in /tmp/compilazione

poi ho messo dove ho trovato i386 o i686 -->pentium 4......

praticamnete tutto questo pezzo.....
f [ "$ARCH" = "pentium4" ]; then
SLKCFLAGS="-O2 -march=pentium4 -mcpu=pentium4"
elif [ "$ARCH" = "pentium4" ]; then
SLKCFLAGS="-O2 -march=pentium4 -mcpu=pentium4"
elif [ "$ARCH" = "pentium4" ]; then
SLKCFLAGS="-O2"
elif [ "$ARCH" = "pentium4" ]; then
SLKCFLAGS="-O2"
fi


lo potresti confrontare con l'originale e dirmi se è ok!?

cosi magari faccio la prova!!
thanks!!

Inviato: mer 14 set 2005, 10:49
da -Shark-
Quel blocco di script verifica l'architettura su cui vuoi compilare il pacchetto... puoi eliminare l'if e inserire direttamente le CFLAGS che hai scelto! :)
SLKCFLAGS="-O2 -march=pentium4 -mcpu=pentium4"

Inviato: mer 14 set 2005, 10:50
da epd20
.....così fai tre if consecutivi verificando "pentium4", a che ti serve?????
Rileggiti i post di sopra per sapere cosa esportare in /etc/profile

Inviato: mer 14 set 2005, 11:09
da Absolut
ok... questo è il mio /etc/profile.......

# /etc/profile: This file contains system-wide defaults used by
# all Bourne (and related) shells.

# Set the values for some environment variables:
export MINICOM="-c on"
export MANPATH=/usr/local/man:/usr/man:/usr/X11R6/man
export HOSTNAME="`cat /etc/HOSTNAME`"
export LESSOPEN="|lesspipe.sh %s"
export LESS="-M"

# If the user doesn't have a .inputrc, use the one in /etc.
if [ ! -r "$HOME/.inputrc" ]; then
export INPUTRC=/etc/inputrc
fi

# Set the default system $PATH:
PATH="/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/usr/games"

# For root users, ensure that /usr/local/sbin, /usr/sbin, and /sbin are in
# the $PATH. Some means of connection don't add these by default (sshd comes
# to mind).
if [ "`id -u`" = "0" ]; then
echo $PATH | grep /usr/local/sbin 1> /dev/null 2> /dev/null
if [ ! $? = 0 ]; then
PATH=/usr/local/sbin:/usr/sbin:/sbin:$PATH
fi
fi

# I had problems using 'eval tset' instead of 'TERM=', but you might want to
# try it anyway. I think with the right /etc/termcap it would work great.
# eval `tset -sQ "$TERM"`
if [ "$TERM" = "" -o "$TERM" = "unknown" ]; then
TERM=linux
fi

# Set ksh93 visual editing mode:
if [ "$SHELL" = "/bin/ksh" ]; then
VISUAL=emacs
# VISUAL=gmacs
# VISUAL=vi
fi

# Set a default shell prompt:
#PS1='`hostname`:`pwd`# '
if [ "$SHELL" = "/bin/pdksh" ]; then
PS1='! $ '
elif [ "$SHELL" = "/bin/ksh" ]; then
PS1='! ${PWD/#$HOME/~}$ '
elif [ "$SHELL" = "/bin/zsh" ]; then
PS1='%n@%m:%~%# '
elif [ "$SHELL" = "/bin/ash" ]; then
PS1='$ '
else
PS1='\u@\h:\w\$ '
fi
PS2='> '
export PATH DISPLAY LESS TERM PS1 PS2

# Default umask. A umask of 022 prevents new files from being created group
# and world writable.
umask 022

# Set up the LS_COLORS and LS_OPTIONS environment variables for color ls:
if [ "$SHELL" = "/bin/zsh" ]; then
eval `dircolors -z`
elif [ "$SHELL" = "/bin/ash" ]; then
eval `dircolors -s`
else
eval `dircolors -b`
fi

# Notify user of incoming mail. This can be overridden in the user's
# local startup file (~/.bash.login or whatever, depending on the shell)
if [ -x /usr/bin/biff ]; then
biff y
fi

# Append any additional sh scripts found in /etc/profile.d/:
for profile_script in /etc/profile.d/*.sh ; do
if [ -x $profile_script ]; then
. $profile_script
fi
done
unset profile_script

# For non-root users, add the current directory to the search path:
if [ ! "`id -u`" = "0" ]; then
PATH="$PATH:."
fi




Devo aggiungere solo quelle due righe!? senza seguire una sintassi!?

thanks.. e scusatemi.....

Inviato: mer 14 set 2005, 11:15
da -Shark-
La sintassi c'è... quelle sono ottimizzazioni molto generali per i686! Se cerchi CFLAGS su google trovi sicuramente qualcosa! Anzi trovi qualcosa anche sul forum! :)
Si comunque basta metterle in /etc/profile

Inviato: mer 14 set 2005, 11:41
da Absolut
ok.. provavo a ricompilare xmms
CFLAGS="-O2 -march=pentium4 -mcpu=pentium4" ./configure --prefix=/usr \
--localstatedir=/var/lib \
--enable-simd \
--with-ipv6 \
i486-slackware-linux


se nell'ultima riga do pentium4 invece che i486 si blocca....

Inviato: mer 14 set 2005, 11:44
da -Shark-
Non vorrei dire una castroneria, ma credo che quella direttiva sia legata alla dir di gcc (che su slackware ha appunto quel nome)...

Inviato: gio 15 set 2005, 2:47
da rob