Disappointed with Haiku

how are you posting

and are you enjoying ms paint, works and solitaire

ok so package management and dependency solving are meant to cut down on bloat. you don’t get much in the way of dependencies on windows systems because, aside from like directx and .net everything comes packaged with the libraries it needs. so, you’re downloading the same libraries multiple times, having multiple copies hanging out on your system, bloating up the whole works. dependency checks cut down the cost of running and maintaining the system, and also the costs of hosting and distributing software (whether that’s online or offline distribution doesn’t matter, space and bandwidth are space and bandwidth).

it’s not without drawbacks in any system, even POSIX-compliant ones like haiku, gnu/linux or osx but considering the versatility of libraries (and the number of copies of multiple libraries you could have as a result) outweighs the inconvenience of (by this point, mostly automated, fast even on dial-up) dependency resolving.

and i won’t pretend for another second windows hasn’t had the same problem (and, without package management and automated dependency resolving, so very much worse) when .DLL hell is so very well known by anyone who’s lived in a windows system for a significant amount of time.

1 Like

Hey miqlas is there a bug report for it?

Yes I’ve installed Haiku, many times. And I’m aware that included applications like StyledEdit work out of the box. Great. If that were the metric for usability, then Linux would have taken over the desktop a long time ago. It’s when you want to customize something or install new applications that usability becomes an issue.

And here we have a difference: In Windows 7, a big foreign application like Krita, with lots of libraries, can be transferred and installed to the system, offline, by putting one installer file on a USB stick. And once an application is installed, if you installed it on a separate partition, you can in a lot of cases even reinstall Windows and the application will still work. In Linux, BSD and Haiku we currently can’t do that.

Two workarounds have been proposed. Workaround one:

  • Bring up the command line
  • Run a local http server to basically trick the OS into thinking you have internet
  • Store hundreds of gigabytes of software locally, most of which you don’t intend to install

Workaround two:

  • Attempt to install the application and get a dependency error
  • Gather every dependency manually (could be a dozen), one by one
  • Repeat for every application you want to install

I don’t see how anyone can look at this and not think that installing software on Haiku without internet is significantly more involved than it is on Windows 7.

I’m posting from Linux, on the only device that I allow to go online. I use this Linux install solely for internet-related tasks. Every other device and every other OS install, whether it’s for work, movies or gaming, is normally offline because there is no reason to connect them to the internet.

I don’t think Windows applications are significantly more bloated because of dependencies. Keep in mind that when you host a Windows build of an application, you can customize the libraries to only include the features you need. So those DLLs are smaller than the full dependencies you would get on Unix or Haiku. Maybe if you compare them side by side, all the Windows applications together will need more space, but it’s not really that bad. Not to mention you can store the applications anywhere you want, while on Unix or Haiku all applications have to be stored on the same partition.

Also, if you’re hosting a Haiku application, you will have to host the dependencies in your repository as well. Or, you’ll put it in one of Haiku’s official repositories, but then you just move the hosting costs to the Haiku team instead.

Ofc there are other solutions too, for example:

  • build everything statically and then it will be portable.
  • create a folder like “MyProgram”, put your executable here, and all the dependency libs in a “lib” subfolder, you can even strip the debug infos to make them smaller.

Yep, Krita works as you told on Windows. You can even get a portable version where no install required.

You can accomplish the same on Haiku too with the mentioned workarounds.

create a folder like “MyProgram”, put your executable here, and all the dependency libs in a “lib” subfolder, you can even strip the debug infos to make them smaller.

This would be perfect. Is there a way for me to build an application with haikuporter like this without significantly modifying the recipe file?

  1. grab the main program package with all the dependency packages
  2. extract them with Expand-O-Matic
  3. grab the required files, put them in the “lib” subfolder
  4. PROFIT

Runnning the main executable in the terminal will tell you, what missing. Grab it, extract it, put it into the lib folder, try to run again, incrementally you will get all the deps.
BTW, you have to uninstall the dependencies, as the “bundle” still can use the system-wide available deps.

You just hacked the system.

But even your solution requires that the user gather every dependency, which could be a dozen in the case of ported applications, manually, one by one. For every application.

It would at least allow me to store the application on another drive once the process is done though, which is a step forward.

This is really stupid. Of course windows binaries are much larger because they include all code static and sometimes even duplicated (if you want to avoid static-linkage hell). Try to static compile a large application on windows and you will know what static-linkage hell is. What happens is that applications bundle together DLLs into their installation directory. This bloats things up a lot. In the end you have multiple applications all bundling the same DLLs. If this is not bloating then I don’t know what bloating is (okay… maybe XCode under MacOS requiring like 5GB EVERY FUCKING UPDATE!!!)

Granted for my game engine I do the same. You can compile it to play along shared libraries (typical Linux installation) or a self-contained build (typical for Windows). But that’s simply because Windows totally sucks at dependency tracking.

2 Likes

I honestly don’t see the issue regarding space. What does it even matter if you have multiple copies of DLL files, which aren’t even big? The average DLL takes up between 50 and 500 KB. Massive software, like games, take up a lot of space because they have resources like textures and music. Never has the size of DLLs from outside software been a significant factor in why the user needs a bigger drive.

Talk to the original authors (not the HaikuPorts team), maybe they will do the bundling for you.

You really don’t know what you’re talking about right? Never used Windows really it seems. This discussion gets nowhere under these conditions: pthread_detach !

1 Like

this isn’t true of haiku and in its almost fifty years has never been true of unix.

this isn’t a thing you can measure. when it’s the same libraries, it’s the same libraries – they’re going to be the same size. when they’re different libraries, we’re talking apples to oranges.

apps distributed with statically linked libraries are going to be larger than those without, and that’s a very common practice with proprietary software. photoshop is larger than gimp and krita; premier than openshot.

no, you don’t. no one does this except with parts of an application suite. you only need a reference to fetch the dependency from a host or a mirror.

2 Likes

So what happened to Alex’s financial report? And when (if) this is done, what happens for likewise missing reports for 2011, 2012, 2013, 2014, 2015, 2016 ?

1 Like

Just curious, but why gnu/limerick ? Can you explain it a little?

A Limerick is a form of peom (like an Haiku).

The idea is that you could name the kernel “Limerick”, and then say Haiku GNU/Limerick, just like you say Debian GNU/Linux (Haiku is the name of the whole system, Limerick is the name of the kernel).

What RMS is angry about is calling the whole system Linux, when Linux is just the kernel (admittedly an important part of the system, but clearly not the only one). However, there is more to Haiku (and Debian) than just the kernel and GNU software, so wether this naming is actually right remains open. Calling Debian a GNU/GNOME/systemd/…/Linux/ system can get boring quickly!

2 Likes

For me the situation is stinking. They are required to fill paper at each year end with the company balance since this is required by law.

That means, each year they did actually put passive and positive voices in the balance. The financial report is probably something more detailed, but why they don’t publish it at least?

Haiku Inc. is rather obscure, both management and decisions are made in an obscure way. We don’t know really how funds are managed and I am not going to trust them more.

Your reasoning makes sense, but what I trust more than paperwork is actual results. There’s constant progress showing on several fronts, which is what most people actually care for. Not that we should ignore what happens with the money people donated to Haiku, but I’d be happy if there would be enough money for this project to have at least 5 full-time paid developers doing more work.

Unfortunately, we’re not even close to that kind of funding. That’s why I also care more about what gets done, instead of the paperwork.

2 Likes

Thank you :slight_smile: