View previous topic :: View next topic |
Author |
Message |
broch Tux's lil' helper
Joined: 09 Jul 2005 Posts: 94
|
Posted: Thu May 06, 2010 1:03 am Post subject: |
|
|
tranquilcool wrote: | broch wrote: | Thaidog wrote: | More news - Chi has a new 32bit patch out:
wget http://www.linuxdna.com/dna-2.6.34-rc5-intel32-4.patch
Also Luyi found that using -ipo1 instead of -ipo to compile packages like MySQL and PHP works! And we should use -no-gcc in most of the packages. (A lot of strange problems like segment fault disappeared. But we need to change -KPIC to -fPIC in the configure script.) |
great,
thank you both
note:
dna patch applied on 2.6.34-rc6-git4
booted successfully, works with nvidia driver 195.36.24
stable for at least 16min |
how did you get nvidia-drivers to work.
can't make it work here. |
I assume that you have at least one kernel compiled with gcc 4.x
In general this is a method of using all installed kernels with nvidia, so when you switch from one kernel to another, you don't need to reinstall nvidia drivers: you will install ndiaid driver for as many kernels as you want simultaneously. This works for me also in the case of dna/icc kernels.
This method works for 32-bit and 64-bit gcc kernels and 32-bit gcc/icc kernels. I don't know how it will work for 64-bit gcc/icc kernels
1) boot gcc kernel
2) install nvidia driver (from nvidia site)
3) compile icc kernel (or gcc it does not matter)
4) do NOT reboot to dna/icc kernels, but first install nvidia module for newly compiled (dna) kernel:
sudo sh NVIDIA-Linux-x86-195.36.24-pkg1.run --kernel-name='kernel_name' -K -N -s
5) boot dna kernel: et voila, should work I hope
-K install nvidia module to offline kernel
-N do not check ftp site for never nvidia version
-s install completely silent
restrictions:
1) all kernels must have the same nvidia version
2) this works only if installing for offline kernels
pretty easy and nice if you have more than one kernel and tend to switch between them. I think that this woks because nvidia module is simply copied, not compiled.
If you know about offline installation and it does not work for you, I have no other suggestions unfortunately. In my case this is really stable: no problems with driver.
I hope that this will help
(I have nvidia 7400 Go) |
|
Back to top |
|
|
Thaidog Veteran
Joined: 19 May 2004 Posts: 1053
|
Posted: Thu May 06, 2010 1:07 am Post subject: |
|
|
tranquilcool wrote: | broch wrote: | Thaidog wrote: | More news - Chi has a new 32bit patch out:
wget http://www.linuxdna.com/dna-2.6.34-rc5-intel32-4.patch
Also Luyi found that using -ipo1 instead of -ipo to compile packages like MySQL and PHP works! And we should use -no-gcc in most of the packages. (A lot of strange problems like segment fault disappeared. But we need to change -KPIC to -fPIC in the configure script.) |
great,
thank you both
note:
dna patch applied on 2.6.34-rc6-git4
booted successfully, works with nvidia driver 195.36.24
stable for at least 16min |
how did you get nvidia-drivers to work.
can't make it work here. |
I think you can use the "offline install method" to get them working using your normal gcc kernel booted.
EDIT: Whoops... see above post _________________ Registered Linux User: 437619
"I'm a big believer in technology over politics" - Linus Torvalds |
|
Back to top |
|
|
Thaidog Veteran
Joined: 19 May 2004 Posts: 1053
|
|
Back to top |
|
|
mothersh1p n00b
Joined: 21 Apr 2010 Posts: 15
|
Posted: Mon May 10, 2010 9:48 pm Post subject: |
|
|
Thaidog wrote: | More news - Chi has a new 32bit patch out:
note:
dna patch applied on 2.6.34-rc6-git4
booted successfully, works with nvidia driver 195.36.24
stable for at least 16min |
I've tried Zen-Kernel 2.6.34-rc6-zen1 today. Booted successfully, and is stable. Seems to me a bit faster than rc5. |
|
Back to top |
|
|
broch Tux's lil' helper
Joined: 09 Jul 2005 Posts: 94
|
Posted: Fri May 14, 2010 1:01 pm Post subject: |
|
|
I just tried unsuccesfully to compile 2.6.33.4 patched with dna-2.6.33-intel32-1.patch
The issue is related to iwl3945
when I compile patched kernel with icc I am getting the same error as i described earlier:
Code: | CC [M] drivers/net/wireless/iwlwifi/iwl-scan.o
drivers/net/wireless/iwlwifi/iwl-scan.c(529) (col. 2): internal error: 0_0
compilation aborted for drivers/net/wireless/iwlwifi/iwl-scan.c (code 4)
make[4]: *** [drivers/net/wireless/iwlwifi/iwl-scan.o] Error 4
make[3]: *** [drivers/net/wireless/iwlwifi] Error 2
make[2]: *** [drivers/net/wireless] Error 2
make[1]: *** [drivers/net] Error 2
make: *** [drivers] Error 2 |
so per advice of Chi, I edited
drivers/net/wireless/Makefile
and added
CC=gcc
this worked well for 2.6.33.3
however in the case of 2.6.33.4 after editing the above Makefile, I am getting a new error:
Code: | CC [M] drivers/net/wireless/iwlwifi/iwl3945-base.o
gcc: fast=2: No such file or directory
gcc: unrecognized option '-vec-report1'
gcc: unrecognized option '-no-prec-div'
gcc: unrecognized option '-vec-guard-write'
cc1: error: unrecognized command line option "-fp-model"
make[4]: *** [drivers/net/wireless/iwlwifi/iwl3945-base.o] Error 1
make[3]: *** [drivers/net/wireless/iwlwifi] Error 2
make[2]: *** [drivers/net/wireless] Error 2
make[1]: *** [drivers/net] Error 2
make: *** [drivers] Error 2 |
is there any way I could fix this?
thanks |
|
Back to top |
|
|
mothersh1p n00b
Joined: 21 Apr 2010 Posts: 15
|
|
Back to top |
|
|
broch Tux's lil' helper
Joined: 09 Jul 2005 Posts: 94
|
Posted: Fri May 14, 2010 6:20 pm Post subject: |
|
|
thanks, this fixed compiling issue.
I think that you did remove -fp-model fast=2 from dna-2.6.34-rc5-intel32-4.patch because I dod not have any issues compiling -rc kernel.
Great work! |
|
Back to top |
|
|
mothersh1p n00b
Joined: 21 Apr 2010 Posts: 15
|
|
Back to top |
|
|
Thaidog Veteran
Joined: 19 May 2004 Posts: 1053
|
Posted: Sat Jun 26, 2010 4:48 am Post subject: |
|
|
FYI - There is a new 32bit 2.6.34 patch available:
wget http://linuxdna.com/dna-2.6.34-intel32.patch _________________ Registered Linux User: 437619
"I'm a big believer in technology over politics" - Linus Torvalds |
|
Back to top |
|
|
SpectreDragon Tux's lil' helper
Joined: 22 Aug 2008 Posts: 92 Location: Germany
|
Posted: Thu Jul 29, 2010 10:32 pm Post subject: |
|
|
Recently tried to build a LinuxDNA kernel and it actually managed to boot. Unfortunately when I try to reboot it panics
Is there any chance of solving this? The trace looks like
Code: | Call Trace:
[...] ? sys_reboot
[...] ? do_munmap
[...] ? mntput_no_expire
[...] ? fput
[...] ? sys_close
[...] ? system_call_fastpath
...
RIP [...] device_shutdown
...
---[ end trace ... ]---
INIT: no more processes left in this runlevel |
btw. it's 2.6.34.1 (x86_64) |
|
Back to top |
|
|
printf Tux's lil' helper
Joined: 02 Dec 2010 Posts: 123
|
Posted: Sat Jan 15, 2011 7:45 pm Post subject: |
|
|
costel78 wrote: | I finished (for now) my system compiled as much as possible with icc using ip and ipo flags.
I have to say that stability it's not easy to archive, because the following thing may happen: today a package may compile and work fine and tomorrow, at next update, it may compile fine but fail to run stable. That's the worst case scenario.
Comparative with a full gcc system with emerge in background (--buildpkgonly) which imply only a short period of time for maintenance , a system compiled with icc require much of your time.
Does it worth ? The answer depend by person. My answer is Yes. Not for system speed you get (may be impressive in some places), but for experience you got during the process. That's the Gentoo way
I want to thanks everyone from this forum who helped me during process, especially Thaidog, darkbasic and linuxrouter (from LinuxDNA Google Group) and entire LinuxDNA team that makes a tremendous job.
make.conf:
Code: | # These settings were set by the catalyst build script that automatically
# built this stage.
# Please consult /etc/make.conf.example for a more detailed example.
CHOST="x86_64-pc-linux-gnu"
CBUILD="x86_64-pc-linux-gnu"
ACCEPT_LICENSE="*"
PORTAGE_ECLASS_WARNING_ENABLE="0"
ACCEPT_KEYWORDS="~amd64 ~x86 amd64 x86"
AUTOCLEAN="yes"
LANG="ro_RO.UTF-8"
LC_ALL="ro_RO.UTF-8"
LINGUAS="ro en"
WANT_MP="true"
INPUT_DEVICES="evdev keyboard mouse"
VIDEO_CARDS="nv nvidia"
ALSA_CARDS="hda-intel"
LIRC_DEVICES="hauppauge"
COLLISION_IGNORE="/usr /lib /lib64 /bin /sbin /var"
SYNC="rsync://rsync.europe.gentoo.org"
GENTOO_MIRRORS="http://localhost http://mirrors.xservers.ro/gentoo/ http://ftp.roedu.net/pub/mirrors/gentoo.org/ http://mirrors.evolva.ro/gentoo/ http://distfiles.gentoo.org/ ${GENTOO_MIRRORS}"
FETCHCOMMAND="/usr/bin/wget --bind-address=192.168.2.5 --timeout=4 -t 2 --passive-ftp -O \"\${DISTDIR}/\${FILE}\" \"\${URI}\""
RESUMECOMMAND="/usr/bin/wget -c --bind-address=192.168.2.5 --timeout=4 -t 2 --passive-ftp -O \"\${DISTDIR}/\${FILE}\" \"\${URI}\""
PORTAGE_RSYNC_EXTRA_OPTS="--progress --delete-before --human-readable"
DISTDIR="/usr/portage/distfiles"
GRAPHITE="-floop-interchange -floop-strip-mine -floop-block"
CFLAGS="-O2 -pipe -w -march=native -mtune=native ${GRAPHITE}"
CXXFLAGS="${CFLAGS}"
LDFLAGS="-Wl,-O1,--sort-common,--warn-once,--hash-style=gnu"
MAKEOPTS="-j8 --load-average=11"
APACHE2_MODULES="authn_alias cern_meta charset_lite dumpio log_forensic proxy_ftp version actions alias auth_basic auth_digest authn_anon authn_dbd authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock dbd deflate dir disk_cache env expires ext_filter file_cache filter headers ident imagemap include info log_config logio mem_cache mime mime_magic negotiation proxy proxy_ajp proxy_balancer proxy_connect proxy_http rewrite setenvif so speling status unique_id userdir usertrack vhost_alias asis substitute"
APACHE2_MPMS="worker"
W_USE="-R -akonadi -berkdb -bluetooth -branding -handbook -ipv6 -ldap -xattr"
N_USE="bindist caps curl custom-cflags eds ffmpeg fontconfig geoip gmp gnome gstreamer icu imagemagick jpeg jpeg2k kde lame lm_sensors matroska mpi mysql nls oss perl php png postgres quicktime samba slang smp startup-notification subversion symlink tcl threads tk v4l v4l2 vhosts"
L_USE="system-sqlite glitz clamdtop cleartype custom-cpuopts custom-optimization faac faad fuse git gmp inotify ithreads logrotate optimization rar replytolist resolvconf ssh tools vdpau"
USE="${W_USE} ${N_USE} ${L_USE}"
CLEAN_DELAY="3"
FEATURES="assume-digests candy distlocks fixpackages nodoc -parallel-fetch prelink strict -test unmerge-orphans -sandbox"
# SEARCH_DIRS_MASK=""
OVR="/usr/portage/local"
PORTDIR_OVERLAY="${OVR}/added ${OVR}/gnome ${OVR}/gentoo-php-rewrite"
RUBY_TARGETS="ruby18 jruby"
EMERGE_DEFAULT_OPTS="--jobs=4 --load-average=7.9 --keep-going --with-bdeps=y --complete-graph"
PORTAGE_COMPRESS="bzip2"
PORTAGE_COMPRESS_FLAGS="-9"
RSYNC_TIMEOUT=500
ICCCFLAGS="-O2 -xSSE4.2 -gcc -w -ip -ipo"
ICCCXXFLAGS="${ICCCFLAGS}"
|
Relevant files from /etc/portage:
bashrc - the new part (comparative to wiki) is replace of ld with xild. Packages that do not support xild are in package.icc-plain
Code: | export GCC=${OCC}
export GCXX=${OCXX}
export OCC="icc"
export OCXX="icpc"
export CFLAGS=${ICCCFLAGS}
export CXXFLAGS=${ICCCXXFLAGS}
[ -r ${ROOT}/etc/portage/package.gcc ] || return 0
while read -a target; do
if [ "${target}" = "${CATEGORY}/${PN}" ]; then
export OCC=${GCC}
export OCXX=${GCXX}
export CFLAGS="$flags"
export CXXFLAGS="$CFLAGS"
if [ -r ${ROOT}/etc/portage/package.gcc-cflags ]; then
while read target flags; do
if [ "${target}" = "${CATEGORY}/${PN}" ]; then
export CFLAGS="$flags"
export CXXFLAGS="$CFLAGS"
break
fi
done < ${ROOT}/etc/portage/package.gcc-cflags
fi
break
fi
done < ${ROOT}/etc/portage/package.gcc
if [ "${GCC}" = "icc" ]; then
found="no"
while read -a target; do
if [ "${target}" = "${CATEGORY}/${PN}" ]; then
found="yes"
break;
fi
done < ${ROOT}/etc/portage/package.icc-plain
if [ "${found}" = "no" ]; then
export AR=xiar
export LD=xild
export LDFLAGS=" -Wl,-O,--sort-common,--warn-once,--hash-style=gnu"
fi
fi
if [ -r ${ROOT}/etc/portage/package.icc-cflags ]; then
while read target flags; do
if [ "${target}" = "${CATEGORY}/${PN}" ]; then
export CFLAGS="$flags"
export CXXFLAGS="$CFLAGS"
break
fi
done < ${ROOT}/etc/portage/package.icc-cflags
fi
if [ "${OCC}" != "" ]; then
export CC_FOR_BUILD="${OCC}" #workaround gcc detection function in toolchain-funcs.eclass
fi
unset GCC
unset GCXX
|
package.gcc - packages that don't compile with icc, or, by compile them with icc break stuff
Code: | # Basic, important packages
app-shells/bash
sys-apps/sed
sys-devel/binutils
sys-devel/gcc
sys-libs/glibc
sys-libs/libstdc++-v3
sys-libs/ncurses
sys-libs/zlib
sys-process/procps
# It's compile, but the result during runtime is cathastophic
app-arch/xz-utils
dev-libs/openssl
sys-fs/ntfs3g
# Qt - it compile and works fine with icc, but kdelibs can't be compiled, even with gcc, so switched them to gcc
x11-libs/qt-core
x11-libs/qt-dbus
x11-libs/qt-gui
x11-libs/qt-opengl
x11-libs/qt-qt3support
x11-libs/qt-script
x11-libs/qt-sql
x11-libs/qt-svg
x11-libs/qt-test
x11-libs/qt-webkit
x11-libs/qt-xmlpatterns
# Various packages
app-antivirus/clamav
app-arch/gzip
app-doc/doxygen
app-emulation/virtualbox-modules
app-emulation/virtualbox-ose
app-misc/lirc
app-office/openoffice
app-text/aspell
dev-cpp/glibmm
dev-cpp/gtkmm
dev-db/cdb
dev-lang/perl
dev-lang/php
dev-libs/boost
dev-libs/check
dev-libs/elfutils
dev-libs/klibc
dev-libs/libatomic_ops
dev-libs/libffi
dev-libs/liboil
dev-libs/libpcre
dev-libs/nss
dev-libs/ppl
dev-libs/STLport
dev-util/kdevelop
dev-util/subversion
gnome-extra/wp_tray
kde-base/gwenview
kde-base/juk
kde-base/kcheckpass
kde-base/kdeartwork-kscreensaver
kde-base/kdebase-kioslaves
kde-base/kdelibs
kde-base/kdepimlibs
kde-base/kdm
kde-base/klinkstatus
kde-base/kopete
kde-base/krfb
kde-base/krosspython
kde-base/krunner
kde-base/ksysguard
kde-base/kwin
kde-base/libkcompactdisc
kde-base/libkdcraw
kde-base/okular
kde-misc/krusader
mail-client/mailx
media-gfx/graphviz
media-gfx/inkscape
media-libs/babl
media-libs/gd
media-libs/gegl
media-libs/id3lib
media-libs/libcanberra
media-libs/libmp4v2
media-libs/libv4l
media-libs/openjpeg
media-libs/taglib
media-libs/xine-lib
media-plugins/gst-plugins-ffmpeg
media-plugins/gst-plugins-taglib
media-sound/sox
media-video/avidemux
media-video/mkvtoolnix
net-analyzer/nmap
net-analyzer/ntop
net-firewall/iptables
net-fs/samba
net-ftp/lftp
net-libs/libnice
net-libs/xulrunner
net-misc/ntp
net-p2p/ktorrent
perl-core/version
sys-apps/busybox
sys-apps/coreutils
sys-apps/memtest86+
sys-apps/parted
sys-apps/preload
sys-apps/util-linux
sys-apps/v86d
sys-boot/lilo
sys-boot/syslinux
sys-devel/m4
sys-devel/prelink
sys-fs/btrfs-progs
sys-fs/mdadm
sys-libs/gpm
www-client/chromium
www-plugins/moonlight
x11-apps/x11perf
x11-apps/xauth
x11-apps/xhost
x11-apps/xinit
x11-base/xorg-server
x11-drivers/nvidia-drivers
x11-drivers/xf86-video-nv
x11-libs/cairo
x11-libs/libXvMC
x11-misc/makedepend
x11-wm/compiz
x11-wm/metacity
|
package.icc-cflags - accept flags per package. Most are here because they don't support or do not run well when compiling with ipo flag
Code: |
app-admin/syslog-ng -O2 -xSSE4.2 -gcc -w -ip
app-arch/cabextract -O2 -xSSE4.2 -gcc -w -ip
app-arch/cpio -O2 -xSSE4.2 -gcc -w
app-arch/tar -O2 -xSSE4.2 -gcc -w -ip
app-cdr/brasero -O2 -xSSE4.2 -gcc -w -ip
app-crypt/pinentry -O2 -xSSE4.2 -gcc -w -ip
app-editors/gedit -O2 -xSSE4.2 -gcc -w -ip
app-misc/strigi -O2 -xSSE4.2 -gcc -w -ip
app-office/scribus -O2 -xSSE4.2 -gcc -w -ip
app-text/rarian -O2 -xSSE4.2 -gcc -w -ip
dev-db/postgresql-base -O2 -xSSE4.2 -gcc -w -ip
dev-db/sqlite -O3 -xSSE4.2 -gcc -w -ip -ipo
dev-lang/python -O3 -xSSE4.2 -gcc -w -ip -ipo
dev-lang/yasm -O2 -xSSE4.2 -gcc -w -ip
dev-libs/apr -O2 -xSSE4.2 -gcc -w -ip
dev-libs/apr-util -O2 -xSSE4.2 -gcc -w -ip
dev-libs/dbus-glib -O2 -xSSE4.2 -gcc -w -ip
dev-libs/fribidi -O2 -xSSE4.2 -gcc -w -ip
dev-libs/glib -O2 -xSSE4.2 -gcc -w -ip
dev-libs/libassuan -O2 -xSSE4.2 -gcc -w -ip
dev-libs/libgamin -O2 -xSSE4.2 -gcc -w -ip
dev-libs/libgcrypt -O2 -xSSE4.2 -gcc -w -ip
dev-libs/libgweather -O2 -xSSE4.2 -gcc -w -ip
dev-libs/libunique -O2 -xSSE4.2 -gcc -w -ip
dev-python/compizconfig-python -O2 -xSSE4.2 -gcc -w -ip
dev-python/dbus-python -O2 -xSSE4.2 -gcc -w -ip
dev-python/gconf-python -O2 -xSSE4.2 -gcc -w -ip
dev-python/gnome-applets-python -O2 -xSSE4.2 -gcc -w -ip
dev-python/gnome-vfs-python -O2 -xSSE4.2 -gcc -w -ip
dev-python/gst-python -O2 -xSSE4.2 -gcc -w -ip
dev-python/libbonobo-python -O2 -xSSE4.2 -gcc -w -ip
dev-python/libgnomecanvas-python -O2 -xSSE4.2 -gcc -w -ip
dev-python/libgnome-python -O2 -xSSE4.2 -gcc -w -ip
dev-python/numpy -O2 -xSSE4.2 -gcc -w -ip
dev-python/pygobject -O2 -xSSE4.2 -gcc -w -ip
dev-python/pygtk -O2 -xSSE4.2 -gcc -w -ip
dev-python/pygtksourceview -O2 -xSSE4.2 -gcc -w -ip
dev-python/pyorbit -O2 -xSSE4.2 -gcc -w -ip
dev-python/PyQt4 -O2 -xSSE4.2 -gcc -w -ip
dev-python/sexy-python -O2 -xSSE4.2 -gcc -w -ip
dev-util/cmake -O2 -xSSE4.2 -gcc -w -ip
dev-util/cvs -O2 -xSSE4.2 -gcc -w -ip
dev-util/gperf -O2 -xSSE4.2 -gcc -w -ip
dev-util/kbuild -O2 -xSSE4.2 -gcc -w -ip
games-emulation/dosbox -O2 -xSSE4.2 -gcc -w -ip
gnome-base/gnome-keyring -O2 -xSSE4.2 -gcc -w -ip
gnome-base/gnome-menus -O2 -xSSE4.2 -gcc -w -ip
gnome-base/gnome-session -O2 -xSSE4.2 -gcc -w -ip
gnome-base/gnome-vfs -O2 -xSSE4.2 -gcc -w -ip
gnome-base/gvfs -O2 -xSSE4.2 -gcc -w -ip
gnome-base/libglade -O2 -xSSE4.2 -gcc -w -ip
gnome-base/libgnome-keyring -O2 -xSSE4.2 -gcc -w -ip
gnome-base/libgnome -O2 -xSSE4.2 -gcc -w -ip
gnome-base/libgnomeui -O2 -xSSE4.2 -gcc -w -ip
gnome-base/orbit -O2 -xSSE4.2 -gcc -w -ip
gnome-extra/gnome-media -O2 -xSSE4.2 -gcc -w -ip
gnome-extra/gucharmap -O2 -xSSE4.2 -gcc -w -ip
gnome-extra/libgsf -O2 -xSSE4.2 -gcc -w -ip
kde-base/ksystemlog -O2 -xSSE4.2 -gcc -w -ip
kde-base/pykde4 -O2 -xSSE4.2 -gcc -w -ip
mail-mta/postfix -O2 -xSSE4.2 -gcc -w -ip
media-gfx/gimp -O2 -xSSE4.2 -gcc -w -ip
media-gfx/imagemagick -O2 -xSSE4.2 -gcc -w -ip
media-libs/aften -O2 -xSSE4.2 -gcc -w -ip
media-libs/alsa-lib -O2 -xSSE4.2 -gcc -w -ip
media-libs/gstreamer -O2 -xSSE4.2 -gcc -w -ip
media-libs/libdvdnav -O2 -xSSE4.2 -gcc -w -ip
media-libs/libdvdread -O2 -xSSE4.2 -gcc -w -ip
media-libs/libgphoto2 -O2 -xSSE4.2 -gcc -w -ip
media-libs/libtheora -O2 -xSSE4.2 -gcc -w -ip
media-libs/mesa -O2 -xSSE4.2 -gcc -w -ip
media-libs/schroedinger -O2 -xSSE4.2 -gcc -w -ip
media-libs/speex -O2 -xSSE4.2 -gcc -w -ip
media-libs/swfdec -O2 -xSSE4.2 -gcc -w -ip
media-libs/x264 -O2 -xSSE4.2 -gcc -w -ip
media-plugins/gst-plugins-a52dec -O2 -xSSE4.2 -gcc -w -ip
media-plugins/gst-plugins-alsa -O2 -xSSE4.2 -gcc -w -ip
media-plugins/gst-plugins-cdparanoia -O2 -xSSE4.2 -gcc -w -ip
media-plugins/gst-plugins-dvdread -O2 -xSSE4.2 -gcc -w -ip
media-plugins/gst-plugins-faac -O2 -xSSE4.2 -gcc -w -ip
media-plugins/gst-plugins-flac -O2 -xSSE4.2 -gcc -w -ip
media-plugins/gst-plugins-gconf -O2 -xSSE4.2 -gcc -w -ip
media-plugins/gst-plugins-gio -O2 -xSSE4.2 -gcc -w -ip
media-plugins/gst-plugins-gnomevfs -O2 -xSSE4.2 -gcc -w -ip
media-plugins/gst-plugins-lame -O2 -xSSE4.2 -gcc -w -ip
media-plugins/gst-plugins-mad -O2 -xSSE4.2 -gcc -w -ip
media-plugins/gst-plugins-mpeg2dec -O2 -xSSE4.2 -gcc -w -ip
media-plugins/gst-plugins-ogg -O2 -xSSE4.2 -gcc -w -ip
media-plugins/gst-plugins-oss -O2 -xSSE4.2 -gcc -w -ip
media-plugins/gst-plugins-pango -O2 -xSSE4.2 -gcc -w -ip
media-plugins/gst-plugins-resindvd -O2 -xSSE4.2 -gcc -w -ip
media-plugins/gst-plugins-theora -O2 -xSSE4.2 -gcc -w -ip
media-plugins/gst-plugins-v4l2 -O2 -xSSE4.2 -gcc -w -ip
media-plugins/gst-plugins-v4l -O2 -xSSE4.2 -gcc -w -ip
media-plugins/gst-plugins-vorbis -O2 -xSSE4.2 -gcc -w -ip
media-plugins/gst-plugins-x -O2 -xSSE4.2 -gcc -w -ip
media-plugins/gst-plugins-xvideo -O2 -xSSE4.2 -gcc -w -ip
media-plugins/live -O2 -xSSE4.2 -gcc -w -ip
media-sound/audacious -O2 -xSSE4.2 -gcc -w -ip
media-sound/audacity -O2 -xSSE4.2 -gcc -w -ip
media-sound/rosegarden -O2 -xSSE4.2 -gcc -w -ip
media-sound/wavpack -O2 -xSSE4.2 -gcc -w -ip
media-tv/xawtv -O2 -xSSE4.2 -gcc -w -ip
media-video/dirac -O2 -xSSE4.2 -gcc -w -ip
media-video/gnome-mplayer -O2 -xSSE4.2 -gcc -w -ip
media-video/mplayer -O2 -xSSE4.2 -gcc -w -ip
media-video/transcode -O2 -xSSE4.2 -gcc -w -ip
net-analyzer/ipfm -O2 -xSSE4.2 -gcc -w -ip
net-analyzer/iptraf -O2 -xSSE4.2 -gcc -w -ip
net-dns/bind-tools -O2 -xSSE4.2 -gcc -w -ip
net-firewall/ebtables -O2 -xSSE4.2 -gcc -w -ip
net-ftp/filezilla -O2 -xSSE4.2 -gcc -w -ip
net-ftp/gftp -O2 -xSSE4.2 -gcc -w -ip
net-ftp/pure-ftpd -O2 -xSSE4.2 -gcc -w -ip
net-libs/farsight2 -O2 -xSSE4.2 -gcc -w -ip
net-libs/libssh2 -O2 -xSSE4.2 -gcc -w -ip
net-mail/fetchmail -O2 -xSSE4.2 -gcc -w -ip
net-misc/aria2 -O2 -xSSE4.2 -gcc -w -ip
net-misc/dhcp -O2 -xSSE4.2 -gcc -w -ip
net-misc/ipv6calc -O2 -xSSE4.2 -gcc -w -ip
net-misc/openssh -O2 -xSSE4.2 -gcc -w -ip
net-misc/wget -O2 -xSSE4.2 -gcc -w -ip
net-p2p/transmission -O2 -xSSE4.2 -gcc -w -ip
net-print/cups -O2 -xSSE4.2 -gcc -w -ip
net-proxy/squid -O2 -xSSE4.2 -gcc -w -ip
sys-apps/dbus -O2 -xSSE4.2 -gcc -w -ip
sys-apps/devicekit-power -O2 -xSSE4.2 -gcc -w -ip
sys-apps/diffutils -O2 -xSSE4.2 -gcc -w -ip
sys-apps/grep -O2 -xSSE4.2 -gcc -w -ip
sys-apps/groff -O2 -xSSE4.2 -gcc -w -ip
sys-apps/module-init-tools -O2 -xSSE4.2 -gcc -w -ip
sys-apps/sandbox -O2 -xSSE4.2 -gcc -w -ip
sys-apps/sysvinit -O2 -xSSE4.2 -gcc -w -ip
sys-apps/texinfo -O2 -xSSE4.2 -gcc -w -ip
sys-auth/polkit -O2 -xSSE4.2 -gcc -w -ip
sys-cluster/openmpi -O2 -xSSE4.2 -gcc -w -ip
sys-devel/bc -O2 -xSSE4.2 -gcc -w -ip
sys-devel/bison -O2 -xSSE4.2 -gcc -w -ip
sys-devel/flex -O2 -xSSE4.2 -gcc -w -ip
sys-devel/gdb -O2 -xSSE4.2 -gcc -w
sys-devel/libtool -O2 -xSSE4.2 -gcc -w -ip
sys-fs/multipath-tools -O2 -xSSE4.2 -gcc -w -ip
sys-fs/reiserfsprogs -O2 -xSSE4.2 -gcc -w -ip
sys-fs/udev -O2 -xSSE4.2 -gcc -w -ip
sys-libs/db -O2 -xSSE4.2 -gcc -w -ip
sys-libs/readline -O2 -xSSE4.2 -gcc -w -ip
sys-libs/tdb -O2 -xSSE4.2 -gcc -w -ip
www-servers/apache -O2 -xSSE4.2 -gcc -w -ip
x11-libs/gtk+ -O2 -xSSE4.2 -gcc -w -ip
x11-libs/gtksourceview -O2 -xSSE4.2 -gcc -w -ip
x11-libs/libfontenc -O2 -xSSE4.2 -gcc -w -ip
x11-libs/libwnck -O2 -xSSE4.2 -gcc -w -ip
x11-libs/libX11 -O2 -xSSE4.2 -gcc -w -ip
x11-libs/libXaw -O2 -xSSE4.2 -gcc -w -ip
x11-libs/libXfontcache -O2 -xSSE4.2 -gcc -w -ip
x11-libs/libXfont -O2 -xSSE4.2 -gcc -w -ip
x11-libs/libXmu -O2 -xSSE4.2 -gcc -w -ip
x11-libs/libXpm -O2 -xSSE4.2 -gcc -w -ip
x11-libs/libXt -O2 -xSSE4.2 -gcc -w -ip
x11-libs/pango -O2 -xSSE4.2 -gcc -w -ip
x11-libs/pixman -O2 -xSSE4.2 -gcc -w -ip
x11-libs/vte -O2 -xSSE4.2 -gcc -w -ip
x11-proto/fontcacheproto -O2 -xSSE4.2 -gcc -w -ip
x11-proto/fontsproto -O2 -xSSE4.2 -gcc -w -ip
x11-proto/xproto -O2 -xSSE4.2 -gcc -w -ip
|
I almost forgot: package.icc-plain - does not support xild
Code: | net-misc/openssh
sys-cluster/openmpi
www-apache/mod_security
|
|
i have exactly those files in the right place, but when i try to emerge something, lets say emerge -avB sys-libs/zlib, it dies with the following error:
Code: | >>> Source unpacked in /var/tmp/portage/sys-libs/zlib-1.2.3-r1/work
>>> Compiling source in /var/tmp/portage/sys-libs/zlib-1.2.3-r1/work/zlib-1.2.3 ...
Checking for shared library support...
No shared library support; try without defining CC and CFLAGS
Building static library libz.a version 1.2.3 with i686-pc-linux-gnu-gcc.
Checking for unistd.h... Yes.
Checking for attribute(visibility) support... Yes.
Checking whether to use vs[n]printf() or s[n]printf()... using vs[n]printf()
Checking for vsnprintf() in stdio.h... No.
WARNING: vsnprintf() not found, falling back to vsprintf(). zlib
can build but will be open to possible buffer-overflow security
vulnerabilities.
Checking for return value of vsprintf()... Yes.
Checking for errno.h... Yes.
Checking for mmap support... Yes.
make
i686-pc-linux-gnu-gcc -O2 -xW -gcc -w -ip -DHAS_attribute_visibility -fvisibility=hidden -DNO_vsnprintf -DUSE_MMAP -c -o example.o example.c
i686-pc-linux-gnu-gcc: language W not recognized
i686-pc-linux-gnu-gcc: language W not recognized |
it seems that for some reason it tries to use the flags from package.icc-cflags for every time it tries to build with gcc
(note that the W in -xW just stands for SSE2) |
|
Back to top |
|
|
costel78 Guru
Joined: 20 Apr 2007 Posts: 402
|
Posted: Sat Jan 15, 2011 8:07 pm Post subject: |
|
|
I'm sorry. This was an old mistake.
I can't test right now but try this code in bashrc:
Code: | if [ "${GCC}" = "icc" ]; then
found="no"
while read -a target; do
if [ "${target}" = "${CATEGORY}/${PN}" ]; then
found="yes"
break;
fi
done < ${ROOT}/etc/portage/package.icc-plain
if [ "${found}" = "no" ]; then
export AR=xiar
export LD=xild
export LDFLAGS=" -Wl,-O,--sort-common,--warn-once,--hash-style=gnu"
fi
if [ -r ${ROOT}/etc/portage/package.icc-cflags ]; then
while read target flags; do
if [ "${target}" = "${CATEGORY}/${PN}" ]; then
export CFLAGS="$flags"
export CXXFLAGS="$CFLAGS"
break
fi
done < ${ROOT}/etc/portage/package.icc-cflags
fi
fi |
It test packages in package.icc-cflags only if compiler is icc. It's not optimal (two many reads for package.icc-cflags) but I'll make an improved version when I return home. _________________ Sorry for my English. I'm still learning this language. |
|
Back to top |
|
|
printf Tux's lil' helper
Joined: 02 Dec 2010 Posts: 123
|
Posted: Sat Jan 15, 2011 8:40 pm Post subject: |
|
|
costel78 wrote: | I'm sorry. This was an old mistake.
I can't test right now but try this code in bashrc:
Code: | if [ "${GCC}" = "icc" ]; then
found="no"
while read -a target; do
if [ "${target}" = "${CATEGORY}/${PN}" ]; then
found="yes"
break;
fi
done < ${ROOT}/etc/portage/package.icc-plain
if [ "${found}" = "no" ]; then
export AR=xiar
export LD=xild
export LDFLAGS=" -Wl,-O,--sort-common,--warn-once,--hash-style=gnu"
fi
if [ -r ${ROOT}/etc/portage/package.icc-cflags ]; then
while read target flags; do
if [ "${target}" = "${CATEGORY}/${PN}" ]; then
export CFLAGS="$flags"
export CXXFLAGS="$CFLAGS"
break
fi
done < ${ROOT}/etc/portage/package.icc-cflags
fi
fi |
It test packages in package.icc-cflags only if compiler is icc. It's not optimal (two many reads for package.icc-cflags) but I'll make an improved version when I return home. |
ok, just tried it, if i did it right...
bashrc looks as follows:
Code: | export GCC=${OCC}
export GCXX=${OCXX}
export OCC="icc"
export OCXX="icpc"
export CFLAGS=${ICCCFLAGS}
export CXXFLAGS=${ICCCXXFLAGS}
[ -r ${ROOT}/etc/portage/package.gcc ] || return 0
while read -a target; do
if [ "${target}" = "${CATEGORY}/${PN}" ]; then
export OCC=${GCC}
export OCXX=${GCXX}
export CFLAGS="$flags"
export CXXFLAGS="$CFLAGS"
if [ -r ${ROOT}/etc/portage/package.gcc-cflags ]; then
while read target flags; do
if [ "${target}" = "${CATEGORY}/${PN}" ]; then
export CFLAGS="$flags"
export CXXFLAGS="$CFLAGS"
break
fi
done < ${ROOT}/etc/portage/package.gcc-cflags
fi
break
fi
done < ${ROOT}/etc/portage/package.gcc
if [ "${GCC}" = "icc" ]; then
found="no"
while read -a target; do
if [ "${target}" = "${CATEGORY}/${PN}" ]; then
found="yes"
break;
fi
done < ${ROOT}/etc/portage/package.icc-plain
if [ "${found}" = "no" ]; then
export AR=xiar
export LD=xild
export LDFLAGS=" -Wl,-O,--sort-common,--warn-once,--hash-style=gnu"
fi
if [ -r ${ROOT}/etc/portage/package.icc-cflags ]; then
while read target flags; do
if [ "${target}" = "${CATEGORY}/${PN}" ]; then
export CFLAGS="$flags"
export CXXFLAGS="$CFLAGS"
break
fi
done < ${ROOT}/etc/portage/package.icc-cflags
fi
fi
if [ "${OCC}" != "" ]; then
export CC_FOR_BUILD="${OCC}" #workaround gcc detection function in toolchain-funcs.eclass
fi
unset GCC
unset GCXX |
but now it seems to ignore CFLAGS set in make.conf, maybe i copied to the wrong place
i am right before a whole system rebuild (trying to build safe packages with icc) so ill just wait till you fix the bashrc.
also on a sidenote, this whole information is worth a separate thread, because it's very useful for those who want to maintain a system with icc but this thread is buried deep and the main discussion wasnt even about compiling packages with icc
would be a good place to maintain a list of packages that can be built with icc and a list with per-package icc cflags |
|
Back to top |
|
|
costel78 Guru
Joined: 20 Apr 2007 Posts: 402
|
Posted: Mon Jan 17, 2011 5:39 pm Post subject: |
|
|
This is the current bashrc I use now.
In package.gcc-cflags or package.icc-cflags you have to set ALL flags. The normal flags are replaced with those from these files.
The main reason is that I use globally -ipo and I just want to disable it from some packages which doesn't support it.
Code: | export GCC=${OCC}
export GCXX=${OCXX}
export OCC="icc"
export OCXX="icpc"
export CFLAGS=${ICCCFLAGS}
export CXXFLAGS=${ICCCXXFLAGS}
[ -r ${ROOT}/etc/portage/package.gcc ] || return 0
while read -a target; do
if [ "${target}" = "${CATEGORY}/${PN}" ]; then
export OCC=${GCC}
export OCXX=${GCXX}
export CFLAGS="$flags"
export CXXFLAGS="$CFLAGS"
if [ -r ${ROOT}/etc/portage/package.gcc-cflags ]; then
while read target flags; do
if [ "${target}" = "${CATEGORY}/${PN}" ]; then
export CFLAGS="$flags"
export CXXFLAGS="$CFLAGS"
break
fi
done < ${ROOT}/etc/portage/package.gcc-cflags
fi
break
fi
done < ${ROOT}/etc/portage/package.gcc
if [ "${GCC}" = "icc" ]; then
found="no"
while read -a target; do
if [ "${target}" = "${CATEGORY}/${PN}" ]; then
found="yes"
break;
fi
done < ${ROOT}/etc/portage/package.icc-plain
if [ "${found}" = "no" ]; then
export AR=xiar
export LD=xild
export LDFLAGS=" -Wl,-O,--sort-common,--warn-once,--hash-style=gnu,--as-needed"
fi
fi
if [ "${GCC}" = "icc" ]; then
if [ -r ${ROOT}/etc/portage/package.icc-cflags ]; then
while read target flags; do
if [ "${target}" = "${CATEGORY}/${PN}" ]; then
export CFLAGS="$flags -diag-disable warn -diag-disable caution"
export CXXFLAGS="$CFLAGS -diag-disable warn -diag-disable caution"
break
fi
done < ${ROOT}/etc/portage/package.icc-cflags
fi
fi
if [ "${OCC}" != "" ]; then
export CC_FOR_BUILD="${OCC}" #workaround gcc detection function in toolchain-funcs.eclass
fi
unset GCC
unset GCXX
|
_________________ Sorry for my English. I'm still learning this language. |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|