Coder Social home page Coder Social logo

Comments (8)

SuspiciousDuck avatar SuspiciousDuck commented on June 11, 2024

Update: I was able to get Chrome compiling and working correctly after removing all appearances of -Wall and -Werror from /curl-impersonate/build/boringssl/CMakeLists.txt, but I haven't tried doing the same with Firefox because I don't want to do all of that manually.

$ curl_chrome116 --version
curl 8.1.1 (x86_64-pc-linux-gnu) libcurl/8.1.1 BoringSSL zlib/1.3 brotli/1.0.9 zstd/1.5.5 libidn2/2.3.4 libpsl/0.21.2 (+libidn2/2.3.4) nghttp2/1.56.0
Release-Date: 2023-05-23
Protocols: dict file ftp ftps gopher gophers http https imap imaps ldap ldaps mqtt pop3 pop3s rtsp smb smbs smtp smtps telnet tftp
Features: alt-svc AsynchDNS brotli HSTS HTTP2 HTTPS-proxy IDN IPv6 Largefile libz NTLM NTLM_WB PSL SSL threadsafe UnixSockets zstd

from curl-impersonate.

SuspiciousDuck avatar SuspiciousDuck commented on June 11, 2024

@lwthiker Possible fix could be cloning the repositories of the SSL libraries, replacing all occurrences of -Wall and -Werror with a blank string, then building.

from curl-impersonate.

lwthiker avatar lwthiker commented on June 11, 2024

@SuspiciousDuck May you try out #217?
I upgraded the BoringSSL version to the latest stable one, and confirmed that it compiles on Arch without any error.
Would be great if you could give it a try as well.

from curl-impersonate.

SuspiciousDuck avatar SuspiciousDuck commented on June 11, 2024

@lwthiker Can I see how you tried doing it? Mine didn't turn out so well.
output

from curl-impersonate.

SuspiciousDuck avatar SuspiciousDuck commented on June 11, 2024

What I noticed is that at the bottom, you can see that it is clearly just some malformed curl output. Specifically I noticed that they happened AFTER all of the unzip and tar errors. This means that the build instructions aren't waiting for the downloads. Aside from the download errors, that means I can't test to see if the errors are resolved.

edit: I think I just cracked the case. I went to clone the repo while looking at the PKGBUILD for reference, and while it was trying to compile, I had an idea. I noticed that a lot of the text was overlapping from multiple different lines. This was when I realized I had -j12 in the make process. That was why it wasn't waiting for the download.
tldr: -j12 ruins everything

from curl-impersonate.

SuspiciousDuck avatar SuspiciousDuck commented on June 11, 2024

That being said, now that I can actually test building curl-impersonate-chrome, I now see that no, there is still one more warning in BorringSSL, which errors the build. I think a possible solution is to just make another patch. You download the same archives, so why not just patch those archives to fix the build warnings?
This was the only warning I got.

[388/452] Building CXX object ssl/test/CMakeFiles/bssl_shim.dir/settings_writer.cc.o
FAILED: ssl/test/CMakeFiles/bssl_shim.dir/settings_writer.cc.o 
/usr/bin/g++ -DBORINGSSL_IMPLEMENTATION -I/home/user/.cache/yay/curl-impersonate-chrome/src/curl-impersonate-0.6.0/build/boringssl/third_party/googletest/include -I/home/user/.cache/yay/curl-impersonate-chrome/src/curl-impersonate-0.6.0/build/boringssl/ssl/test/../../include -Werror -Wformat=2 -Wsign-compare -Wmissing-field-initializers -Wwrite-strings -Wvla -Wshadow -ggdb -Wall -fvisibility=hidden -fno-common -Wno-free-nonheap-object -Wimplicit-fallthrough -Wmissing-declarations -std=c++11 -fno-exceptions -fno-rtti -O3 -DNDEBUG -fPIE -MD -MT ssl/test/CMakeFiles/bssl_shim.dir/settings_writer.cc.o -MF ssl/test/CMakeFiles/bssl_shim.dir/settings_writer.cc.o.d -o ssl/test/CMakeFiles/bssl_shim.dir/settings_writer.cc.o -c /home/user/.cache/yay/curl-impersonate-chrome/src/curl-impersonate-0.6.0/build/boringssl/ssl/test/settings_writer.cc
/home/user/.cache/yay/curl-impersonate-chrome/src/curl-impersonate-0.6.0/build/boringssl/ssl/test/settings_writer.cc: In member function ‘bool SettingsWriter::Commit()’:
/home/user/.cache/yay/curl-impersonate-chrome/src/curl-impersonate-0.6.0/build/boringssl/ssl/test/settings_writer.cc:78:61: error: ignoring attributes on template argument ‘int (*)(FILE*)’ [-Werror=ignored-attributes]
   78 |   using ScopedFILE = std::unique_ptr<FILE, decltype(&fclose)>;
      |                                                             ^
cc1plus: all warnings being treated as errors

edit: I tried compiling curl-impersonate-firefox, and that one actually compiled!! and installed!!

from curl-impersonate.

lwthiker avatar lwthiker commented on June 11, 2024

tldr: -j12 ruins everything

Yes, parallel build doesn't work, it's a known issue which I haven't been able to solve yet.

That being said, now that I can actually test building curl-impersonate-chrome, I now see that no, there is still one more warning in BorringSSL, which errors the build.

This error was fixed in BoringSSL (https://boringssl.googlesource.com/boringssl/+/e4f60679caa293c047be69f57fc48b46c7452327). Try rebuilding: check out the branch #217, delete the build directory and run make chrome-build again.

from curl-impersonate.

SuspiciousDuck avatar SuspiciousDuck commented on June 11, 2024

Thanks a lot! Issue is resolved.

from curl-impersonate.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.