Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
New LinuxDNA 64bit patch out for 2.6.32 - testers wanted!
View unanswered posts
View posts from last 24 hours

Goto page Previous  1, 2, 3, 4, 5, 6  
Reply to topic    Gentoo Forums Forum Index Unsupported Software
View previous topic :: View next topic  
Author Message
broch
Tux's lil' helper
Tux's lil' helper


Joined: 09 Jul 2005
Posts: 94

PostPosted: Thu May 06, 2010 1:03 am    Post subject: Reply with quote

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
View user's profile Send private message
Thaidog
Veteran
Veteran


Joined: 19 May 2004
Posts: 1053

PostPosted: Thu May 06, 2010 1:07 am    Post subject: Reply with quote

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 :lol:
_________________
Registered Linux User: 437619
"I'm a big believer in technology over politics" - Linus Torvalds
Back to top
View user's profile Send private message
Thaidog
Veteran
Veteran


Joined: 19 May 2004
Posts: 1053

PostPosted: Sat May 08, 2010 3:30 pm    Post subject: Reply with quote

Latest 64bit patch:

wget http://www.linuxdna.com/dna-2.6.34-rc6-intel64-0.patch
_________________
Registered Linux User: 437619
"I'm a big believer in technology over politics" - Linus Torvalds
Back to top
View user's profile Send private message
mothersh1p
n00b
n00b


Joined: 21 Apr 2010
Posts: 15

PostPosted: Mon May 10, 2010 9:48 pm    Post subject: Reply with quote

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
View user's profile Send private message
broch
Tux's lil' helper
Tux's lil' helper


Joined: 09 Jul 2005
Posts: 94

PostPosted: Fri May 14, 2010 1:01 pm    Post subject: Reply with quote

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
View user's profile Send private message
mothersh1p
n00b
n00b


Joined: 21 Apr 2010
Posts: 15

PostPosted: Fri May 14, 2010 1:09 pm    Post subject: Reply with quote

Did you tried to remove -fp-model fast=2 from the cflags. Seems to me the best approach here. I think I have it already removed in my patches:

> http://www.chihoang.de/uploads/media/dna-2.6.34-rc5-intel32-4.patch

GCC doesn't like that flag at all!
Back to top
View user's profile Send private message
broch
Tux's lil' helper
Tux's lil' helper


Joined: 09 Jul 2005
Posts: 94

PostPosted: Fri May 14, 2010 6:20 pm    Post subject: Reply with quote

mothersh1p wrote:
Did you tried to remove -fp-model fast=2 from the cflags. Seems to me the best approach here. I think I have it already removed in my patches:

> http://www.chihoang.de/uploads/media/dna-2.6.34-rc5-intel32-4.patch

GCC doesn't like that flag at all!


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
View user's profile Send private message
mothersh1p
n00b
n00b


Joined: 21 Apr 2010
Posts: 15

PostPosted: Sun May 16, 2010 6:59 pm    Post subject: Reply with quote

I've tested this patch against 2.6.34-rc7-zen1 and it seems to work!

> http://www.chihoang.de/uploads/media/dna-2.6.34-rc5-intel32-4.patch
Back to top
View user's profile Send private message
Thaidog
Veteran
Veteran


Joined: 19 May 2004
Posts: 1053

PostPosted: Sat Jun 26, 2010 4:48 am    Post subject: Reply with quote

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
View user's profile Send private message
SpectreDragon
Tux's lil' helper
Tux's lil' helper


Joined: 22 Aug 2008
Posts: 92
Location: Germany

PostPosted: Thu Jul 29, 2010 10:32 pm    Post subject: Reply with quote

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
View user's profile Send private message
printf
Tux's lil' helper
Tux's lil' helper


Joined: 02 Dec 2010
Posts: 123

PostPosted: Sat Jan 15, 2011 7:45 pm    Post subject: Reply with quote

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
View user's profile Send private message
costel78
Guru
Guru


Joined: 20 Apr 2007
Posts: 402

PostPosted: Sat Jan 15, 2011 8:07 pm    Post subject: Reply with quote

I'm sorry. This was an old mistake. :oops:

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
View user's profile Send private message
printf
Tux's lil' helper
Tux's lil' helper


Joined: 02 Dec 2010
Posts: 123

PostPosted: Sat Jan 15, 2011 8:40 pm    Post subject: Reply with quote

costel78 wrote:
I'm sorry. This was an old mistake. :oops:

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
View user's profile Send private message
costel78
Guru
Guru


Joined: 20 Apr 2007
Posts: 402

PostPosted: Mon Jan 17, 2011 5:39 pm    Post subject: Reply with quote

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
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Unsupported Software All times are GMT
Goto page Previous  1, 2, 3, 4, 5, 6
Page 6 of 6

 
Jump to:  
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