Hi
I had the same problem that occurs in the following message, when trying to upgrade to the browser latest version. Seeing that problem is that a lot of object files were compiled with -fno-stack-protector, so if disable gcc(1) stack-smashing protector (SSP) in Makefile solves problem.
Adding in /usr/ports/www/chromium/Makefile:
*EDIT*
Next error reported:
Current error 'call of abs is ambiguous' in media/base/audio_splicer.o as the compiler considers function name std::abs(int64) therefore reports ambiguities. In order to the port build properly, following patch resolves the issue:
After that www/chromium builds successfully on 9.1-RELEASE/i386.
Hope that helps to other users
I had the same problem that occurs in the following message, when trying to upgrade to the browser latest version. Seeing that problem is that a lot of object files were compiled with -fno-stack-protector, so if disable gcc(1) stack-smashing protector (SSP) in Makefile solves problem.
Adding in /usr/ports/www/chromium/Makefile:
Code:
CFLAGS+= -Wno-error [B]-fno-stack-protector[/B]
*EDIT*
Next error reported:
Code:
CXX(target) out/Release/obj.target/media/media/base/audio_splicer.o
media/base/audio_splicer.cc: In member function 'bool media::AudioSplicer::AddInput(const scoped_refptr<media::Buffer>&)':
media/base/audio_splicer.cc:63:38: error: call of overloaded 'abs(int64)' is ambiguous
media/base/audio_splicer.cc:63:38: note: candidates are:
/usr/local/lib/gcc46/gcc/i386-portbld-freebsd9.1/4.6.3/include-fixed/stdlib.h:100:5: note: int abs(int)
/usr/local/lib/gcc46/include/c++/cstdlib:139:3: note: long int std::abs(long int)
gmake: *** [out/Release/obj.target/media/media/base/audio_splicer.o] Error 1
*** [do-build] Error code 1
Stop in /usr/ports/www/chromium.
*** [build] Error code 1
Stop in /usr/ports/www/chromium.
Current error 'call of abs is ambiguous' in media/base/audio_splicer.o as the compiler considers function name std::abs(int64) therefore reports ambiguities. In order to the port build properly, following patch resolves the issue:
Code:
--- audio_splicer.cc.orig 2013-02-25 14:38:27.000000000 +0100
+++ audio_splicer.cc 2013-02-25 14:31:52.000000000 +0100
@@ -60,7 +60,7 @@
base::TimeDelta expected_timestamp = output_timestamp_helper_.GetTimestamp();
base::TimeDelta delta = timestamp - expected_timestamp;
- if (std::abs(delta.InMilliseconds()) > kMaxTimeDeltaInMilliseconds) {
+ if (std::labs(delta.InMilliseconds()) > kMaxTimeDeltaInMilliseconds) {
DVLOG(1) << "Timestamp delta too large: " << delta.InMicroseconds() << "us";
return false;
}
@@ -69,7 +69,7 @@
if (delta != base::TimeDelta())
bytes_to_fill = output_timestamp_helper_.GetBytesToTarget(timestamp);
- if (bytes_to_fill == 0 || std::abs(bytes_to_fill) < min_gap_size_) {
+ if (bytes_to_fill == 0 || std::labs(bytes_to_fill) < min_gap_size_) {
AddOutputBuffer(input);
return true;
}
After that www/chromium builds successfully on 9.1-RELEASE/i386.
Hope that helps to other users