Compiled com_demo with errors (JCB 5.1.1-alpha4 / Joomla 5.3.0) #1219
Reference in New Issue
Block a user
No description provided.
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?
Steps to reproduce the issue
I've nstalled JCB 5.1.1-apha4 in a new Joomla 5.3.0 and compiled the com_demo without any changes in the configuration of JCB or com_demo.
Expected result
com_demo installs and runs without errors
Actual result
Faced a cascade of errors.
-Then clicked on the com_demo dashboard, the next error was in the HtmlView.php: the attribute declaration was before the last 'use' declaration: https://prnt.sc/4vhBr3JjSdaR
System information (as much as possible)
Additional comments
I guess that is just a OS/PHP/Configuration thing on my end - any hints are welcome
I'm having the same problem, but only with Joomla 5.3.0. I have no problems compiling with JCB 5.1.1-apha4 und Joomla 5.2.5. The problem is in a fresh installation with Joomla 5.3.0.
Thanks @pctechnikch for your hint.
I'm new in the JCB world and thought it were good to start with the newest versions of both, JCB and Joomla.
Regards from Basel to Herisau ;-)
Hm....I have the same errors with Joomla! 5.2.6 and 5.2.5 and JCB 5.1.1-alpha4
Hello
Ich have the same problem with Joomla 5.3.0 and JCB 5.1.1-alpha4. I also tied on Laragon instet of XAMPP - the same issue.
Are there some solutions know?
Regards, Rachel
Hi, This issue is quite difficult for us to address, as all our testing and development teams operate exclusively on Linux — primarily Ubuntu Linux. JCB Core is also running on a Linux system.
Recently, I set up a fresh Joomla 5.3.0 instance using Octojoom, and installed the latest JCB version v5.1.1-alpha4. The demo component compiled and installed smoothly, and JCB functioned without issues, even with the backward compatibility plugin disabled.
Octojoom was designed specifically for Linux operating systems. While we have also successfully run it on macOS, we have not had success on Windows.
We sincerely apologize for any inconvenience this causes. In order to assist you further, we would need much more detailed information from your side. You will also need to investigate your system setup thoroughly and try to isolate any issues on your end.
JCB is the backbone of our internal and many client systems, and we are not encountering any of these issues in our environments. Therefore, we strongly recommend spinning up a temporary Linux system and testing your setup there.
In short, we will need further debugging from your end. We’re happy to help as much as we can, but we’ll need more input from you to proceed.
Hi
Since I like to stay with Windows and Wampserver and I should be able to debug the compiler process, I'll try to identify what causes this errors on Windows-Systems. Not least because JCB can benefit from this.
But as I have a lot of work at the moment I probably won't get round to it until the weekend.
@pctechnikch
As you've said that it works with J-5.2.5, are you also on Windows?
Okay, I don't quite understand why it's important to know which platform JCB works on and which it doesn't. Isn't it the case that if Joomla runs on a platform, then all available extensions will work as well? I've never encountered a case where extensions were incompatible due to the platform.
I have the problem mentioned on a WAMP. The problem isn't apparent on a Virtualmin system. But WAMP is the most widely used platform under Windows. JCB is an exception when it doesn't run correctly.
Yes, there are also people who use Windows and not Linux as their operating system. And I think that's the majority.
JCB is a milestone for me in the history of Joomla. It's one of the best things there is for programming extensions, so:
I hope JCB will run on all platforms that Joomla runs on in the future. (Sorry my English)
Hi everyone – thanks for taking the time to test JCB 5.1.1-alpha4 and for opening detailed reports.
Current project reality
That is where all automated tests run and where the core team works day-to-day.
The duplicate-class / misplaced
use
statements you’re seeing are real, but they don’t appear on the Linux stack we use.We’re not opposed to Windows support – we just need help
If Windows is important for you or your clients, you can move things forward in several ways:
Short-term workaround
If you need to work on Windows today, consider running JCB in:
Both routes avoid the class-name / autoloading edge-cases that crop up on classic WAMP stacks.
Open source thrives on shared effort.
If Windows support matters to you, we warmly invite you to contribute code, docs, or a few coffees’ worth of funding. We’ll gladly partner with anyone who steps forward.
Thank you for understanding – and for helping JCB grow!
Just a side comment/user-experience note here about JCB on Windows.
I used to use Windows/WAMP for JCB (for several years).
I was running into problems like this (but different) every once in a while.
Llewellyn would point out that JCB is developed on Linux (Ubuntu specifically) and encourage me (and everyone) to use that.
I resisted for a LONG time - because I just couldn't justify the time to switch operating systems.
I tried the WSL path and docker on Windows - it was hard to get working and never really worked properly.
I also tried developing on a remote Linode server, but had issues with remote debugging.
Then, with Win10's end of life looming, knowing I didn't want to go to Win11 (for security reasons), I decided now was the time to switch (which actually happened October 2024).
Of course, I didn't do the obvious (like Llewellyn suggests) and go with Ubuntu, I tried Fedora and several other distros.
After trying to get JCB to work on each, and having issues, I finally decided I would give Ubuntu (Kubuntu specifically) a try and also Octojoom.
I should have listened to Llewellyn years ago and just moved then.
Octojoom makes spinning up a new Joomla instance locally a 2-3 minute process. Just a few clicks and it's all ready to go. I can even replicate existing systems using Akeeba backup restores.
And the JCB compile time is about 1/4 the time that it took on WAMP. That time savings along was worth the migration.
And I am now no longer trying to figure out problems with JCB and the OS, but only with problems with my own code (which are enough to keep me busy :-) ).
As to your question about if Joomla runs on Windows shouldn't the extensions ... well, I've had a number of extensions over the years that caused problems on WAMP. And, although there was a time when Joomla was supported by Microsoft and there was more focus on Windows server hosting, that support ended a while ago and most development focus by extensions (from my discussions with extension developers) is focused on Linux hosts. If you are writing a very basic module or plugin, it shouldn't matter, but JCB is a LOT more than that.
Bottom line, I would personally encourage you to consider moving to Linux for your daily driver OS. There is a bit of a set-up process (esp. if you migrate an existing Windows machine), but it is SO much more stable than Windows and you get to control everything. And the 1-2 minutes you save each time you need to compile in JCB will be worth the effort.
And if you're interested in details (distro, apps, configs, etc.) to get your new Linux system working well for Joomla/JCB development, maybe open a new ticket here and I and others can share our learning experiences.
Hello
For me, Linux is not acceptable. I have such a lot of programs, that work well on Windows and I do not have the time and the nervs to set up everything new - with all the problems, that will appear with a new system.
If you du not offer JCB for Windows, its OK for me. I do not have the right to force or blame you. But please inform us, whether it works on Windows or not. Is it a temporary issue or is JCB just not running on Windows. So I can arrange myself und try other solutions (that are not so good like JCB - but running on Windows).
Thank you, Rachel
I would like to help with giving more detail, but unfortunately, I do not understand exaktly, what you want. I'm not a programmer. I learned PHP by myself and I do not habe a developer-system. Sorry.
For those of you who do not have a Linux system at their disposal, I'm happy to share some of the webspace we have. We run a large grid of Linux servers and fellow developers and JCB users/developers are welcome to use it for development and testing purposes. Please feel free to contact me at erik@mastersofmedia.nl for more details.
First of all, I want to sincerely thank you for your continued interest in JCB and for using it within your own development workflow. I understand you’re encountering challenges running JCB on Windows, and I completely empathize with your frustration. I want to take a moment to offer some background and explain our current position in the most respectful and transparent way possible.
JCB was originally adapted to support Windows, thanks in large part to one of our core developers at the time, Marco Dings. Marco was a dedicated Windows user and consistently helped us shape cross-platform compatibility. Unfortunately, since his passing, we have not had an active Windows-based developer on the core team to carry that mantle forward.
The reality is that our entire infrastructure is now built on Ubuntu Linux, and we no longer run any Windows systems internally, not out of disregard, but purely out of practical and resource-driven reasons. Like many others, I too was once deeply tied to Windows (primarily due to applications like those from Adobe), but I eventually transitioned fully to Ubuntu, and it has since become our standard environment.
JCB has always been a tool we developed to streamline our own workflow and to rapidly build secure, scalable Joomla applications. It was born out of necessity, not as a commercial product. We’ve made it freely available in the spirit of sharing our success with the broader Joomla community. If you were to count the development hours invested into JCB, it would add up to a multi-million-dollar application. It’s powerful, complex, and evolving constantly—but it’s still very much shaped by our internal needs.
That being said, we’ve never intended to exclude Windows support. We do want JCB to work on Windows, and we have in the past made adjustments to accommodate it. However, as Windows has evolved, new issues have emerged, and without an in-house Windows developer, we’re unable to replicate or debug these problems ourselves.
We simply lack the time and resources to take on this area ourselves right now. When Windows-specific issues are reported, we often find ourselves at a dead end—not because we don’t care, but because we can’t reproduce the environment to test or fix the issue.
A specific area that’s been raised multiple times is the placement of class use statements in the generated code. These are currently handled through complex regex operations, and while we know this could be redesigned, doing so would require a dedicated week or more of development time—something that is costly for our small team focused on Linux-first needs.
So here’s the crux of the matter:
We need an advanced PHP developer who actively uses Windows and is willing to take ownership of these issues. Someone who can investigate, debug, and propose code changes that would restore and maintain Windows compatibility. We are open to integrating such contributions. JCB is modular and containerized, which means adapting or swapping out certain OS-dependent classes is very feasible. But we need the right person to champion this.
I deeply appreciate the space that @EvDoorne offered to support collaborative development. That kind of generosity is exactly what keeps open-source alive and thriving. We would absolutely welcome contributions from any Windows-based developer willing to take this on. If such support emerges, I’m confident we can get JCB running smoothly on Windows again.
In the meantime, I hope this gives you a clearer understanding of where things stand. It’s not that we don’t care—it’s just a matter of bandwidth and practical limitations. And it’s always been our intention to remain transparent and supportive where we can.
Thank you again for your understanding and for being part of the JCB community.
For those who can't part with windows, like me, I'll tell you what I did.
On a laptop I installed VirtualBox, then I installed Ubuntu in this virtualBox.
Then I was able to follow Llewellyn instructions in the tutorial on how to install Octojoom with docker and portainer.
Then I was able to do port forwarding from portainer for all my projects, I also added an ftp in docker to be able to connect to my projects with any IDE.
Now my laptop is like a server, I open it and use my desktop to connect and work, if I leave home, I just take my laptop with me and work directly on it.