Open dszidi opened 6 years ago
Have you changed the freebsd versions in libchromiumcontent_111.diff
?.
I have not. I'm going to look through all the files again to make sure I didn't miss anything
The good news is that the latest binary releases are working in TrueOS/FreeBSD 12. Unfortunately I still can't seem to get it to build after just changing the freebsd version numbers. Here are the errors generated...
^
16 errors generated. [9888/15783] CXX obj/net/net/quartc_session.o FAILED: obj/net/net/quartc_session.o clang++40 -MMD -MF obj/net/net/quartc_session.o.d -DV8_DEPRECATION_WARNINGS -DUSE_AURA=1 -DUSE_PANGO=1 -DUSE_CAIRO=1 -DUSE_GLIB=1 -DUSE_NSS_CERTS=1 -DUSE_X11=1 -DNO_TCMALLOC -DDISABLE_NACL -DFULL_SAFE_BROWSING -DSAFE_BROWSING_CSD -DSAFE_BROWSING_DB_LOCAL -DCHROMIUM_BUILD -DCR_CLANG_REVISION=\"307486-1\" -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DSTDC_CONSTANT_MACROS -DSTDC_FORMAT_MACROS -D_FORTIFY_SOURCE=2 -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DDLOPEN_KERBEROS -DNET_IMPLEMENTATION -DUSE_KERBEROS -DENABLE_BUILT_IN_DNS -DUSE_GCONF -DGOOGLE_PROTOBUF_NO_RTTI -DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER -DHAVE_PTHREAD -DUSE_GIO -DGLIB_DISABLE_DEPRECATION_WARNINGS -DU_USING_ICU_NAMESPACE=0 -DU_ENABLE_DYLOAD=0 -DICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_FILE -DUCHAR_TYPE=uint16_t -I../.. -Igen -I../../third_party/icu/source/common -I../../third_party/icu/source/i18n -I/usr/local/include/gconf/2 -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -I/usr/local/include -I/usr/local/include/orbit-2.0 -I../../third_party/protobuf/src -Igen/protoc_out -I../../third_party/protobuf/src -I../../third_party/boringssl/src/include -I/usr/local/include/nss -I/usr/local/include/nss/nss -I/usr/local/include/nspr -I../../sdch/open-vcdiff/src -I../../third_party/zlib -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -I/usr/local/include -I../../third_party/ced/src -I../../third_party/icu/source/common -I../../third_party/icu/source/i18n -I../../third_party/brotli/include -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -Wno-builtin-macro-redefined -DDATE= -DTIME= -DTIMESTAMP= -funwind-tables -fPIC -pipe -fcolor-diagnostics -m64 -march=x86-64 -Wall -Werror -Wextra -Wno-missing-field-initializers -Wno-unused-parameter -Wno-c++11-narrowing -Wno-covered-switch-default -Wno-unneeded-internal-declaration -Wno-inconsistent-missing-override -Wno-undefined-var-template -Wno-nonportable-include-path -Wno-address-of-packed-member -Wno-user-defined-warnings -O2 -fno-ident -fdata-sections -ffunction-sections -fomit-frame-pointer -g0 -fvisibility=hidden -Wheader-hygiene -Wstring-conversion -Wtautological-overlap-compare -Wexit-time-destructors -DORBIT2=1 -Wno-header-guard -std=c++11 -fno-rtti -fno-exceptions -fvisibility-inlines-hidden -Wno-deprecated-register -I/usr/local/include -c ../../net/quic/quartc/quartc_session.cc -o obj/net/net/quartc_session.o In file included from ../../net/quic/quartc/quartc_session.cc:5: In file included from ../../net/quic/quartc/quartc_session.h:9: In file included from ../../net/quic/core/quic_crypto_server_stream.h:15: In file included from ../../net/quic/core/crypto/quic_crypto_server_config.h:23: gen/net/quic/core/proto/cached_network_parameters.pb.h:17:2: error: This file was generated by an older version of protoc which is
^ gen/net/quic/core/proto/cached_network_parameters.pb.h:18:2: error: incompatible with your Protocol Buffer headers. Please
^ gen/net/quic/core/proto/cached_network_parameters.pb.h:19:2: error: regenerate this file with a newer version of protoc.
^
gen/net/quic/core/proto/cached_networkparameters.pb.h:66:1: error: too many arguments to function call, expected 0, have 1
&::google::protobuf::internal::GetEmptyStringAlreadyInited());
^~~~~~~~~~~~~~~~
/usr/local/include/google/protobuf/arenastring.h:225:3: note: 'GetNoArena' declared here
inline const ::std::string& GetNoArena() const { return *ptr; }
^
In file included from ../../net/quic/quartc/quartc_session.cc:5:
In file included from ../../net/quic/quartc/quartc_session.h:9:
In file included from ../../net/quic/core/quic_crypto_server_stream.h:15:
In file included from ../../net/quic/core/crypto/quic_crypto_server_config.h:23:
gen/net/quic/core/proto/cached_network_parameters.pb.h:259:35: error: too many arguments to function call, expected 0, have 1
return servingregion.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
/usr/local/include/google/protobuf/arenastring.h:225:3: note: 'GetNoArena' declared here
inline const ::std::string& GetNoArena() const { return *ptr_; }
^
In file included from ../../net/quic/quartc/quartc_session.cc:5:
In file included from ../../net/quic/quartc/quartc_session.h:9:
In file included from ../../net/quic/core/quic_crypto_server_stream.h:15:
In file included from ../../net/quic/core/crypto/quic_crypto_server_config.h:24:
gen/net/quic/core/proto/source_address_token.pb.h:17:2: error: This file was generated by an older version of protoc which is
#error This file was generated by an older version of protoc which is
^
gen/net/quic/core/proto/source_address_token.pb.h:18:2: error: incompatible with your Protocol Buffer headers. Please
#error incompatible with your Protocol Buffer headers. Please
^
gen/net/quic/core/proto/source_address_token.pb.h:19:2: error: regenerate this file with a newer version of protoc.
#error regenerate this file with a newer version of protoc.
^
gen/net/quic/core/proto/source_address_token.pb.h:58:1: error: too many arguments to function call, expected 0, have 1
&::google::protobuf::internal::GetEmptyStringAlreadyInited());
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/include/google/protobuf/arenastring.h:225:3: note: 'GetNoArena' declared here
inline const ::std::string& GetNoArena() const { return *ptr_; }
^
In file included from ../../net/quic/quartc/quartc_session.cc:5:
In file included from ../../net/quic/quartc/quartc_session.h:9:
In file included from ../../net/quic/core/quic_crypto_server_stream.h:15:
In file included from ../../net/quic/core/crypto/quic_crypto_server_config.h:24:
gen/net/quic/core/proto/source_address_token.pb.h:193:1: error: too many arguments to function call, expected 0, have 1
&::google::protobuf::internal::GetEmptyStringAlreadyInited());
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/include/google/protobuf/arenastring.h:225:3: note: 'GetNoArena' declared here
inline const ::std::string& GetNoArena() const { return *ptr_; }
^
In file included from ../../net/quic/quartc/quartc_session.cc:5:
In file included from ../../net/quic/quartc/quartc_session.h:9:
In file included from ../../net/quic/core/quic_crypto_server_stream.h:15:
In file included from ../../net/quic/core/crypto/quic_crypto_server_config.h:24:
gen/net/quic/core/proto/source_address_token.pb.h:309:23: error: too many arguments to function call, expected 0, have 1
return ip_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
~~~~~~~~~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/include/google/protobuf/arenastring.h:225:3: note: 'GetNoArena' declared here
inline const ::std::string& GetNoArena() const { return *ptr_; }
^
In file included from ../../net/quic/quartc/quartc_session.cc:5:
In file included from ../../net/quic/quartc/quartc_session.h:9:
In file included from ../../net/quic/core/quic_crypto_server_stream.h:15:
In file included from ../../net/quic/core/crypto/quic_crypto_server_config.h:24:
gen/net/quic/core/proto/source_address_token.pb.h:396:34: error: allocating an object of abstract class type '::net::CachedNetworkParameters'
cached_network_parameters_ = new ::net::CachedNetworkParameters;
^
/usr/local/include/google/protobuf/message_lite.h:359:18: note: unimplemented pure virtual method 'ByteSizeLong' in 'CachedNetworkParameters'
virtual size_t ByteSizeLong() const = 0;
^
In file included from ../../net/quic/quartc/quartc_session.cc:5:
In file included from ../../net/quic/quartc/quartc_session.h:9:
In file included from ../../net/quic/core/quic_crypto_server_stream.h:15:
../../net/quic/core/crypto/quic_crypto_server_config.h:60:23: error: field type 'net::SourceAddressTokens' is an abstract class
SourceAddressTokens source_address_tokens;
^
/usr/local/include/google/protobuf/message_lite.h:359:18: note: unimplemented pure virtual method 'ByteSizeLong' in 'SourceAddressTokens'
virtual size_t ByteSizeLong() const = 0;
^
In file included from ../../net/quic/quartc/quartc_session.cc:5:
In file included from ../../net/quic/quartc/quartc_session.h:9:
In file included from ../../net/quic/core/quic_crypto_server_stream.h:15:
../../net/quic/core/crypto/quic_crypto_server_config.h:98:29: error: field type 'net::CachedNetworkParameters' is an abstract class
CachedNetworkParameters cached_network_params;
^
In file included from ../../net/quic/quartc/quartc_session.cc:5:
In file included from ../../net/quic/quartc/quartc_session.h:9:
../../net/quic/core/quic_crypto_server_stream.h:386:23: error: field type 'net::SourceAddressTokens' is an abstract class
SourceAddressTokens previous_source_address_tokens_;
^
In file included from ../../net/quic/quartc/quartc_session.cc:5:
In file included from ../../net/quic/quartc/quartc_session.h:9:
In file included from ../../net/quic/core/quic_crypto_server_stream.h:15:
In file included from ../../net/quic/core/crypto/quic_crypto_server_config.h:23:
In file included from gen/net/quic/core/proto/cached_network_parameters.pb.h:22:
/usr/local/include/google/protobuf/arena.h:343:18: error: allocating an object of abstract class type 'net::SourceAddressToken'
return new T();
^
/usr/local/include/google/protobuf/arena.h:652:12: note: in instantiation of function template specialization 'google::protobuf::Arena::Create<net::SourceAddressToken>' requested here
return Create<T>(arena);
^
/usr/local/include/google/protobuf/arena.h:657:12: note: in instantiation of function template specialization 'google::protobuf::Arena::CreateMaybeMessage<net::SourceAddressToken>' requested here
return CreateMaybeMessage<T>(arena, is_arena_constructable<T>());
^
/usr/local/include/google/protobuf/repeated_field.h:609:39: note: in instantiation of function template specialization 'google::protobuf::Arena::CreateMaybeMessage<net::SourceAddressToken>' requested here
return ::google::protobuf::Arena::CreateMaybeMessage<Type>(arena);
^
/usr/local/include/google/protobuf/repeated_field.h:639:10: note: in instantiation of member function 'google::protobuf::internal::GenericTypeHandler<net::SourceAddressToken>::New' requested here
return New(arena);
^
/usr/local/include/google/protobuf/repeated_field.h:1509:20: note: in instantiation of member function 'google::protobuf::internal::GenericTypeHandler<net::SourceAddressToken>::NewFromPrototype' requested here
TypeHandler::NewFromPrototype(prototype, arena_);
^
/usr/local/include/google/protobuf/repeated_field.h:1926:32: note: in instantiation of function template specialization 'google::protobuf::internal::RepeatedPtrFieldBase::Add<google::protobuf::RepeatedPtrField<net::SourceAddressToken>::TypeHandler>' requested here
return RepeatedPtrFieldBase::Add<TypeHandler>();
^
gen/net/quic/core/proto/source_address_token.pb.h:440:16: note: in instantiation of member function 'google::protobuf::RepeatedPtrField<net::SourceAddressToken>::Add' requested here
return tokens_.Add();
^
/usr/local/include/google/protobuf/message_lite.h:359:18: note: unimplemented pure virtual method 'ByteSizeLong' in 'SourceAddressToken'
virtual size_t ByteSizeLong() const = 0;
^
16 errors generated.
[9889/15783] CXX obj/net/net/sdch_owner.o
[9890/15783] CXX obj/net/net/socket_posix.o
[9891/15783] CXX obj/net/net/socks5_client_socket.o
[9892/15783] CXX obj/net/net/client_socket_pool_base.o
[9893/15783] CXX obj/net/net/socks_client_socket.o
[9894/15783] CXX obj/net/net/socks_client_socket_pool.o
[9895/15783] CXX obj/net/net/client_socket_pool_manager.o
[9896/15783] CXX obj/net/net/client_socket_pool_manager_impl.o
ninja: build stopped: subcommand failed.
Try compiling after removing devel\protobuf
or moving /usr/local/include/protobuf
. The chromium build comes with its own version of google protobuf
.
@dszidi @prash-wghats Any luck getting this to work on FreeBSD 12?
Not tried compiling it. But the release build https://github.com/prash-wghats/Electron-VSCode-Atom-For-FreeBSD/releases/download/electron_v2.0.1/electron-v2.0.1-freebsd-x64.zip
works in FreeBSD12-current.
There's also an attempt at producing an official FreeBSD Port in this other project (based mostly on prash's good work).
@hbowden Replace https://github.com/prash-wghats/Electron-VSCode-Atom-For-FreeBSD/tree/master/electron/chromium_make.diff
with
--- a/Makefile 2018-08-30 17:47:06.762547000 +0400
+++ b/Makefile 2018-08-30 19:54:21.193361000 +0400
@@ -23,7 +23,6 @@
BUILD_DEPENDS+= gperf:devel/gperf \
clang40:devel/llvm40 \
yasm:devel/yasm \
- ffmpeg>=3.2.2,1:multimedia/ffmpeg \
flock:sysutils/flock \
node:www/node \
${LOCALBASE}/include/linux/videodev2.h:multimedia/v4l_compat \
@@ -42,13 +41,10 @@
libjsoncpp.so:devel/jsoncpp \
libpci.so:devel/libpci \
libnspr4.so:devel/nspr \
- libre2.so:devel/re2 \
libcairo.so:graphics/cairo \
libdrm.so:graphics/libdrm \
libexif.so:graphics/libexif \
libpng.so:graphics/png \
- libwebp.so:graphics/webp \
- libavcodec.so:multimedia/ffmpeg \
libcups.so:print/cups \
libharfbuzz.so:print/harfbuzz \
libharfbuzz-icu.so:print/harfbuzz-icu \
@@ -81,8 +77,8 @@
CPE_PRODUCT= chrome
USE_LDCONFIG= ${DATADIR}
USE_PERL5= build
-USE_XORG= scrnsaverproto x11 xcb xcomposite xcursor xext xdamage xfixes xi \
- xproto xrandr xrender xscrnsaver xtst
+USE_XORG= x11 xcb xcomposite xcursor xext xdamage xfixes xi \
+ xorgproto xrandr xrender xscrnsaver xtst
USE_GNOME= atk dconf glib20 gtk30 libxml2 libxslt
SHEBANG_FILES= chrome/tools/build/linux/chrome-wrapper
ALL_TARGET= chrome
@@ -233,7 +229,7 @@
#./build/linux/unbundle/remove_bundled_libraries.py [list of preserved]
cd ${WRKSRC} && ${PYTHON_CMD} \
./build/linux/unbundle/replace_gn_files.py --system-libraries \
- ffmpeg flac harfbuzz-ng libwebp libxml libxslt snappy yasm || ${FALSE}
+ flac harfbuzz-ng libxml libxslt snappy yasm || ${FALSE}
.endif
do-configure:
Rest worked as is. sh build_electron.sh
. Electron built in FreeBSD 12.0-CURRENT #0 r337160
Hi, first of all thanks for your work on these patches. Getting these apps to work on FreeBSD is a big win. I'm running TrueOS which is FreeBSD12 under the hood. I'm getting the following error when trying to build just electron from the repo's electron directory:
I went through and replaced all mention of freebsd11 with freebsd12 in
If you could offer any guidance I'd be very grateful.