-
Notifications
You must be signed in to change notification settings - Fork 68
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
Lots of undefined references when compiling the GUI library for Debian #421
Comments
I can't reproduce it here on Debian 12, clang-13. Please show your Also keep in mind that Debian build files are quite outdated and you may face other build problems. For example, to build Workspace you need CoreFoundation library to be installed. You may use Packaing/RedHat scripts as a reference. |
As for the |
Spot anything weird? |
Also note that the libdispatch in /System/lib is not a symlink to something else - I do have a Swift toolchain installed on the system but it is not referenced in here (at least my eyes aren't able to pick it up...) |
/System/lib is not NextSpace layout either. NextSpace's location of libdispatch.so is /usr/NextSpace/lib. Here is an excerpt from
See that |
Oh wow, I was under the impression it was in /System/lib, I believe that it's a remnant from other endeavors. I'll try again today and see if it's gonna work. |
I got further, but now I am failing when compiling
I checked and turns out it is declared in a file called |
I've built without a problem. Probably you haven't applied patches. |
Huh, for some reason I didn't notice any patching in the spec file (is it done somewhere else? I've mostly been winging it, I am unfamiliar with spec files but it's been going okay so far), I'll check the patches and try again. |
I successfully compiled
I am absolutely certain that the types mentioned in this wall of errors do exist, I found them very clearly in the headers for |
You've missed to copy Core Foundation addons before building:
You don't have CFNotificationCenter (as well as CFFileDescriptor - used by Window Manager) in your install. It doesn't exist in official Core Foundation repository. |
Nope! I did run these lines and they are in my source tree for CoreFoundation - something else is going on here I think. |
To show you how some of these don't make sense, here's the most laughably odd error from what I was getting:
The line in question was a few lines after the declaration of |
I also made sure that the symbols exist for the various functions declared in
|
No, CFNotificationCenter.h exists in Apple repository. CFNotificationCenter.c must be copied. You have to copy these files from NextSpace to CoreFoundation sources:
and apply at least these patches:
Also you have to copy files inside CoreFoundation sources like this:
|
Did all of this already, I ran all of the commands listed in the spec file! However, the same errors still surface. I recompiled 5 times already, I am using clang 17. I can try other versions of clang though I am skeptical that it will make a difference. EDIT: Can confirm, no difference with clang-14. |
Let me quote myself "I can't reproduce it here on Debian 12, clang-13." |
Which version of clang-13 specifically? |
|
@OmerFlame do you have success on building? |
I don't have access to my computer at the moment, I can only try again this Thursday... |
Nope, still failing. I finally installed It's also important to mention that all of the redefinition messages in the compiler are listed as warnings, not errors. Something is weird here. |
After fully recloning CoreFoundation, reapplying patches and copying headers, the redefinition issues disappeared, which is a step in the right direction. However, it STILL does not compile, complaining about Yes, I did copy the files over, I applied the required patches, I did everything I needed to do. The files exist in the header files, yet it still gives me the following build errors:
Looking at the logs, I suspect some sort of lexical issues with |
This is really something very strange... Let's look at 2 first errors in your output:
Please check if you don't have some weird CFBase.h somewhere in compiler paths. You can get paths by inspecting It would be ideal if you can make installation of NextSpace in clean Debian 12 system virtual machine to exclude some trails of various other experiments. Great plus if you experienced enough with Debian to make changes to scripts for successful building of project and create pull request(s). Other but long way: I'll make tests and changes to Packaging/Sources files to achive automated successful build on Debian and you try it on your system. My current development platform is Fedora 35 so I need to get used to Debian and stop writing code. What do you think? |
Holy crap, I think it's the ObjC flags. It has a leftover path from an experiment completely unrelated to NextSpace. I'll update you on the situation. |
Alright, I am barring this option from being possible. The include paths that are being output are:
|
I hardcoded the headers to replace |
Never mind, |
How do I add NextSpace to the desktop environment list in the login dialog? I can't see it. |
I have no xsession file! |
NextSpace is implemented as a standalone DE with it's own login dialog. The reasons for this include ability to shutdown or restart OS as user (from Workspace). Enabling of NextSpace's login dialog is simple:
As a part of job it sets Login.app as a default login dialog ( |
Got the login manager to show up, logged in but the session finishes with an error. Looking at the logs, it's missing Helvetica-Medium. I looked at the font book and Helvetica was actually missing, so I installed it. After that, the same error message showed up in the logs... What should I do now? |
Missing font is not a reason for Workspace to crash. It's something else... |
@OmerFlame I've improved building from sources scripts. I've managed to build all project on Debian with clang 14. |
I'll test it today! |
ok these are what i can install
so i did a master checkout, went to
|
Show me your |
|
Probably you don't have some components installed. Please check cmake log for any clues. I've build complete project on Debian 12 and Ubuntu 22.04. But I could miss something. |
@alexmyczko have you succeed with build? Any findings with compiler? |
unfortunately no, and no idea what is wrong. |
Send me your |
Hello,
After seeing that this project is being worked on again, I decided to try compiling the project for Debian again to no avail - I took the precautions beforehand and modified the
versions.inc.sh
file to look like this, trying to follow the new RedHat versions stated in the specfiles:(Note: I also modified the
download-sources.sh
script so it works with the unexpected branch names and also renamed the make patch folder from 2.7.0 to 2.9.1 so that the patches will be able to apply properly)It all goes quite smoothly until compiling
libdispatch
when I get the infamous-Werror
issue, so I remove the flag from the various CMake files and then it compiles successfully. It all goes smoothly until I try to compile the GUI library when I get this massive wall of errors:Why is this happening?? Why is Swift even being involved in here?
I am completely stumped by this...
Note: I am not trying to build packages for Debian, I am merely trying to compile from source.
The text was updated successfully, but these errors were encountered: