Doom monster
Register | User Profile | Member List | F.A.Q | Privacy Policy | New Blog | Search Forums | Forums Home
Doomworld Forums : Powered by vBulletin version 2.2.5 Doomworld Forums > Classic Doom > Source Ports > Source Ports and Windows 8
Pages (2): [1] 2 »  
Author
All times are GMT. The time now is 05:29. Post New Thread    Post A Reply
Zed
Forum Regular


Posts: 986
Registered: 10-11


Hello Doomworld.

After a long wait, I was finally able to put my hands on my new PC a couple of weeks ago. Now, Windows 8 (well, 8.1) has a slightly different interface (is that the correct word, "interface"?), but I could master it easily after a couple of days.

Now, one of the first things I did was copy my IWAD collection into my new HD. This is where problems began.

I installed (and ran) successfully Chocolate Doom, PrBoom+, ZDoom, Zandronum, GZDoom, Risen 3D and 3DGE, but for some reason Legacy won't work. It shows me this after I try to start it:



doomlegacy.exe - Error del sistema

El programa no puede iniciarse porque falta SDL_mixer.dll en el equipo. Intente reinstalar el programa para corregir este problema.

doomlegacy.exe - System error

The program can't start because SDL_mixer.dll is missing. Try re-installing the program to fix this problem.



First of all, I don't know what it means with re-install. I just downloaded and unzip, don't know if that counts as an "installation".

Second, in my Legacy folder there's a subfolder named SDL_mixer_1.2.8, which contains SDL_mixer.dll. So, I copied it and pasted in the main folder, and now the message is:

The program can't start because SDL.dll is missing. Try re-installing the program to fix this problem.

So, obviously I'm doing something wrong.

Third, I also wanted to give some other ports a try (especially jDoom and vaVoom, since there are a couple of wads designed for them that I would like to play), but seeing this problem, and considering they are old ports, I don't know if I should even bother in the first place.

I still have my other 3 computers (Windows 98, XP, and Vista), so if there's definitely no way to do it, I'll just do it in the old ones, so it's really no big deal, just wanted to know what to expect.

I appreciate any info you can provide.

Thanks in advance, and good day.

EDIT: Sorry, I forgot my system specifications:

Windows 8.1
Processor: AMD E1-2500 APU with Radeon(TM) HD Graphics 1.40 GHz
System: 64-bit, processor x64

Last edited by Zed on 05-17-14 at 06:42

Old Post 05-17-14 06:32 #
Zed is offline Profile || Blog || PM || Search || Add Buddy IP || Edit || Quote
Graf Zahl
Why don't I have a custom title by now?!


Posts: 7793
Registered: 01-03



Zed said:

The program can't start because SDL.dll is missing. Try re-installing the program to fix this problem.

So, obviously I'm doing something wrong.



I'm not so sure about that. If Legacy doesn't run out of the box I'd say that Legacy is doing something wrong!

Having the end user sort out the DLL dependencies is incredibly bad style!


Zed said:


Third, I also wanted to give some other ports a try (especially jDoom and vaVoom, since there are a couple of wads designed for them that I would like to play), but seeing this problem, and considering they are old ports, I don't know if I should even bother in the first place.




So, Legacy comes with a bad package. This doesn't mean that other ports do, too.

Old Post 05-17-14 08:38 #
Graf Zahl is offline Profile || Blog || PM || Email || Search || Add Buddy IP || Edit || Quote
DaniJ
Senior Member


Posts: 2148
Registered: 08-03


In what sense is "jDoom" an "old port"?? The newest version of Doomsday was released only a couple of days ago...

Old Post 05-17-14 09:04 #
DaniJ is offline Profile || Blog || PM || Search || Add Buddy IP || Edit || Quote
Zed
Forum Regular


Posts: 986
Registered: 10-11



Graf Zahl said:
I'm not so sure about that. If Legacy doesn't run out of the box I'd say that Legacy is doing something wrong!


I was thinking something like this. I mean, I got half a dozen source ports to work but Legacy won't? There must be something wrong with it. I considered asking in the Legacy forums, but that place is like a ghost town.


DaniJ said:
In what sense is "jDoom" an "old port"?? The newest version of Doomsday was released only a couple of days ago...


Oh, I wasn't aware that jDoom and Doomsday were the same port. Is good to know it, I'll give Doomsday a try and will tell you how it turned out.

Thanks for your replies, now I just want to know what's up with Legacy, and what to expect from vaVoom.

Old Post 05-17-14 09:24 #
Zed is offline Profile || Blog || PM || Search || Add Buddy IP || Edit || Quote
Vermil
Senior Member


Posts: 1746
Registered: 03-04


Before Doomsday, back in 1999, Skyjake made three separate ports, JDoom, JHeretic and JHeXen.

Rather than maintaining three separate ports with a lot of overlapping code, he merged them into one port, Doomsday.

However, some people, technically inaccurately, refer to Doomsday as 'JDoom' to this day.

Old Post 05-17-14 10:54 #
Vermil is offline Profile || Blog || PM || Email || Search || Add Buddy IP || Edit || Quote
Mike.Reiner
Senior Member


Posts: 1203
Registered: 01-05


I think I got Legacy 1.41B and 1.42 to run on Windows 8, but I had to use nvidia inspector to re-enable extension limits to get OpenGL mode to function without crashing the engine.

The more recent builds give me weird issues.

I keep 1.41B on life support because I think the bots are fun in death match. :P


Zed said:
Oh, I wasn't aware that jDoom and Doomsday were the same port.


In my mind I'll probably never stop calling Doomsday JDoom, lol.

Give it a try, it's a very different feeling but cool engine.

Old Post 05-17-14 16:20 #
Mike.Reiner is offline Profile || Blog || PM || Search || Add Buddy IP || Edit || Quote
wesleyjohnson
Senior Member


Posts: 1068
Registered: 04-09


DoomLegacy 1.45 binaries have been sent out, but have not got to the SourceForge download page yet. A README in 1.45 has been improved to explain this better, in one more place. The other explanation is in the html docs, installation section.

It sounds like a download of alpha4, or alpha5.

Doom Legacy 1.45 SDL version requires that SDL libraries be installed first. In the case you do not have SDL installed already, some libraries are provided, for some binary packages.

I put them in a separate directory so that they do not overwrite any other SDL files you may already have installed. The SDL libraries provided in the binary are not the latest files, they are the libraries used to compile and test. The directories indicate what version of SDL they are from, so the user knows whether their current version is newer or older.

SDL is a requirement for Doom Legacy. The user is expected to install SDL first and are expected to have a newer SDL version installed than those provided in some binary packages.

Older SDL libraries may be buggy on some systems. The user may have an improved version.
SDL is getting common enough that I can expect that user may have installed a newer version. It is not appropriate to automatically dump an older version of SDL in place of the new version. This can make old SDL bugs come back. My most important rule of installation is to not mess up newer versions of support libraries.

Those messages are coming from Windows8, where they think that every program comes with an installer.

DoomLegacy is developed on Linux. The team no longer has any active members that use Windows, so the Windows version is whatever we can compile on whatever we can manage. I have an old win98 machine. Another member has Wine on Linux.
There is no chance I am going to try to make a windows installer.

Last edited by wesleyjohnson on 05-17-14 at 17:02

Old Post 05-17-14 16:46 #
wesleyjohnson is offline Profile || Blog || PM || Search || Add Buddy IP || Edit || Quote
Mike.Reiner
Senior Member


Posts: 1203
Registered: 01-05


I think as far as Windows builds go you might as well just put the tested libraries into the Windows binaries and be done with it, as that is standard practice for other SDL based engines (and doesn't require you to bother with a Windows installer, which most engines don't have anyway).

In Windows whenever a program makes a call for a library it tends to check the working directory before moving on to System32, so even if you include your library in the program's directory it will not overwrite the properly installed one, it just won't use it as the provided one will take precedence.

I don't think many people actually install the SDL libraries directly on Windows for Doom engines.

I know that's bizarre practice compared to Linux where users are expected to just install the libraries and be done with it, but you'll find the majority of people who download a Doom engine on Windows and run it just to see an error about a missing file is going to just write off the engine and move on.

For reference I have about 7 Doom related programs on Windows that all run on SDL and they all use their own libraries in their respective directories. Probably not efficient, but it keeps my Doom installation portable; no need to install stuff if I just plug my flash drive into another Windows PC to play some Doom.

Last edited by Mike.Reiner on 05-17-14 at 17:23

Old Post 05-17-14 17:18 #
Mike.Reiner is offline Profile || Blog || PM || Search || Add Buddy IP || Edit || Quote
Zed
Forum Regular


Posts: 986
Registered: 10-11


@wesleyjohnson & Mike.Reiner:

Thanks for the explanation, but unfortunately, I'm an idiot and I still don't know what to do. For example, I have no idea of what is a SDL library.

Could you explain it to me like if you were saying it to a 5 year old?

Thanks for your replies.

Old Post 05-18-14 05:59 #
Zed is offline Profile || Blog || PM || Search || Add Buddy IP || Edit || Quote
Mike.Reiner
Senior Member


Posts: 1203
Registered: 01-05


After you unzip the Doom Legacy alpha zip, take everything from those two SDL folders and put them into the folder above them (The same folder doomlegacy.exe is in).

Old Post 05-18-14 07:53 #
Mike.Reiner is offline Profile || Blog || PM || Search || Add Buddy IP || Edit || Quote
wesleyjohnson
Senior Member


Posts: 1068
Registered: 04-09


A Library is an addition to the Operating System that provides a service.

Direct-X is a Library that provides game speed rendering and game control interfaces to any game that wants to use it.
SDL is another Library that provides game speed rendering and game control interfaces to any game that wants to use it.

Doom Legacy SDL version requires that the machine have the SDL library installed. This is the recommended version, and the design target.

The problems with SDL libraries are severe enough that I will not risk DoomLegacy getting blamed for SDL bugs. DoomLegacy using old SDL library copies, when the user has installed a newer version, makes DoomLegacy look like the cause, and users will not diagnose this correctly. The install README for 1.45 makes this much more explicit, for those who expect drop and play behavior.

SDL libraries are a Requirement, not something that is automatically installed for the user. Any SDL run-time libraries that you find in the DoomLegacy distribution are like those directories on the game CDROM that had an old version of Direct-X, in case you did not have a new enough version for the game.

The Windows OS searches for the libraries as they are encountered.
Where Windows wants them is something that I cannot make a blanket statement about, as the latest version of windows that I have for Doom work is Win98. Putting them in the same directory as the doomlegacy binary usually works, although newer versions of Windows may change that too.

A proper installation of SDL according to the instructions from the developers of SDL, is what is recommended. They are much better at solving the vagaries of Windows versions.

The SDL developers will deal with SDL bugs by releasing newer versions of SDL. They may even get around that Windows music mixer problem. The user will install these newer versions of SDL as they choose. Doom Legacy takes the approach of adapting to the version of SDL encountered, and not chaining the user to the SDL version that was around when it was released.

There is also a Doom Legacy WinNative version that uses Direct-X but I cannot verify it because my alternative Direct-X headers are causing run-time library crashes.
Someone with better Direct-X headers may have better luck.

Last edited by wesleyjohnson on 05-18-14 at 21:01

Old Post 05-18-14 20:29 #
wesleyjohnson is offline Profile || Blog || PM || Search || Add Buddy IP || Edit || Quote
Graf Zahl
Why don't I have a custom title by now?!


Posts: 7793
Registered: 01-03


A lot of words missing the forest for the trees.
As has been said before 'installing' libraries is not recommended in this case. SDL has absolutely no place in some common directory and cause trouble for other applications. Especially recommendations like 'put it into your 'Windows\System' directory are better forgotten immediately. That may have been acceptable when Windows XP was new but these days it's just an invitation for trouble.

Just put it alongside your .EXE in your zip in the same directory, save the wall of words and be done with it - just like most other ports do with their dependencies. GZDoom has been distributing FMOD like this for 9 years and I never even once got a report that a user was unable to install it.

The way you are doing it will not generate confidence among your users, only confuse people.

Also, to be clear about it: DirectX is not a library, it's an installable system component. Of course it requires a very different setup than a small self contained library like SDL.

Old Post 05-18-14 21:19 #
Graf Zahl is offline Profile || Blog || PM || Email || Search || Add Buddy IP || Edit || Quote
chungy
Senior Member


Posts: 1918
Registered: 06-05


Wesley is trying too hard to pretend that Windows is like Linux. In Linux Land, you install SDL into a location like /usr/lib (your package manager usually does this for you) and be done with it for all SDL applications. Library bugs can get fixed, security exploits repaired, and all the applications depending on it don't need to be recompiled or redownloaded to benefit from such...

Now, the shocking words: Windows is not Linux. Back in the Windows 3.x and Windows 9x days, developers treated C:\WINDOWS\SYSTEM as the equivalent, and Microsoft was somewhat responsible for encouraging it. What happened was DLL Hell, where certain libraries or programs were sensitive to version exactness and having the wrong mismatches would cause programs to not work or even worse, crash (whether themselves or the whole operating system -- yes, it was that fragile back then). When Windows 2000 and XP started to replace 9x, this practice was discouraged and by Windows Vista, WinSxS was invented to mitigate the technical negative effects and you can't write to the system directory at all without turning off some security features (and file system ACLs) that nobody in their right mind should ever mess with.

Long story short: Windows is not Linux. Stop pretending that it is and include your DLLs along side the EXEs. No complicated install procedures and no compromising the OS's security and stability, as well. If you want people to run a better OS, then oh well. Your responsibility to your Windows users is to make the setup process as simple as possible and as safe as possible.

Old Post 05-18-14 22:39 #
chungy is offline Profile || Blog || PM || Email || Search || Add Buddy IP || Edit || Quote
Graf Zahl
Why don't I have a custom title by now?!


Posts: 7793
Registered: 01-03



chungy said:
Wesley is trying too hard to pretend that Windows is like Linux. In Linux Land, you install SDL into a location like /usr/lib (your package manager usually does this for you) and be done with it for all SDL applications. Library bugs can get fixed, security exploits repaired, and all the applications depending on it don't need to be recompiled or redownloaded to benefit from such...


I think it's debatable what approach is better. At least with each application having its DLLs in the same directory prevents any kind of cross pollution. And please don't tell me that version incompatible libraries do not exist on Linux. Linux developers are no more perfect than Windows developers so the same mistakes can be made.


chungy said:
If you want people to run a better OS, then oh well



Oh, please! Now who is biased here?

Old Post 05-18-14 22:54 #
Graf Zahl is offline Profile || Blog || PM || Email || Search || Add Buddy IP || Edit || Quote
Zed
Forum Regular


Posts: 986
Registered: 10-11


OK, so I tried what you said, and still didn't work. Then I started messing with the configuration and other stuff, and now it works (!?). I have no idea what I did, but thanks anyway for your replies, they were certainly very helpful.

Oh, and I can also run vaVoom :)

Thanks and good day.

EDIT: Doomsday also working. Thanks again.

Last edited by Zed on 05-19-14 at 04:32

Old Post 05-19-14 01:16 #
Zed is offline Profile || Blog || PM || Search || Add Buddy IP || Edit || Quote
wesleyjohnson
Senior Member


Posts: 1068
Registered: 04-09


Glad that you got it working. Don't know what problem you had as "didn't work" is not a useful diagnostic.

I am disgusted with these other extraneous comments. Please stop with the imaginings of what you think I am doing in the Doom Legacy distribution. It is nothing different than a large number of other Windows games.

Trying to install to Windows like it was Linux? I keep referring to all those Windows games on CDROM that also provided a courtesy copy of Direct-X. Please stop imagining strange things.

SDL is Required. The safest thing is for the User to get the latest SDL and install it according to the SDL developers instructions. Please ignore those SDL library files (provided only as a courtesy) if you cannot cope with them. It is likely that I will not provide them in future releases.

An OpenGL library is also required. The user must get OpenGL for their video card and install it according to instructions.

A mouse and sound card are also required. Unlike some previous Windows games, Doom Legacy does not provide courtesy software for those.

The reason I do not have ZDoom on my machine is because of the REQUIRED FMOD library that I cannot get.

Direct-X has library headers, and is installed like a library, has versions like a library, is optional like a library. That the Microsoft OS installs like a component is only distribution. Such noxious commenting has nothing to do with the posted question. SDL is just like Direct-X as far as the game installation and I do not care at all about anything else in answering the question posted. I have plenty of Windows games that came with a Direct-X directory on the CDROM.

Old Post 05-19-14 21:18 #
wesleyjohnson is offline Profile || Blog || PM || Search || Add Buddy IP || Edit || Quote
Graf Zahl
Why don't I have a custom title by now?!


Posts: 7793
Registered: 01-03



wesleyjohnson said:
I am disgusted with these comments. Please stop with the imaginings of what you think I am doing in the Doom Legacy distribution. It is nothing different than a large number of other Windows games.




Yes, it is. Other games are complete, complex packages that need to ensure that everything is in order to work.

All you have is a tiny distribution with an executable, a few DLLs and data files. Also keep in mind that people coming here are not they typical idiot user. Most source ports come without installers and none of them have any problems with users getting things set up.




wesleyjohnson said:
Trying to install to Windows like it was Linux? I keep referring to all those Windows games on CDROM that also provided a courtesy copy of Direct-X. Please stop imagining strange things.



Yes, but remember when that was? It has been a long time since games had a DirectX redistributable with them.


wesleyjohnson said:
SDL is Required. The safest thing is for the User to get the latest SDL and install it according to the SDL developers instructions. Please ignore those SDL library files (provided only as a courtesy) if you cannot cope with them. It is likely that I will not provide them in future releases.
[/B]



Argh! Now that's really being ignorant towards your users. Congratulartions for shooting yourself thoroughly in the foot!
I know that you are primarily a Linux user so some lack of knowledge about how Windows users needs to be accepted. But remember a few things:

1. You want to make using your port as simple as possible.
2. You do not want to burden your users with installing some baggage they do not comprehend.
3. You want to ensure that you distribure a WORKING copy of your engine.

In this particular case, all you need to do is do put Legacy.exe, SDL.dll, SDL-Mixer.dll and your data files in a Zip and be done with it. You DO NOT want to have your users hunt for SDL. You do NOT EVEN WANT to have your users INSTALL SDL! (Huh? This engine wants me to INSTALL some other stuff? Away with it!)

Furthermore, consider SDL a volatile library. Ship it with the one version you built against, no other! People will be nagging YOU, not the SDL developers if things go wrong.



wesleyjohnson said:
An OpenGL library is also required. The user must get OpenGL for their video card and install it according to instructions.
[/B]


... as should already have been the case when the graphics driver has been installed. It's really strange that you are making an issue out of such trivialities. As a developer of a GL-based source port myself I can tell you that the only time GL becomes an issue is if the user got such bad graphics hardware that it's simply not compatible,


wesleyjohnson said:
A mouse and sound card are also required. Unlike some previous Windows games, Doom Legacy does not provide courtesy software for those.
[/B]


WTF? Are you joking or are you really meaning this seriously? What do you thing Windows users are? Stone age troglodytes?



wesleyjohnson said:
The reason I do not have ZDoom on my machine is because of the REQUIRED FMOD library that I cannot get.
[/B]


What's making it impossible to get it?
If you are on Linux, thr links are right here, under 'Compiling on Linux':

http://zdoom.org/wiki/Compile_ZDoom_on_Linux#FMOD_Links



wesleyjohnson said:
Direct-X has library headers, and is installed like a library, has versions like a library, is optional like a library. That the Microsoft OS installs like a component is only distribution. There is no point at all to such noxious commenting. SDL is just like Direct-X as far as the game installation and I do not care at all about anything else in answering the question posted. I have plenty of Windows games that came with a Direct-X directory on the CDROM. [/B]



SO WHAT?
Completely irrelevant.

FMod is also a library, so are many, many other DLLs.
Most of these DLLs, though, unlike DirectX, are self contained and supposed to be distributed along with the executable. In only a very few cases there's a need for a 'runtime installer', and oftentimes such packages are ignored by developers because they create a major hassle with distribution. SDL is - read this carefully - NOT AMONG THOSE!!!


And please think about all this a bit - before feeling 'disgusted' again. If you want to get positive feedback on Windows, make sure that your port is easy to use. Legacy has been terminally ill for 10 years and it will be hard anyway to get out of that. Don't make it harder than necessary by shrugging off criticism in such a condecending manner.

Old Post 05-19-14 21:48 #
Graf Zahl is offline Profile || Blog || PM || Email || Search || Add Buddy IP || Edit || Quote
chungy
Senior Member


Posts: 1918
Registered: 06-05



wesleyjohnson said:
SDL is Required. The safest thing is for the User to get the latest SDL and install it according to the SDL developers instructions.

SDL has no installation procedure for Windows. You're supposed to put it right next to the EXE.

Old Post 05-19-14 22:14 #
chungy is offline Profile || Blog || PM || Email || Search || Add Buddy IP || Edit || Quote
Quasar
Moderator


Posts: 6173
Registered: 08-00


Not to mention using a different version of SDL than the one the port was linked and tested against has caused problems in the past. This is why each release of Eternity includes the version of SDL against which it is validated to work.

Old Post 05-20-14 16:50 #
Quasar is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit || Quote
fraggle
Filled with the code of Doom


Posts: 7829
Registered: 07-00



wesleyjohnson said:
SDL is Required. The safest thing is for the User to get the latest SDL and install it according to the SDL developers instructions. Please ignore those SDL library files (provided only as a courtesy) if you cannot cope with them. It is likely that I will not provide them in future releases.
Sounds like the last nail in the coffin of Doom Legacy then. It's been a long time coming.

It's rather bizarre seeing you bend over backwards trying to rationalise making it as difficult and frustrating as possible for your users to install.

Old Post 05-20-14 17:00 #
fraggle is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit || Quote
RjY
anARCHy


Posts: 987
Registered: 05-02



fraggle said:
It's rather bizarre seeing you bend over backwards trying to rationalise making it as difficult and frustrating as possible for your users to install.
If wesleyjohnson only has win98 then neither those DLLs nor the windows build of legacy is going to get developer-tested on anything newer. In that case, it could be argued it's more of a disservice to users to claim windows is still supported when the project's current sole developer doesn't use or even have access to (most common and/or non-obsolete versions of) it.

I think a better course of action would be to put out a call for volunteers to maintain the windows port otherwise support for it will have to be regretfully dropped. If no one steps up, well, no big loss because evidently there were no users left, and you can drop the whole windows release, not just the support libraries. :-)

Seriously though it's a difficult situation, I don't think there are any easy answers.

Old Post 05-23-14 19:03 #
RjY is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit || Quote
Mike.Reiner
Senior Member


Posts: 1203
Registered: 01-05



RjY said:
Seriously though it's a difficult situation, I don't think there are any easy answers.


Literally all we are asking is that the developer just put the .dlls in the same folder as the executable. That's it. He's caught up thinking that SDL is a library that should be installed like directx or something.

I looked up the instructions that he advised users to follow when downloading SDL. Check it out.

SDL2-2.0.3-win32-x86.zip contains two files:
README-SDL.txt and SDL2.dll

Here are the contents of the readme:

code:
Please distribute this file with the SDL runtime environment: The Simple DirectMedia Layer (SDL for short) is a cross-platform library designed to make it easy to write multi-media software, such as games and emulators. The Simple DirectMedia Layer library source code is available from: http://www.libsdl.org/ This library is distributed under the terms of the zlib license: http://www.zlib.net/zlib_license.html

Not helpful to an end user. Obviously meant for developers.

It's the exact same information in SDL-1.2.15-win32.zip, the file containing the 1.2 dll.

The wiki on their site talks about how to use the various features.

And I don't even know where the hell sdl_mixer is on the site.

http://www.libsdl.org/

A user would be reduced to Google searching each dll the executable complains about and manually putting them in the game's folder.. assuming they knew to do this.

Old Post 05-23-14 19:25 #
Mike.Reiner is offline Profile || Blog || PM || Search || Add Buddy IP || Edit || Quote
Quasar
Moderator


Posts: 6173
Registered: 08-00



Mike.Reiner said:
A user would be reduced to Google searching each dll the executable complains about and manually putting them in the game's folder.. assuming they knew to do this.

Which is extremely dangerous to do these days. Hey, here's a DLL! It's not any sort of malware, spyware, etc., we promise!

Old Post 05-23-14 21:50 #
Quasar is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit || Quote
Mike.Reiner
Senior Member


Posts: 1203
Registered: 01-05


Oh god I didn't even think of that.. That's horrible.

Old Post 05-23-14 22:32 #
Mike.Reiner is offline Profile || Blog || PM || Search || Add Buddy IP || Edit || Quote
printz
CRAZY DUMB ZEALOT


Posts: 8907
Registered: 06-06



Graf Zahl said:

I think it's debatable what approach is better. At least with each application having its DLLs in the same directory prevents any kind of cross pollution. And please don't tell me that version incompatible libraries do not exist on Linux. Linux developers are no more perfect than Windows developers so the same mistakes can be made.

I guess Linux programs being open source, as well as most of the installation process being curated by distro operators, allows better transparency on how libraries should be categorized, to avoid clashes and incompatibilities.

Software for Windows or OSX meanwhile is largely closed-source and made by arrogant companies who'd rather plaster their brand on everything, including the setup. And besides that, there are a lot more users, and they're not the Linux kind who know how to operate their OS in case of a failure (offtopic: while Linux is like a car that needs service if it gets damaged, Windows is like a living self-healing organism).

Such "arrogant" companies porting their apps (usually from the technical sector) to Linux too, they have a totally different installation procedure than the package-manager norm. Usually some binary executable, or Java-based installer, or even some optimized Wine app, installed god knows where (probably into /opt/, or just the /home/USER/ area)

</sleepy post>

__________________
Automatic Wolfenstein - Version 1.0 - also on Android

Old Post 05-24-14 00:29 #
printz is offline Profile || Blog || PM || Homepage || Search || Add Buddy IP || Edit || Quote
Zed
Forum Regular


Posts: 986
Registered: 10-11


Just wanted to say that I downloaded the latest Doom Legacy (1.45), which unlike the last version (1.44 alpha 5), is not zipped, but rather an executable. So, I double-click, hit "I Accept", "Next", etc. when required, and voilá. Works perfectly without any complication (no need to copy dll's, etc.), which makes me a happy guy.

Again, thanks for your comments.

Old Post 05-24-14 02:38 #
Zed is offline Profile || Blog || PM || Search || Add Buddy IP || Edit || Quote
FireFish
Evil Member


Posts: 666
Registered: 04-13



Graf Zahl said:
And please don't tell me that version incompatible libraries do not exist on Linux.


Every OS on the planet has its problems and do note that LINUX based operating systems can be as easy to use as windows if needed. This is just an example.

1 : dependency hell.
Not being able to install the correct packages because the versions
do not match, or just because of the the high rate of changes in the entire linux systems. If you are unprepared for it, and force a wrong version to be installed the true hell might start.

2 : the fast rate of updating and changing the systems.
Try to install some software from 6 years ago in the major up to date distributions and you will already encounter many needing re-programing because their package needs are already to old...

Old Post 05-24-14 06:23 #
FireFish is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit || Quote
Ladna
Member


Posts: 317
Registered: 04-10


Just statically link the libraries. It's not that hard (https://github.com/camgunz/mingw64-builds).

Old Post 05-30-14 21:44 #
Ladna is offline Profile || Blog || PM || Email || Search || Add Buddy IP || Edit || Quote
MP2E
Junior Member


Posts: 165
Registered: 09-07



Ladna said:
Just statically link the libraries. It's not that hard (https://github.com/camgunz/mingw64-builds).

I second this. MinGW-w64 is the most stable and featureful compiler suite for Windows, x86 or x86_64. With MSYS it is easy to create a fully static set of libraries by compiling each dependency with configure options "--enable-static --disable-shared". Bam. For further greatness, when you are linking your program add the following flags to the linker flags: -static-libgcc -static-libstdc++

Enjoy fully static executables. I like to follow this up by using "strip -s exename" and then use UPX to compress the executable. These steps make for very small builds that are easy to use.

MinGW-w64 is really easy to use now, too. Download a compiler package and MSYS from their website and put them in a folder. Add MinGW's bin folder to your PATH under environment variables and run msys.bat. To compile, use:

./configure --prefix=/c/Users/Blah/MinGW --disable-shared --enable-static
make
make install

Magic.

Old Post 05-31-14 08:12 #
MP2E is offline Profile || Blog || PM || Email || Search || Add Buddy IP || Edit || Quote
Graf Zahl
Why don't I have a custom title by now?!


Posts: 7793
Registered: 01-03



MP2E said:

I second this. MinGW-w64 is the most stable and featureful compiler suite for Windows, x86 or x86_64.




I have never heard a more nonsensical statement about Windows compilers EVER.

Hell, GCC doesn't even properly support Windows exceptions, so how can you consider it 'most featureful' and 'most stable'? This is an essential feature, yet the compiler cannot handle it.

And I won't even go into debugging...

I don't think many people developing for Windows use it, aside from cross compiling Linux people.

There's no magic here, only horror. Windows developers are used to better, more productive packages.



About statically linking such code, I'm not sold on it. Under Windows it's common practice to distribute DLLs along with an executable, so ultimately there's nothing gained from it.

Old Post 05-31-14 09:38 #
Graf Zahl is offline Profile || Blog || PM || Email || Search || Add Buddy IP || Edit || Quote
All times are GMT. The time now is 05:29. Post New Thread    Post A Reply
Pages (2): [1] 2 »  
Doomworld Forums : Powered by vBulletin version 2.2.5 Doomworld Forums > Classic Doom > Source Ports > Source Ports and Windows 8

Show Printable Version | Email this Page | Subscribe to this Thread

 

Forum Rules:
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is OFF
vB code is ON
Smilies are OFF
[IMG] code is ON
 

< Contact Us - Doomworld >

Powered by: vBulletin Version 2.2.5
Copyright ©2000, 2001, Jelsoft Enterprises Limited.