-
Notifications
You must be signed in to change notification settings - Fork 893
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Not possible to compile Ungoogled Chromium by the official instructions #3156
Comments
What is your OS, etc? |
Whoops, sorry. It is Debian 11 on AMD64. Compilers available: GCC 10, CLang 19. Python is 3.9.2. Libc is 2.31. I don't know if there is anything else relevant. |
You may find the debian repo https://github.com/ungoogled-software/ungoogled-chromium-debian helpful. And particularlty: |
Thanks for the links, but i did not find on these pages when i should call |
Here it is: https://github.com/PF4Public/gentoo-overlay/blob/master/www-client/ungoogled-chromium/ungoogled-chromium-132.0.6834.83_p1.ebuild :D But it is very Gentoo-specific. I would suggest you follow the steps in PR mentioned, more specifically these: ungoogled-software/ungoogled-chromium-debian#328 (comment) |
Thanks! Woof, this is six and a half times bigger than my original - now not working - buildscript for UGC 116. :D I've checked the Debian repo's script, but i am not sure if that is what i need. I am building a portable UGC, with no pulseaudio/gnome stuff and gtk3 included from an isolated - non system-wide - place. |
In that case you may find https://github.com/ungoogled-software/ungoogled-chromium-portablelinux useful for you.
|
Yep, that was the first i've checked, but i do not get this docker stuff, i never used it. Will UGC run only from docker, or it is just for building? Thanks, finally i know! So, i do not need |
just for building
You may combine the approaches in Debian repo with using the sysroot via
Let me quote the instructions you were following: |
I know the flags must be filled, i just forgot to share my
|
In the meantime i found that the mentioned version ( But why does the buildsystem even need Rust? And even if this version is not available in Debian 11, why does it report that the available version is |
Chromium has some code written in Rust since several major versions ago. |
Okay, but what does it miss now? Why cannot it see Rust? What should i install, or do to debug this? Setting |
You're missing additional platform-specific patches. What I've written about flags also applies to patches. In this particular case you're missing this one: https://salsa.debian.org/chromium-team/chromium/-/blob/master/debian/patches/disable/clang-version-check.patch, but there might be others that you also need to apply. Please keep in mind, that what we are discussing has nothing to do with ungoogled-chromium patches and as such does not fit as an issue report for this repository. |
I see, thanks. I put this code into my script, right after
And of course i cloned down https://salsa.debian.org/chromium-team/chromium to Why not? I am having issues with building it. :P Well, i am off to build UGC. Wish me luck... (And thanks for the help.) |
As i feared, it was not a solution to switch off the Rust-detecting.
|
I've installed
What does this mean? Why does not it use the system's CLang/LLVM stuff? CLang/LLVM 20 is installed. |
Any idea what can be the problem? |
you need another patch for that, I suppose |
But i've already applied all patches from this repository found in the subdirs of I am not sure about What do i miss? |
Any idea? Who can help me with this? |
I might have an idea should I see more than a single error line. Sometimes it is indicative what happens moments before the error. Ideally the whole build log of course. |
Got it. On thursday, i think i can do another test-build. |
Okay, both my current "buildscript" (renamed to txt) and it's result are attached. Edit: My extra flags are also attached. |
Perhaps this patch might help you further: https://github.com/PF4Public/gentoo-overlay/blob/master/www-client/ungoogled-chromium/files/chromium-132-no-link-builtins.patch Also take note that not all of the patches are applied, which might lead to problems later. |
Unfortunately it changed nothing. Same error message as before. I know that not all patches have been applied. I asked in one of my previous post, that which remaining patch directories i should use too. The only remaining ones which could be relevant are |
Are you sure you need to do the bootstrapping of gn? I couldn't find that step in Debian's rules file. |
No, i am not sure. I copied the instructions from here: https://github.com/ungoogled-software/ungoogled-chromium/blob/master/docs/building.md, and it says: "5. Build GN. If you are using |
@TCH68k I would suggest you try building vanilla Chromium on Debian first (with which I cannot help you) and after that return to building ungoogled-variant. |
Okay. Any hint about who can? |
Sorry, but i have no experience with either Rust, or Chromium's codebase, and only a very little with Python. I am not sure, what am i doing; it is like assembling a truck, blindfolded. I thought you meant i should search in the source file you've linked. The patches, you've enlisted did not change anything if applied. If i set
I applied that two patches too, what i've found, but no change in either case. |
|
Thanks, that worked! I think we have advanced to a next part in the buildscript, for now i've got a much lengthier error message about missing Rust dependencies. (Log attached.) I tried to search in the patchlist for files with names like "dependencies", "prelude", "toolchain", but no luck. |
Or better like this: https://github.com/search?q=repo%3APF4Public%2Fgentoo-overlay+cloud_authenticator&type=code I've hinted you so many times that you should start using "search" feature a lot, but you resist :( |
Thanks, it worked. Now, the error message is
I swear i do not resist, (not even by one milliohm :P ), but what should i search for? For me it was not trivial that i need to look up "cloud_authenticator" and "qrcode". Yes, the log contained these as dependencies, but it also contained "clap_builder", "codespan_reporting" and "fend_core". How did you know, that you do not need to search for those? How did you know, that you should look only for the first two? I do not know this code base at all. Neither Rust, nor Python build environments. For instance, now - based on the error message - i tried to search for "node", but it yielded zero patches related to nodejs. I even tried to search for "rollup" and "neterror", but neither of these queries brought up anything at all. :( And i found no node-related patches among the patch files in the |
Okay, by linking
So, i installed the Log attached. It seems, that for some reason it tries to use GCC 10's C++ stdlib, instead of CLang's. |
:D
Brute-force is an option if you don't know what to search for ;)
third_party/node/linux/node-linux-x64/bin/node obviously :)
Guess what? I wasn't born with this knowledge either!
I remember I had issues building against gcc-13, switching to gcc-14 helped.
|
Okay, then i think i will search for tits first, maybe i'll find some. :P
That link also gave no hits at all. Wrong arguments, or was it a joke?
Sure, but you did not acquired it in a blink of an eye. And i only would like to compile and use Ungoogled Chromium, not developing it. :P
But i am building against CLang 19.
Okay, i took
out of I think the problem is, that while i use external CLang 19, it still tries to build against GCC's libc++, bundled or external. |
Yes, that is true. Your log is too short (for me) to diagnose it. It should use
IDK, worksforme:
I was thinking the same a long time ago, and eventually… I ended up here, haha |
That was all the log i got from starting the build. But i attached the full log now, including the output of patching, etc. Perhaps one of the failed patches are the culprit?
My bad, i had to login to be able to use that search link. However, it still gave no patches, just that one row highlighted in the buildscripts. (Also, for me, it was not obvious that i should search for the full path, not just the binary name. :/ )
ROFL...well, true, but unlike me, at least you do know now, what to do. |
I don't see a
This optional: https://en.cppreference.com/w/cpp/header/optional
Which says you need to create a symlink: |
It is there:
That's okay, i always redo the whole process from the patching. (I have a snapshot of the downloaded stuff in a
Oh. Then should not it use CLang 19's one from my system, instead of GCC's, or the bundled one in Chromium's source?
I saw that, but i had no idea what |
You don't need
Because it is Gentoo specific |
Thanks, that is good to know.
Yes, thank you, that nailed it. No C/C++ compiler errors so far, but i've ran into a node.js problem. (Full log is attached.) Now, i do understand, that it cannot find the I so hope, that this is the last problem... (...and hope dies last.) |
Why would you expect ungoogled-chromium to fix this for you? 12 is almost two years old and not even LTS: https://nodejs.org/en/about/previous-releases. And even bookworm has 18: https://packages.debian.org/bookworm/nodejs |
I did not expected anything. I've checked for patches, just in case. I don't know what Bookworm has, because i use Bullseye and Bullseye has 12. What is the minimum requirements considering nodejs' version? |
To be honest, I have no idea. I'm building with 22, I think. Try updating to 18 first, maybe that is sufficient. |
In the meantime, i downloaded the latest (23.9) and put into It then failed because
I am not familiar with node.js. What is this export problem can be? BTW, is there any way i can tell the process, how many threads it should use for compiling? Maybe it can do it faster if i give it more cores. Edit: I've installed Edit 2: Okay, it was not |
Compilation almost reached 60%, when two errors occurred. I attached the surrounding log of those errors, but here are the two exact error lines:
I do not know WTF this Edit: Seems so, restored the original file and the build continues. |
The compilation is nearly done, but with the fonts, another error has came up (full error log attached):
I tried to search for this file, but all the patches it shown are not applied here. Despite this, there is a |
And another two error occurred. (Log attached.) This time these:
Searching for Compilation is around 94% done. (47179 / 50413) |
As you've found out, you don't need it too if you're building with clang and libc++. I'm happy to see you progressing!
I guess it wasn't cleanly reverted.
Interesting why you encountered this. Perhaps your flag combination. Looks similar to https://issues.chromium.org/issues/40702940. Try adding |
Thanks. I wonder how many was the default.
Me too, lol! Jokes aside, i have more experience with C/C++, so at least i can start somewhere. I had no idea what to do, when it was about the Rust or Python ecosystems/dependencies.
Yep, i figured out that in the meantime, that by putting And now another font one (log attached):
And once again, there is a |
And as i was afraid, commenting out
If commented out, linking fails, if not, compilation fails. Yay... :(
|
Okay, from
to
and now I will try to package it now. |
It does work! And i managed to run Manifest v2 extensions too! FTR there are the flags to set: Enable: Disable But strangely, commenting here on GitHub still does not work and neither the CloudFlare botchecking widget GitLab uses. I had disabled all my extensions and even Anyway, finally we're done. @PF4Public: Thank you very much for your enormous amount of help and patience! I really appreciate it: i could never compile UGC without you. |
have you tried empty profile? perhaps the migration from such an old version didn't go well |
I tried it now. Still does not work. It throws HTTP 422 errors unto the console upon previewing or commenting. Edit: And as for CloudFlare, i attached a screenshot. But i am sure, this is not a bug of UGC. The Pale Moon guys also complaining of CF deliberately running malicious code to crash PM. (And any kind of browser they do not want to let in; including Chome-based ones with not the "proper" user-agent.) |
I've figured out what was the cause of GitHub's 422 errors in both UGC 116 and 133: the Sadly CloudFlare still does not work in either. I tried to remove other flags, but no effect. It still gives an infinite check-circle-check-circle-etc. process in 116 and instantly a dead computer icon in 133. But i am cent-percent sure, that it is CF's fault. |
I found the instructions here: https://github.com/ungoogled-software/ungoogled-chromium/blob/master/docs/building.md
I've did before the instructions:
Then i've performed as told:
Up to this point, everything worked. But then, when i executed
./out/Default/gn gen out/Default --fail-on-unused-args
:Okay, do
gclient sync
:Okay, let's see
gclient config
:I tried to look up this. I found this: http://stackoverflow.com/questions/8684282/gclient-runhooks-fails
By that topic, i saved the suggested content
to
.gclient
inbuild/src
. Then didgclient sync
. It worked, but it started to download Chromium and everything again. I thought that was done atQuestion is: when do i have to call
gclient sync
? And is ithttps://chromium.googlesource.com/chromium/src.git
the correct value for the propurl
ingclient
?The text was updated successfully, but these errors were encountered: