Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 10 Jun 2012 18:49:57 +0100
From:      Alan Hicks <ahicks@p-o.co.uk>
To:        rotkap@gmx.de
Cc:        Heino Tiedemann <rotkaps_spam_trap@gmx.de>, freebsd-ports@freebsd.org
Subject:   Re: firefox 13.0,1 needs lang/gcc46 -- to RUN?!
Message-ID:  <4FD4DE45.80108@p-o.co.uk>
In-Reply-To: <4FD20839.9020708@p-o.co.uk>
References:  <d1n4a9-r5h.ln1@news.hansenet.de> <4FD05DD0.6050401@cyberleo.net> <ch47a9-5mt2.ln1@news.hansenet.de> <20120608092750.5b5cecb7@arsenic.lan> <hkv8a9-q303.ln1@news.hansenet.de> <4FD20839.9020708@p-o.co.uk>

next in thread | previous in thread | raw e-mail | index | archive | help
On 08/06/2012 15:12, Alan Hicks wrote:
> On 08/06/2012 11:09, Heino Tiedemann wrote:
>> Maciej Suszko<maciej@suszko.eu> wrote:
>>
>>> Heino Tiedemann<rotkaps_spam_trap@gmx.de> wrote:
>>>>
>>>> What ist the meaning of
>>>>
>>>> ,----
>>>> | Use GCC 4.6 to fix build on newer FreeBSD versions
>>>> `----
>>>>
>>>>
>>>> What meians "newer FreeBSD versions" here?
>>>> http://www.freshports.org/www/firefox/
>>>>
>>>>
>>>> And what means
>>>>
>>>> ,----
>>>> | Don't depend on GCC 4.6 if clang is used
>>>> `----
>>>>
>>>>
>>>> How an I use clang?
>>>> http://www.freshports.org/www/firefox/
>>>
>>>
>>> I just simply built www/firefox with those flags to make:
>>> CC=clang CXX=clang++ CPP=clang-cpp
>>>
>>> If you use portupgrade, this should work:
>>> portupgrade -m 'CC=clang CXX=clang++ CPP=clang-cpp' firefox\*
>>
>> does not work :(
>>
>> clang++ -o nsUTF8UtilsSSE2.o -c -fvisibility=hidden
>> -DMOZ_GLUE_IN_PROGRAM -DMOZILLA_INTERNlude
>> -I../../../dist/include/nsprpub -I/usr/local/include
>> -I/usr/local/include/nspr -I/usr -I/usr/local/include -fno-rtti
>> -Qunused-arguments -Wall -Wpointer-arith -Woverloaded-virtid-offsetof
>> -Wno-variadic-macros -Werror=return-type -Wno-unknown-warning-option
>> -Wno-retur-std=gnu++0x -ffunction-sections -fdata-sections -pipe
>> -DNDEBUG -DTRIMMED -fno-omit-frame-/../../mozilla-config.h
>> /usr/ports/www/firefox/work/mozilla-release/xpcom/string/src/nsUTF8
>> In file included from
>> /usr/ports/www/firefox/work/mozilla-release/xpcom/string/src/nsUTF8UtilsSSE2.cpp:3:
>>
>> In file included from /usr/include/clang/3.0/emmintrin.h:31:
>> In file included from /usr/include/clang/3.0/xmmintrin.h:31:
>> /usr/include/clang/3.0/mmintrin.h:28:2: error: #error "MMX instruction
>> set not enabled"
>> #error "MMX instruction set not enabled"
>> ^
>> In file included from
>> /usr/ports/www/firefox/work/mozilla-release/xpcom/string/src/nsUTF8UtilsSSE2.cpp:3:
>>
>> In file included from /usr/include/clang/3.0/emmintrin.h:31:
>> /usr/include/clang/3.0/xmmintrin.h:417:19: error: unknown type name
>> '__m64'
>> static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
>> ^
>> /usr/include/clang/3.0/xmmintrin.h:417:25: error: expected unqualified-id
>> static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
>> ^
>> In file included from
>> /usr/ports/www/firefox/work/mozilla-release/xpcom/string/src/nsUTF8UtilsSSE2.cpp:3:
>>
>> /usr/include/clang/3.0/emmintrin.h:42:19: error: unknown type name
>> '__m128d'
>> static __inline__ __m128d __attribute__((__always_inline__, __nodebug__))
>> ^
>> /usr/include/clang/3.0/emmintrin.h:42:27: error: expected unqualified-id
>> static __inline__ __m128d __attribute__((__always_inline__, __nodebug__))
>> ^
>> In file included from
>> /usr/ports/www/firefox/work/mozilla-release/xpcom/string/src/nsUTF8UtilsSSE2.cpp:4:
>>
>> ../../../dist/include/nsUTF8Utils.h:90:10: error: use of undeclared
>> identifier 'UTF8traits'
>> if ( UTF8traits::isASCII(c) )
>> ^
>> ../../../dist/include/nsUTF8Utils.h:146:10: error: use of undeclared
>> identifier 'UTF8traits'
>> if ( UTF8traits::is2byte(c) )
>> ^
>> ../../../dist/include/nsUTF8Utils.h:152:15: error: use of undeclared
>> identifier 'UTF8traits'
>> else if ( UTF8traits::is3byte(c) )
>> ^
>> ../../../dist/include/nsUTF8Utils.h:158:15: error: use of undeclared
>> identifier 'UTF8traits'
>> else if ( UTF8traits::is4byte(c) )
>> ^
>> ../../../dist/include/nsUTF8Utils.h:164:15: error: use of undeclared
>> identifier 'UTF8traits'
>> else if ( UTF8traits::is5byte(c) )
>> ^
>> ../../../dist/include/nsUTF8Utils.h:170:15: error: use of undeclared
>> identifier 'UTF8traits'
>> else if ( UTF8traits::is6byte(c) )
>> ^
>> ../../../dist/include/nsUTF8Utils.h:186:10: error: use of undeclared
>> identifier 'UTF8traits'
>> if ( UTF8traits::isInSeq(c) )
>> ^
>> ../../../dist/include/nsUTF8Utils.h:393:18: error: use of undeclared
>> identifier 'UTF8traits'
>> if ( UTF8traits::isASCII(*p) )
>> ^
>> ../../../dist/include/nsUTF8Utils.h:395:23: error: use of undeclared
>> identifier 'UTF8traits'
>> else if ( UTF8traits::is2byte(*p) )
>> ^
>> ../../../dist/include/nsUTF8Utils.h:397:23: error: use of undeclared
>> identifier 'UTF8traits'
>> else if ( UTF8traits::is3byte(*p) )
>> ^
>> ../../../dist/include/nsUTF8Utils.h:399:23: error: use of undeclared
>> identifier 'UTF8traits'
>> else if ( UTF8traits::is4byte(*p) ) {
>> ^
>> ../../../dist/include/nsUTF8Utils.h:442:23: error: use of undeclared
>> identifier 'UTF8traits'
>> else if ( UTF8traits::is5byte(*p) )
>> ^
>> ../../../dist/include/nsUTF8Utils.h:444:23: error: use of undeclared
>> identifier 'UTF8traits'
>> else if ( UTF8traits::is6byte(*p) )
>> ^
>> ../../../dist/include/nsUTF8Utils.h:686:24: error: no member named
>> 'supports_sse2' in namespace 'mozilla'
>> if (mozilla::supports_sse2())
>> ~~~~~~~~~^
>> fatal error: too many errors emitted, stopping now [-ferror-limit=]
>> 20 errors generated.
>> gmake[5]: *** [nsUTF8UtilsSSE2.o] Error 1
>> gmake[5]: Leaving directory
>> `/usr/ports/www/firefox/work/mozilla-release/xpcom/string/src'
>> gmake[4]: *** [libs] Error 2
>> gmake[4]: Leaving directory
>> `/usr/ports/www/firefox/work/mozilla-release/xpcom/string'
>> gmake[3]: *** [libs] Error 2
>> gmake[3]: Leaving directory
>> `/usr/ports/www/firefox/work/mozilla-release/xpcom'
>> gmake[2]: *** [libs_tier_platform] Error 2
>> gmake[2]: Leaving directory `/usr/ports/www/firefox/work/mozilla-release'
>> gmake[1]: *** [tier_platform] Error 2
>> gmake[1]: Leaving directory `/usr/ports/www/firefox/work/mozilla-release'
>> gmake: *** [default] Error 2
>> *** Error code 1
>>
>> Stop in /usr/ports/www/firefox.
>> *** Error code 1
>>
>> Stop in /usr/ports/www/firefox.
>>
> This may be related to clang treating mmx and sse separately, in some of
> the Makefiles such as at xpcom/string/src/Makefile.in there are
> CXXFLAGS+=-msse2 assignments without mmx which appears to be the issue,
> after adding CFLAGS+= -mmmx to the port Makefile firefox appears to be
> building ok, it'll be some hours om my ancient machine before it
> finishes and I'm able to test.
>
> Hope this is of some help,
> Alan

I'm pleased to confirm that adding -mmmx works, after an hour or so 
firefox 13 is stable and I am happy, thunderbird also builds and is stable.

For completeness, the cpu features from dmesg shows:
CPU: Intel(R) Xeon(TM) CPU 2.40GHz (2392.09-MHz 686-class CPU)
Origin = "GenuineIntel"  Id = 0xf29  Family = f  Model = 2  Stepping = 9
Features=0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE>

Alan



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4FD4DE45.80108>