Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 29 Jan 2013 03:31:56 +0000
From:      "Sergey A. Osokin" <osa@FreeBSD.org>
To:        Ren?? Ladan <rene@freebsd.org>
Cc:        chromium@FreeBSD.org
Subject:   Re: www/chromium build failed
Message-ID:  <20130129033156.GF91995@FreeBSD.org>
In-Reply-To: <51051468.1030400@freebsd.org>
References:  <20130126125125.GA91995@FreeBSD.org> <5103D522.8060402@freebsd.org> <20130126143432.GB91995@FreeBSD.org> <20130126152411.GC91995@FreeBSD.org> <20130126153747.GD91995@FreeBSD.org> <51051468.1030400@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, Jan 27, 2013 at 12:50:00PM +0100, Ren?? Ladan wrote:
> On 26-01-2013 16:37, Sergey A. Osokin wrote:
> > On Sat, Jan 26, 2013 at 03:24:11PM +0000, Sergey A. Osokin wrote:
> >> On Sat, Jan 26, 2013 at 02:34:32PM +0000, Sergey A. Osokin wrote:
> >>> On Sat, Jan 26, 2013 at 02:07:46PM +0100, Ren?? Ladan wrote:
> >>>> On 26-01-2013 13:51, Sergey A. Osokin wrote:
> >>>>> Hi Rene,
> >>>>>
> >>>>> I've found www/chromium build failed.
> >> ...
> >> [build.log removed]
> >>
> >>>>> Any idea?
> >>>>>
> >>>> It looks like libprotobuf_full_do_not_use.a is somehow corrupted, ma=
ybe
> >>>> rebuilding it and/or adding -v to CFLAGS/CXXFLAGS helps.
> >>> It looks like I've found an issue, it was additional CFLAGS in /etc/m=
ake.conf
> >>>
> >>> .if ${.CURDIR:M*/www/chromium}
> >>> CFLAGS+=3D       -march=3Dcorei7
> >>> CPPFLAGS+=3D     -march=3Dcorei7
> >>> CXXFLAGS+=3D     -march=3Dcorei7
> >>> .endif
> >>>
> >>> I don't remember why I've added these flags for chromium port but its=
 present more months.
> >>> I'll let you know after build complete.
> >> It didn't help, so build.log with "-v" flag here:
> >>
> >> ignoring duplicate directory "/usr/include/c++/4.2/backward"
> >> ignoring duplicate directory "/usr/include/c++/4.2/backward"
> >> #include "..." search starts here:
> >> #include <...> search starts here:
> >>  skia/config
> >>  third_party/khronos
> >>  .
> >>  third_party/mesa/MesaLib/include
> >>  out/Release/obj/gen/ui/gl
> >>  /usr/local/include/glib-2.0
> >>  /usr/local/include
> >>  /usr/local/include/pango-1.0
> >>  /usr/local/include/pixman-1
> >>  /usr/local/include/freetype2
> >>  /usr/local/include/libdrm
> >>  /usr/local/include/libpng15
> >>  /usr/local/include/cairo
> >>  /usr/local/include/gio-unix-2.0
> >>  /usr/local/include/gdk-pixbuf-2.0
> >>  /usr/local/include/gtk-2.0
> >>  /usr/local/include/atk-1.0
> >>  /usr/include/c++/4.2
> >>  /usr/include/c++/4.2/backward
> >>  /usr/include/clang/3.2
> >>  /usr/include
> >> End of search list.
> >>   LINK(host) out/Release/protoc
> >> /usr/bin/ld:out/Release/obj.host/third_party/protobuf/libprotobuf_full=
_do_not_use.a: file format not recognized; treating as linker script
> >> /usr/bin/ld:out/Release/obj.host/third_party/protobuf/libprotobuf_full=
_do_not_use.a:1: syntax error
> >> clang++: error: linker command failed with exit code 1 (use -v to see =
invocation)
> >> gmake: *** [out/Release/protoc] =EF=DB=C9=C2=CB=C1 1
> >> gmake: *** =EF=D6=C9=C4=C1=CE=C9=C5 =DA=C1=D7=C5=D2=DB=C5=CE=C9=D1 =DA=
=C1=C4=C1=CE=C9=CA...
> >> *** [do-build] Error code 1
> >>
> >> Stop in /usr/ports/www/chromium.
> >> *** [build] Error code 1
> > I've added "LDFLAGS+=3D -v" to the /etc/make.conf
> >
> > =3D=3D=3D>  Building for chromium-24.0.1312.56
> >   LINK(host) out/Release/protoc
> > FreeBSD clang version 3.2 (tags/RELEASE_32/final 170710) 20121221
> > Target: x86_64-unknown-freebsd9.1
> > Thread model: posix
> >  "/usr/bin/ld" --eh-frame-hdr -dynamic-linker /libexec/ld-elf.so.1 --ha=
sh-style=3Dboth --enable-new-dtags -o out/Release/protoc /usr/lib/crt1.o /u=
sr/lib/crti.o /usr/lib/crtbegin.o -L/usr/lib -z noexecstack --no-keep-memor=
y -O1 --as-needed --start-group out/Release/obj.host/protoc/third_party/pro=
tobuf/src/google/protobuf/compiler/code_generator.o out/Release/obj.host/pr=
otoc/third_party/protobuf/src/google/protobuf/compiler/command_line_interfa=
ce.o out/Release/obj.host/protoc/third_party/protobuf/src/google/protobuf/c=
ompiler/plugin.o out/Release/obj.host/protoc/third_party/protobuf/src/googl=
e/protobuf/compiler/plugin.pb.o out/Release/obj.host/protoc/third_party/pro=
tobuf/src/google/protobuf/compiler/subprocess.o out/Release/obj.host/protoc=
/third_party/protobuf/src/google/protobuf/compiler/zip_writer.o out/Release=
/obj.host/protoc/third_party/protobuf/src/google/protobuf/compiler/cpp/cpp_=
enum.o out/Release/obj.host/protoc/third_party/protobuf/src/google/protobuf=
/compiler/cpp/cpp_enum_field.o out/Release/obj.host/protoc/third_party/prot=
obuf/src/google/protobuf/compiler/cpp/cpp_extension.o out/Release/obj.host/=
protoc/third_party/protobuf/src/google/protobuf/compiler/cpp/cpp_field.o ou=
t/Release/obj.host/protoc/third_party/protobuf/src/google/protobuf/compiler=
/cpp/cpp_file.o out/Release/obj.host/protoc/third_party/protobuf/src/google=
/protobuf/compiler/cpp/cpp_generator.o out/Release/obj.host/protoc/third_pa=
rty/protobuf/src/google/protobuf/compiler/cpp/cpp_helpers.o out/Release/obj=
=2Ehost/protoc/third_party/protobuf/src/google/protobuf/compiler/cpp/cpp_me=
ssage.o out/Release/obj.host/protoc/third_party/protobuf/src/google/protobu=
f/compiler/cpp/cpp_message_field.o out/Release/obj.host/protoc/third_party/=
protobuf/src/google/protobuf/compiler/cpp/cpp_primitive_field.o out/Release=
/obj.host/protoc/third_party/protobuf/src/google/protobuf/compiler/cpp/cpp_=
service.o out/Release/obj.host/protoc/third_party/protobuf/src/google/proto=
buf/compiler/cpp/cpp_string_field.o out/Release/obj.host/protoc/third_party=
/protobuf/src/google/protobuf/compiler/java/java_enum.o out/Release/obj.hos=
t/protoc/third_party/protobuf/src/google/protobuf/compiler/java/java_enum_f=
ield.o out/Release/obj.host/protoc/third_party/protobuf/src/google/protobuf=
/compiler/java/java_extension.o out/Release/obj.host/protoc/third_party/pro=
tobuf/src/google/protobuf/compiler/java/java_field.o out/Release/obj.host/p=
rotoc/third_party/protobuf/src/google/protobuf/compiler/java/java_file.o ou=
t/Release/obj.host/protoc/third_party/protobuf/src/google/protobuf/compiler=
/java/java_generator.o out/Release/obj.host/protoc/third_party/protobuf/src=
/google/protobuf/compiler/java/java_helpers.o out/Release/obj.host/protoc/t=
hird_party/protobuf/src/google/protobuf/compiler/java/java_message.o  out/R=
elease/obj.host/protoc/third_party/protobuf/src/google/protobuf/compiler/ja=
va/java_message_field.o out/Release/obj.host/protoc/third_party/protobuf/sr=
c/google/protobuf/compiler/java/java_primitive_field.o out/Release/obj.host=
/protoc/third_party/protobuf/src/google/protobuf/compiler/java/java_service=
=2Eo out/Release/obj.host/protoc/third_party/protobuf/src/google/protobuf/c=
ompiler/java/java_string_field.o out/Release/obj.host/protoc/third_party/pr=
otobuf/src/google/protobuf/compiler/python/python_generator.o out/Release/o=
bj.host/protoc/third_party/protobuf/src/google/protobuf/compiler/main.o out=
/Release/obj.host/third_party/protobuf/libprotobuf_full_do_not_use.a out/Re=
lease/obj.host/third_party/protobuf/libprotobuf_lite.a --end-group -lstdc++=
 -lm -lgcc --as-needed -lgcc_s --no-as-needed -lpthread -lc -lgcc --as-need=
ed -lgcc_s --no-as-needed /usr/lib/crtend.o /usr/lib/crtn.o
> > /usr/bin/ld:out/Release/obj.host/third_party/protobuf/libprotobuf_full_=
do_not_use.a: file format not recognized; treating as linker script
> > /usr/bin/ld:out/Release/obj.host/third_party/protobuf/libprotobuf_full_=
do_not_use.a:1: syntax error
> > clang++: error: linker command failed with exit code 1 (use -v to see i=
nvocation)
> > gmake: *** [out/Release/protoc] =EF=DB=C9=C2=CB=C1 1
> > *** [do-build] Error code 1
> >
> > Stop in /usr/ports/www/chromium.
> > *** [build] Error code 1
> >
> >
> The link command looks OK (but I've never seen it myself). Are you sure
> that libprotobuf_full_do_not_use.a is not somehow corrupted, what does
> e.g. file(1) say?

% find /usr/ports/www/chromium -name libprotobuf_full_do_not_use.a | xargs =
file
/usr/ports/www/chromium/work/chromium-courgette-redacted-24.0.1312.56/out/R=
elease/obj.host/third_party/protobuf/libprotobuf_full_do_not_use.a: data

> Does removing the .a file help?

No, it doesn't.  Same issue again:

% sudo rm /usr/ports/www/chromium/work/chromium-courgette-redacted-24.0.131=
2.56/out/Release/obj.host/third_party/protobuf/libprotobuf_full_do_not_use.a

=2E..
/usr/bin/ld:out/Release/obj.host/third_party/protobuf/libprotobuf_full_do_n=
ot_use.a: file format not recognized; treating as linker script
/usr/bin/ld:out/Release/obj.host/third_party/protobuf/libprotobuf_full_do_n=
ot_use.a:1: syntax error
clang++: error: linker command failed with exit code 1 (use -v to see invoc=
ation)
gmake: *** [out/Release/protoc] =EF=DB=C9=C2=CB=C1 1
gmake: *** =EF=D6=C9=C4=C1=CE=C9=C5 =DA=C1=D7=C5=D2=DB=C5=CE=C9=D1 =DA=C1=
=C4=C1=CE=C9=CA...
*** [do-build] Error code 1

> You could forward this to chromium@ for better exposure.

OK.

--
Sergey A. Osokin
osa@FreeBSD.org



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