Cyberdemon
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 > Problem building Chocolate Doom with cygwin on WinXP
Pages (2): [1] 2 »  
Author
All times are GMT. The time now is 16:18. Post New Thread    Post A Reply
Porsche Monty
Member


Posts: 454
Registered: 06-10


I finally got cygwin to compile Chocolate Doom (latest svn) but somehow the binaries (or dll's?) ended up broken.

Besides the exe's and dll's being a lot larger than the official builds', chocolate-doom.exe crashes on startup with "Failed to initialize video: No available video device" while chocolate-setup.exe doesn't even seem to be running at all.

Here's a screenshot I took at the end of the building process:

http://i44.tinypic.com/25hmwwg.png

I'd have posted the log file but I don't even know which one it is.

Any help would be greatly appreciated.

Regards.

Old Post 10-30-11 07:09 #
Porsche Monty is offline Profile || Blog || PM || Search || Add Buddy IP || Edit || Quote
fraggle
Filled with the code of Doom


Posts: 7830
Registered: 07-00


Download the latest win32 release off the website, copy the SDL dlls into the src/ directory of your SVN checkout, it should then work.

Old Post 10-30-11 13:00 #
fraggle is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit || Quote
chungy
Senior Member


Posts: 1918
Registered: 06-05


Also, I imagine your EXEs and DLLs are a lot larger because they still have debugging information in them. You can use the strip command to make them smaller

Old Post 10-30-11 13:14 #
chungy is offline Profile || Blog || PM || Email || Search || Add Buddy IP || Edit || Quote
Porsche Monty
Member


Posts: 454
Registered: 06-10


@Frgglae: latest release of Chocolate Doom or some SDL package? also I have C:\cygwin\home\user\chocolate-doom with the "build", "install" and "packages" folders inside. Where exactly would they go?

For what it's worth, I'm using the unmodified "build-chocolate-doom" for this.

@chungy: I guess so, just didn't expect it to be on by default. I'll try that.

Thank you both for your help, I'm not anywhere near used to doing anything with cygwin at the moment.

Old Post 10-30-11 14:23 #
Porsche Monty is offline Profile || Blog || PM || Search || Add Buddy IP || Edit || Quote
fraggle
Filled with the code of Doom


Posts: 7830
Registered: 07-00


Sorry, I meant the latest release of Chocolate Doom. Just reuse the SDL dlls out of there.

Old Post 10-30-11 17:47 #
fraggle is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit || Quote
Porsche Monty
Member


Posts: 454
Registered: 06-10


Alright, just extracted the dlls' from chocolate-doom-1.6.0-win32.zip and placed them in a couple of src folders and that fixed it! however, the real reason I wanted to build CD myself is libsamplerate, which's being left out of the official builds for whatever reason.

Can you help me out with that?

Old Post 10-31-11 10:01 #
Porsche Monty is offline Profile || Blog || PM || Search || Add Buddy IP || Edit || Quote
boris
meow


Posts: 3634
Registered: 05-00


Just wondering, what's the reason you're not using something like cmake? That one seems to be tremendously popular for quite some time now.

Old Post 10-31-11 10:05 #
boris is offline Profile || Blog || PM || Search || Add Buddy IP || Edit || Quote
exp(x)


Posts: 2595
Registered: 04-04



Porsche Monty said:
Alright, just extracted the dlls' from chocolate-doom-1.6.0-win32.zip and placed them in a couple of src folders and that fixed it! however, the real reason I wanted to build CD myself is libsamplerate, which's being left out of the official builds for whatever reason.

Can you help me out with that?



I can include libsamplerate in my svn builds. I put together a test build with it here: http://web.engr.oregonstate.edu/~de...win32-r2471.zip

Can you test it and let me know if it has what you need? If so, I'll update my scripts.

Old Post 11-01-11 02:02 #
exp(x) is offline Profile || Blog || PM || Email || Search || Add Buddy IP || Edit || Quote
Porsche Monty
Member


Posts: 454
Registered: 06-10


Please do if you can, that's exactly what I needed, thank you so much! the difference between "use_libsamplerate 0" and "use_libsamplerate 5" is night and day.

Old Post 11-01-11 02:38 #
Porsche Monty is offline Profile || Blog || PM || Search || Add Buddy IP || Edit || Quote
exp(x)


Posts: 2595
Registered: 04-04


OK. My script is updated. I also had it regenerate v2 r2471 and replace the old zip (http://people.oregonstate.edu/~delb...-doom-v2-win32/).

Old Post 11-01-11 04:28 #
exp(x) is offline Profile || Blog || PM || Email || Search || Add Buddy IP || Edit || Quote
fraggle
Filled with the code of Doom


Posts: 7830
Registered: 07-00



boris said:
Just wondering, what's the reason you're not using something like cmake? That one seems to be tremendously popular for quite some time now.
I've answered this several times before: I have no plans to switch to a different build system.

The problem in this thread actually had nothing to do with the build system: the problem was the SDL libraries. A different build system would not have made any difference.

There may be a problem with the build script that builds the SDL libraries and sets up a working development environment, as it is apparently not generating working SDL libraries on Windows. Again, though: the build system used to build Chocolate Doom itself (autotools) had nothing to do with this, and using cmake would not have made the slightest bit of difference.

Old Post 11-02-11 12:17 #
fraggle is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit || Quote
Graf Zahl
Why don't I have a custom title by now?!


Posts: 7793
Registered: 01-03


autotools is still a major annoyance that may prevent many people from building Chocolate Doom.

Even if it works for you I consider it broken by default.

Old Post 11-02-11 14:36 #
Graf Zahl is offline Profile || Blog || PM || Email || Search || Add Buddy IP || Edit || Quote
fraggle
Filled with the code of Doom


Posts: 7830
Registered: 07-00


That's nice. When you take over maintaining Chocolate Doom from me, you're welcome to replace it with whatever build system you'd prefer.

Old Post 11-02-11 16:44 #
fraggle is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit || Quote
CODOR
Forum Regular


Posts: 844
Registered: 02-06



Graf Zahl said:
autotools is still a major annoyance that may prevent many people from building Chocolate Doom.
Agreed. Typing "./configure" requires twice as many keystrokes as "cmake".

Old Post 11-02-11 17:32 #
CODOR 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


If you get it to work, that is...

And there lies the big problem. CMake works perfectly fine on Windows whereas autoconf requires you to jump through hoops to persuade it to do its job.

I have never even once managed to get an autoconf-based project to compile.

Old Post 11-02-11 18:09 #
Graf Zahl is offline Profile || Blog || PM || Email || Search || Add Buddy IP || Edit || Quote
fraggle
Filled with the code of Doom


Posts: 7830
Registered: 07-00


I've never managed to get a CMake-based project to compile either. Not that I've ever tried.

The funny thing is that autotools isn't actually the difficult part. The choice of build tool is actually pretty much irrelevant. The difficult part, as demonstrated by this thread, is getting a working build environment with the SDL libraries installed. That's why I've gone to the trouble of automating the process and documenting how to do it.

Old Post 11-02-11 18:16 #
fraggle is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit || Quote
Porsche Monty
Member


Posts: 454
Registered: 06-10


For code-illiterate people like myself, there's little practical difference if any difference at all. What actually matters for me is how well the process is explained.

I ran into a few problems and dilemmas that I had to resolve on my own while downloading and setting up the cygwin environment.

Firstable, there's 2 downloading options (bin and src) , some times newer, stable versions of what you're supposed to download (which makes you wonder if you should really stick to the exact version suggested in the guide or go for the updated one instead) and on the top of that, software like "python" has a thousand different files that carry the same name, thus I wasted quite some time choosing the correct "python" just to eventually realize I had to switch back to "category" and grab the whole package...and at this point I'm not even sure if that was necessary.

Next I had to figure out where to place the script, and when you see your freshly compiled exes bloated up to several times the size of the official binary distributions, you wonder what the hell went wrong, even if they run ok.

Also it doesn't help that most of the projects I've managed to compile in the past didn't apply any kind of optimizations, even the safest ones, so I get that feeling of "does the programmer give a damn?" and how much of the available resources are being wasted for nothing.

In other words, be as detailed as you can possibly be and never make any assumptions on the amount of knowledge people who don't work in the programming field actually posses, because it's normally none, and the learning curve for even the most basic stuff can be a overwhelming to some.

I know spoonfeeding trivial stuff like this gets irritating and frustrating, and for that I apologize, but trust me, it's even more irritating and frustrating to be on the other side ;)

Old Post 11-02-11 19:48 #
Porsche Monty is offline Profile || Blog || PM || Search || Add Buddy IP || Edit || Quote
_bruce_
Senior Member


Posts: 1333
Registered: 11-07


What is THE way to build chocolate for windows?
I got the impression the visual way is somewhat of a bastard's son option.
I'm not really a coder so I chose the micro way... think I fetched 1.5 or 1.6 via svn and now I'm doing the most cruel things to those damn bytes.

Old Post 11-02-11 21:03 #
_bruce_ is offline Profile || Blog || PM || Email || Search || Add Buddy IP || Edit || Quote
Wagi
Member


Posts: 346
Registered: 11-10


To be honest when I compile chocolate-doom I just throw the whole thing into Codeblocks and hit "Build Workspace".

Old Post 11-03-11 17:48 #
Wagi is offline Profile || Blog || PM || Email || Search || Add Buddy IP || Edit || Quote
chungy
Senior Member


Posts: 1918
Registered: 06-05


I believe the way the official packages are built, is via MinGW/MSYS. Though when I do builds personally, I cross-compile from Linux. There's a few different ways to do it, they should all be on the wiki.

Old Post 11-03-11 18:44 #
chungy is offline Profile || Blog || PM || Email || Search || Add Buddy IP || Edit || Quote
fraggle
Filled with the code of Doom


Posts: 7830
Registered: 07-00


I've updated the build script, so the problem reported in this thread should hopefully be fixed now.

Old Post 11-03-11 21:19 #
fraggle is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit || Quote
wesleyjohnson
Senior Member


Posts: 1068
Registered: 04-09


Just completed a test compile on Win98 for DoomLegacy, and had similar compile problems.

Installation of MinGW (unlike Watcom that creates an IDE) does not make it very clear on where to put your source code and libraries like SDL. Thus they end up in various places depending upon user whim.

SDL-mixer is a totally separate download, and the whim of where to put it (within SDL directory, or outside) adds more complications.

Installed SDL run-time libraries into system32 directory too. I have no idea which copy is getting used at run-time or compile time. It seems to check on it at link-time.

SDLconfig does not work on Windows machines (I did not install MSYS), so had to extract that info from it by reading, and put similar lines directly into the Makefile.

DoomLegacy Makefile ended up with two extra optional lines that the user can modify to indicate the extra places where SDL libraries and include files could be hiding. But, I doubt that anyone who is not an experienced coder will ever find them. I did not install MSYS, it is not required for compiling.

If this had been a CMake configured compile, I suspect it would have still failed, and been much harder to fix.

Last edited by wesleyjohnson on 11-04-11 at 20:17

Old Post 11-04-11 20:06 #
wesleyjohnson is offline Profile || Blog || PM || Search || Add Buddy IP || Edit || Quote
fraggle
Filled with the code of Doom


Posts: 7830
Registered: 07-00



chungy said:
I believe the way the official packages are built, is via MinGW/MSYS. Though when I do builds personally, I cross-compile from Linux. There's a few different ways to do it, they should all be on the wiki.

To clarify: the build instructions are on the website. The recommended way is to use Cygwin (not MSYS) - although the output of the build is a MingW executable (no dependency on cygwin1.dll).

When I first started the project I initially used MSYS to build Windows executables, but the problem with MSYS is that although it gives a Unix-like environment it's very limited and incomplete compared to Cygwin. Obviously I wanted MingW executables without a dependency on cygwin1.dll, but I didn't realise at the time that you can just use the MingW compilers within Cygwin to generate them. In fact, SDL's compile flags do this automatically.

Old Post 11-05-11 15:19 #
fraggle is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit || Quote
chungy
Senior Member


Posts: 1918
Registered: 06-05


Ah, thanks for clarifying. I don't think MSYS has been updated in years... it's a very old fork of a very old version of Cygwin, so it makes sense to just ignore it and use Cygwin proper.

Old Post 11-06-11 02:17 #
chungy is offline Profile || Blog || PM || Email || Search || Add Buddy IP || Edit || Quote
Porsche Monty
Member


Posts: 454
Registered: 06-10


I also recall the Visual Studio installation being a lot heavier, complex and intruding than cygwin, which's beautifully self-contained.

Old Post 11-06-11 14:36 #
Porsche Monty is offline Profile || Blog || PM || Search || Add Buddy IP || Edit || Quote
Maes
I like big butts!


Posts: 12876
Registered: 07-06


I still shudder whenever I see a makefile distributed with any project. If you are lucky, it will be recently created and, supposedly, "having learned from the mistakes of the past" or at least the assumptions made will be documented somewhere (if there's a README or NOTES files).

If not, as is the case with even slightly older stuff, you'll get a "makefile" that only works on the developer's machine, with a particular flavor of make etc.

Trying to use makefiles that make assumptions of a particular OS and specific hardcoded paths is fun...NOT (with a Borat accent).

Old Post 11-06-11 16:22 #
Maes is offline Profile || Blog || PM || Homepage || Search || Add Buddy IP || Edit || Quote
Graf Zahl
Why don't I have a custom title by now?!


Posts: 7793
Registered: 01-03



Porsche Monty said:
I also recall the Visual Studio installation being a lot heavier, complex and intruding than cygwin, which's beautifully self-contained.



By contrast VS is a fully features IDE, not some rudimentary collection of command line tools that try to make feel Unix users at home.

Try to give that to a regular Windows user and all you get is confusion.

At least when I get a VC++ project I know I can make it work quickly.

Old Post 11-07-11 10:04 #
Graf Zahl is offline Profile || Blog || PM || Email || Search || Add Buddy IP || Edit || Quote
Porsche Monty
Member


Posts: 454
Registered: 06-10


And that's what I heard from about every Windows programmer I worked with, however, for people like me, I think cygwin is a better option, provided most of the process is fully automated.

Old Post 11-07-11 10:37 #
Porsche Monty is offline Profile || Blog || PM || Search || Add Buddy IP || Edit || Quote
Maes
I like big butts!


Posts: 12876
Registered: 07-06


That's simply ample confirmation of what I've been saying all this time.: if Windows programmers find the "One True Unix Way" of doing things to be convoluted and arcane, imagine how plain users feels about doing much more mundane tasks like installing applications ;-)

Old Post 11-07-11 11:13 #
Maes is offline Profile || Blog || PM || Homepage || Search || Add Buddy IP || Edit || Quote
entryway
Forum Staple


Posts: 2740
Registered: 01-04


Some (most?) Windows Programmers do not know how to change extension in files, because Windows blocks this feature by default. Also they do not know how create ".htaccess" file, because explorer does not allow it (they ask friend hackers for creating and mailing it, then they save it on flash drive for future use)

Old Post 11-07-11 11:27 #
entryway is online now Profile || Blog || PM || Homepage || Search || Add Buddy IP || Edit || Quote
All times are GMT. The time now is 16:18. 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 > Problem building Chocolate Doom with cygwin on WinXP

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.