Questions and answers for new developers #347
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
So far we do not have a detailed guide on contributing (maybe we never will...). In this article I suggest asking and answering questions for those new to KolibriOS development.
What could be a possible issue for the build autocheck to fail due to disk full? I only added 2 debug/info statements in my code and I am still failing the check.
Attached a part of the error message as a text file for reference because it is fairly long
@YVishere This is probably due to lack of disk space on our server. Unfortunately, we have few resources to maintain infrastructure
It's difficult to add a program to the main branch. When I merge the branch because the main one has changed due to a merge of another project, the positive commits turn gray and you have to wait for a new commit. Do you have a folder somewhere to upload finished binary program files? If anyone wants them, they can download them.
What's the goal of this project? Are you insisting on a small file size, or is it always supposed to fit on a 1.44MB floppy disk? Are there no larger programs like OpenOffice because they won't fit?
You can create separate repo and publish program binary there, as release, or just as commited file.
Currently, there is no any kind of app store or sowtware database for KolibriOS (but there are some plans for it).
First of all, it's just for fun. Secondary, yes, to fit fully pledged OS in 1.44 MB floppy. But we also have ISO releases with all heavy programs included. There are no programs like OpenOffice cause they will be very hard to port, as KolibriOS missing many relevant features, and is not fully POSIX compatible.
Hi,
From the Kolibri OS desktop, and calling on FASM, what is the best practice for building an .asm file containing include directives? On
/rd0/1/or/hd0/1, for example, should the entire KolibriOS/kolibrios repository on Gitea be cloned to ensure that all dependencies are present?I am not talking here about building the entire project, but merely about iteratively building modified versions of the RTL8169.asm driver alone, as progress is made on bug report #432.
Attached is the message from the FLAT assembler, which has prompted me to seek advice. 👀Thank you for your guidance.
Hi, and sorry for the late reply, @Golffies.
In my personal experience, it doesn't really matter where to put them in KOS.
And you don't need the full repo for this.
What I usually do - download only source code and include files that are needed for my project, and put them inside KOS in such a way that actual include paths in code (e.g.,
include "../../proc32.inc") would be the same, as they would be when I put finished source code back in the repo folder to commit it.E.g., if the program is
programs\other\calcplus\calcplus.asm, then in the repo it has include paths likeinclude "../../proc32.inc".Thus, I would put all needed source code it some folder, and all needed includes - two levels higher in file tree.
Thus, I don't need to change the include paths each time I want to commit my local changes to the repo, and everything compiles properly both locally in KOS and in the repo autobuild.
Thank you @Burer.
As regards the development of applications written in C, forum posts state that the standard library has been ported to Kolibri. That doesn’t include the GNU libraries, does it?
How do I cross-compile a PE32 executable for Kolibri? There is a
contrib/toolchaindirectory... but some further explanation would be very helpful. My development machines run both macOS and Linux.Hi, @Golffies
Not sure about GNU libraries.
To cross-compile app for KolibriOS, you can check my guide for compiling this ported game:
https://git.kolibrios.org/Burer/m4kc
For other apps algorithms is +- the same: get toolchain, get SDK, get all needed libs, build.
From my expirience most tricky parts are to set up toolchain + SDK properly, as it can vary for different distros, and to tweak actual app code to work properly in KOS.