# emerge ardour-2.0.3 schlaegt fehl - fixed

## Erdie

Hi allerseits,

ich bekomme folgende Fehlermeldung:

```

x86_64-pc-linux-gnu-g++ -march=athlon64 -O2 -pipe -DARCH_X86 -mmmx -m3dnow -msse -mfpmath=sse -DUSE_XMMINTRIN -Wall -DHAVE_LIBLO -DENABLE_NLS -DHAVE_GETMNTENT -Woverloaded-virtual -DPACKAGE=\"libpbd\" -D_REENTRANT -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DLIBSIGC_DISABLE_DEPRECATED -DHAVE_EXECINFO -fPIC -I/usr/include/glib-2.0 -I/usr/include/glibmm-2.4 -I/usr/lib64/glibmm-2.4/include -I/usr/lib64/glib-2.0/include -Ilibs/pbd -I/usr/include/sigc++-2.0 -I/usr/include/libxml2 -I/usr/lib64/sigc++-2.0/include -c -o libs/pbd/fpu.os libs/pbd/fpu.cc

libs/pbd/fpu.cc: In constructor 'PBD::FPU::FPU()':

libs/pbd/fpu.cc:65: warning: dereferencing type-punned pointer will break strict-aliasing rules

{standard input}: Assembler messages:

{standard input}:91: Error: suffix or operands invalid for `push'

{standard input}:93: Error: suffix or operands invalid for `mov'

{standard input}:94: Error: suffix or operands invalid for `pop'

{standard input}:167: Error: suffix or operands invalid for `push'

{standard input}:169: Error: suffix or operands invalid for `mov'

{standard input}:170: Error: suffix or operands invalid for `pop'

scons: *** [libs/pbd/fpu.os] Error 1

scons: building terminated because of errors.

!!! ERROR: media-sound/ardour-2.0.3 failed.

Call stack:

  ebuild.sh, line 1621:   Called dyn_compile

  ebuild.sh, line 973:   Called qa_call 'src_compile'

  ebuild.sh, line 44:   Called src_compile

  ardour-2.0.3.ebuild, line 85:   Called die

!!! scons make failed

!!! If you need support, post the topmost build error, and the call stack if relevant.

!!! A complete build log is located at '/var/tmp/portage/media-sound/ardour-2.0.3/temp/build.log'.

```

Weiß jemand Rat?

Danke

Erdie

----------

## AmonAmarth

kannst du mal bitte emerge --info posten?

aus der obigen ausgabe des compile vorgangs konnte ich erkennen das du  "-march=athlon64 " als cflag gesetzt hast.

wenn du keinen athlon x2 oder sowas besitzt und nur einen athlon x86_64bit besitzt ist athlon64 als cflag falsch.

das muss bei einem athlon x86-64bit cpu meiner meinung nach "-march=k8" heissen!

alternativ kannst du den rest deiner cflags hier auch mla mit vergleichen:

http://gentoo-wiki.com/Safe_Cflags

falsche oder unangebracht gewählte cflags lösen genau die probleme aus die du bei deinem compiliervorgang beobachtet hast (asm fehler)

ich hoffe ich konnte damit helfen

mfg

----------

## Erdie

Bin jetzt nicht am Rechner, aber ich dachte immer K8 und athlon64 wären identisch. So hieß es jedenfalls die letzten Jahre hier im Forum. Hat sich das etwas mit den Dualhead Modellen geändert? Was ist mit den Programmen, die ich erfolgreich mit "athlon64" compiliert habe? Muß ich jetzt mein ganzes Sytem neu bauen?

Ich werde es auf jeden Fall mit "k8" probieren und das Ergebnis + emerge info posten.

BTW: Wie kann das sein, daß ich diese march - flag seit 3 1/2 Jahren ohne Probleme verwende und führt es auf einmal zu Fehlern? Das kommt mir, ehrlich gesagt, unwahrscheinlich vor.

-Erdie

----------

## AmonAmarth

also eine ähnliche erfahrung hat ein kumpel von mir auch gemacht, er hat auch fälschlicherweise athlon64 eingetragen und dann kamen ähnliche fehler, bei der umstellung auf k8 ging alles glatt über die bühne.

du kannst ja erstmal versuchen das so umzustellen ohne eine abhängigkeit neuzukompilieren und hoffen das es klappt, wenn du irgerndwann nochmal seltsame compiler fehler bekommst weist du das du evtl mal ein emerge -e system oder sogar ein emerge -e world durchlaufen lassen musst (wenn du nicht weiß an welchen paketen es genau liegt...)

mfg

edit: ok das es nach 3 1/2 jahren fehler bringt kommt mir auch unwahrscheinlihc vor! bei meinem kollegen trat das problem bei der neuinstallation noch am ersten tag auf...vielleicht hast du ja auch ein compiler update gemacht das letzte mal und der cpu ist erst jetzt dadurch nicht mehr mit dem cflag kompatibel, einfach mal mit k8 ausprobieren

----------

## Erdie

Hier ist die Ausgabe von "emerge --info" nachdem ich von "march=athlon64" auf "march=k8" geändert habe, falls es noch von Interesse ist:

```

erdie ~ # emerge info

*** Deprecated use of action 'info', use '--info' instead

Portage 2.1.2.9 (default-linux/amd64/2006.1/desktop, gcc-4.1.2, glibc-2.5-r3, 2.6.18-gentoo-r4 x86_64)

=================================================================

System uname: 2.6.18-gentoo-r4 x86_64 AMD Athlon(tm) 64 Processor 3200+

Gentoo Base System release 1.12.9

Timestamp of tree: Thu, 26 Jul 2007 21:00:01 +0000

dev-java/java-config: 1.3.7, 2.0.33-r1

dev-lang/python:     2.3.5-r3, 2.4.4-r4

dev-python/pycrypto: 2.0.1-r5

sys-apps/sandbox:    1.2.17

sys-devel/autoconf:  2.13, 2.61

sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10

sys-devel/binutils:  2.17

sys-devel/gcc-config: 1.3.16

sys-devel/libtool:   1.5.23b

virtual/os-headers:  2.6.21

ACCEPT_KEYWORDS="amd64"

AUTOCLEAN="yes"

CBUILD="x86_64-pc-linux-gnu"

CFLAGS="-march=k8 -O2 -pipe"

CHOST="x86_64-pc-linux-gnu"

CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config"

CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c"

CXXFLAGS="-march=k8 -O2 -pipe"

DISTDIR="/usr/portage/distfiles"

FEATURES="distlocks metadata-transfer sandbox sfperms strict"

GENTOO_MIRRORS="ftp://pandemonium.tiscali.de/pub/gentoo/ http://pandemonium.tiscali.de/pub/gentoo/ http://85.25.128.62 http://ftp.club-internet.fr/pub/mirrors/gentoo http://linux.rz.ruhr-uni-bochum.de/download/gentoo-mirror/"

MAKEOPTS="-j2"

PKGDIR="/usr/portage/packages"

PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --filter=H_**/files/digest-*"

PORTAGE_TMPDIR="/var/tmp"

PORTDIR="/usr/portage"

PORTDIR_OVERLAY="/usr/local/portage"

SYNC="rsync://rsync.gentoo.org/gentoo-portage"

USE="X aac alsa amd64 arts avi berkdb bitmap-fonts cairo cdparanoia cdr cli cracklib crypt cups dbus dri dvb dvd dvdr dvdread eds emboss encode esd fam fftw firefox flac fltk fortran gdbm gif gimpprint gpm gstreamer gtk gtk2 hal iconv imlib insecure-savers ipv6 isdnlog jack jack-tmpfs joystick jpeg kde kqemu ladspa ldap libg++ lm_sensors mad midi mikmod mp3 mpeg mudflap ncurses nls nptl nptlonly nsplugin ogg oggvorbis openal opengl openmp oss pam pcre pdf perl png ppds pppd python qt qt3 qt4 quicktime readline reflection scanner sdl session slang smime sndfile softmmu soundtouch sox spell spl sqlite ssl tcpd transcode truetype truetype-fonts tse3 type1-fonts unicode usb vdr vorbis wxgtk1 xine xml xorg xscreensaver xv xvid zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci hdsp hdspm" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU" VIDEO_CARDS="apm ark chips cirrus cyrix dummy fbdev glint i128 i810 mach64 mga neomagic nv r128 radeon rendition s3 s3virge savage siliconmotion sis sisusb tdfx tga trident tseng v4l vesa vga via vmware voodoo"

Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

erdie ~ #                                                            

```

BTW: Es tritt der gleich Fehler auf ! Es hat sich damit nichts geändert ! Schade   :Crying or Very sad:  Ich bin ratlos ..

-Erdie

----------

## AmonAmarth

ich würd jetzt nochmal vorschlagen glibc mit dem neuen cflag neuzukompilieren. der weitere schritt den ich tun würde, wenn das nicht hilft, wäre ein emerge -e system! kann mir aber vorstellen das du keinen bock auf die compilier tour, vielleicht weiß auch noch jemand anderes hier im forum welches packet neu compiliert werden müsste damit das wieder in die reihe kommt. immerhin kann man das bestimmt an der fehlermeldung erkennen, ich würd jetzt aus dem bauch heraus einfach mal auf glibc tippen.

mfg

----------

## Erdie

glibc habe ich schon reemerged. Hat leider nichts gebracht.   :Crying or Very sad: 

----------

## flammenflitzer

 *Erdie wrote:*   

> Bin jetzt nicht am Rechner, aber ich dachte immer K8 und athlon64 wären identisch. So hieß es jedenfalls die letzten Jahre hier im Forum. Hat sich das etwas mit den Dualhead Modellen geändert? Was ist mit den Programmen, die ich erfolgreich mit "athlon64" compiliert habe? Muß ich jetzt mein ganzes Sytem neu bauen?
> 
> Ich werde es auf jeden Fall mit "k8" probieren und das Ergebnis + emerge info posten.
> 
> BTW: Wie kann das sein, daß ich diese march - flag seit 3 1/2 Jahren ohne Probleme verwende und führt es auf einmal zu Fehlern? Das kommt mir, ehrlich gesagt, unwahrscheinlich vor.
> ...

 Dachte ich auch. Davon abgesehen gibt es bei mir nur die Versionen 0.99.2 und 3

----------

## Erdie

Ich habe das Ganze auch im englischen Forum geposted:

https://forums.gentoo.org/viewtopic-t-572574-highlight-.html

Dort wird gesagt, daß das Problem zustande kommt wenn das sse useflag nicht gesetzt ist. Lieder kann ich das Flag nicht setzen. Egal ob ich sse in die make.conf schreibe, es erscheint nicht in "emerge --info".

Emerge -pv ardour liefert:

```
[ebuild     U ] media-sound/ardour-2.0.3 [0.99.3] USE="fftw%* nls (-altivec) -debug (-sse)" 0 kB
```

Was bedeutet "(-sse)"? Warum ist das in Klammern? Ich habe das vor langer Zeit irgendwo in der Doku gelesen, finde es aber nicht wieder.

-Erdie

----------

## s.hase

Die Klammern bedeuten das Du das Use-Flag nicht selber ändern kannst, sondern durch das aktuelle Profil aktiviert bzw. deaktiviert sind. "sse" ist bei amd64 eh immer aktiv.

Gruss

Sebastian

edit:

```

hase@sulaco ~ $ euse -a | grep sse

sse                 [+  D ]

sse2                [+  D ]

ssse3               [+ C  ]

```

----------

## Erdie

 *s.hase wrote:*   

> Die Klammern bedeuten das Du das Use-Flag nicht selber ändern kannst, sondern durch das aktuelle Profil aktiviert bzw. deaktiviert sind. "sse" ist bei amd64 eh immer aktiv.
> 
> 

 

Verstehe ich nicht, es steht doch "(-sse)" da, es ist also NICHT aktiv ?? Oder verstehe ich da was falsch?

BTW: Bei mir liefert "euse -a | grep sse" KEINE Ausgabe.

----------

## s.hase

 *Erdie wrote:*   

> 
> 
> Verstehe ich nicht, es steht doch "(-sse)" da, es ist also NICHT aktiv ?? Oder verstehe ich da was falsch?

 

Egal, ist trotzdem gesetzt, bei mir steht da auch -sse.

 *Erdie wrote:*   

> 
> 
> BTW: Bei mir liefert "euse -a | grep sse" KEINE Ausgabe.

 

euse überhaupt installiert? Keine Ahnung ob das mit zu Portage gehört. euse -a zeigt dir jedenfalls alle aktiven Use-Flags an und wo sie gesetzt sind, D ist halt default über das Profil und C über die CFLAGS.

Eventuell liegts auch daran:

 *Quote:*   

> 
> 
> Portage 2.1.2.9 (default-linux/amd64/2006.1/desktop, gcc-4.1.2, glibc-2.5-r3, 2.6.18-gentoo-r4 x86_64) 

 

Du solltest mal dein Profil aktualisieren. Ich nutzte das default-linux/amd64/2007.0/desktop, damit compiliert ardour bei mir ohne Probleme (mit gcc-4.2.0, CFLAGS="-march=athlon64 -O3 -pipe -msse3 -ftree-vectorize -mfpmath=sse,387" und LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,--sort-common -Wl,--hash-style=both")

edit:

euse gehört zu app-portage/gentoolkit

----------

## Erdie

Ich habe gearde mein profile aktualisiert (bevor ich Deinen Kommentar gesehen habe) und es funzt jetzt. Ardour compiliert auch gerade und ist über den kritischen Punkt hinweg

BTW: euse war installiert und lieferte ohne grep einen Rattenschwanz an Ausgabe ..

Danke nochmal !

 :Smile: 

Erdie

----------

