VOGONS


compiling problem of franpa

Topic actions

Reply 60 of 131, by MiniMax

User metadata
Rank Moderator
Rank
Moderator

Inside the log you will see this:

configure:3668: checking for sdl-config
configure:3686: found /bin/sdl-config
configure:3699: result: /bin/sdl-config
configure:3707: checking for SDL - version >= 1.2.0
configure:3798: gcc -o conftest.exe -g -O2 -I/usr/local/cross-tools/i386-mingw32msvc/include/SDL -D_GNU_SOURCE=1 -Dmain=SDL_main conftest.c -L/usr/local/cross-tools/i386-mingw32msvc/lib -lmingw32 -lSDLmain -lSDL -mwindows >&5
configure:3748:17: SDL.h: No such file or directory

configure:3801: $? = 1
configure: program exited with status 1

And just below that, the test-program that tries to include an SDL.h (header-file):

| #include <stdio.h>
| #include <stdlib.h>
| #include <string.h>
| #include "SDL.h"

For some reason that file isn't in one of the include-directories (default is /usr/include, but the GCC compile-command also defines /usr/local/cross-tools/i386-mingw32msvc/include/SDL as a directory where include-files can be found).

DOSBox 60 seconds guide | How to ask questions
_________________
Lenovo M58p | Core 2 Quad Q8400 @ 2.66 GHz | Radeon R7 240 | LG HL-DT-ST DVDRAM GH40N | Fedora 32

Reply 61 of 131, by gulikoza

User metadata
Rank Oldbie
Rank
Oldbie

Bah...that SDL package really is broken 😀
Use this for sdl-config, or edit (😉) yours to set correct prefix=/usr

http://www.si-gamer.net/gulikoza

Reply 62 of 131, by franpa

User metadata
Rank Oldbie
Rank
Oldbie

where do i place this file? do i replace i386-mingw32msvc-sdl-config ?

if its in the BIN folder, then replacing it makes no difference.

AMD Ryzen 3700X | ASUS Crosshair Hero VIII (WiFi) | 16GB DDR4 3600MHz RAM | MSI Geforce 1070Ti 8GB | Windows 10 Pro x64.

my website

Reply 63 of 131, by franpa

User metadata
Rank Oldbie
Rank
Oldbie

i am a newb at compiling etc. however i want to learn (from experience not theory), it is very late here now, 1:45am and as such i am gonna leave this till tomorrow... sorry.

thank you all for persisting in helping me with this, it is greatly appreciated. 😀

AMD Ryzen 3700X | ASUS Crosshair Hero VIII (WiFi) | 16GB DDR4 3600MHz RAM | MSI Geforce 1070Ti 8GB | Windows 10 Pro x64.

my website

Reply 64 of 131, by MiniMax

User metadata
Rank Moderator
Rank
Moderator

No problem franpa. I hope to be able to make my own DOSBox compile soon, so whatever gets documented here will help me too 😀

DOSBox 60 seconds guide | How to ask questions
_________________
Lenovo M58p | Core 2 Quad Q8400 @ 2.66 GHz | Radeon R7 240 | LG HL-DT-ST DVDRAM GH40N | Fedora 32

Reply 65 of 131, by gulikoza

User metadata
Rank Oldbie
Rank
Oldbie

Yes, you replace the sdl-config in msys/1.0/bin (and delete the other one). Make sure if you type sdl-config --prefix it gives you:
/usr

Good luck 😀

http://www.si-gamer.net/gulikoza

Reply 66 of 131, by Xelasarg

User metadata
Rank Member
Rank
Member
franpa wrote:

i am a newb at compiling etc. however i want to learn

Me too, and I'm glad someone (i.e. you 🙄) is asking those questions.
I guess there are quite some people who can benefit from this thread. 😀

"What's a paladin?!"

Reply 67 of 131, by MiniMax

User metadata
Rank Moderator
Rank
Moderator
gulikoza wrote:

delete the install file 😀 (this is actually SDL fault, install should be uppercased)

Ouch!! I got hit by this too when I tried to install SDL using MSYS.
But the INSTALL-file *is* in upper-case - it is MSYS (or maybe make?) that does a case-insensitive search for 'install' and comes up with INSTALL as a satisfied target.

Changing the target from 'install:' to 'install::' forces the install-target to always be executed.

*) I noticed that 'cat InStAlL' worked just fine, so it is either the utility or the POSIX-emulation that is allowing the case-insensitive operation.

DOSBox 60 seconds guide | How to ask questions
_________________
Lenovo M58p | Core 2 Quad Q8400 @ 2.66 GHz | Radeon R7 240 | LG HL-DT-ST DVDRAM GH40N | Fedora 32

Reply 68 of 131, by wd

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Maybe totally screw those sdl-mingw sources and use the regular source archive.
Don't remember having such problems.

Reply 69 of 131, by MiniMax

User metadata
Rank Moderator
Rank
Moderator
MiniMax wrote:

Changing the target from 'install:' to 'install::' forces the install-target to always be executed.

Yeah - executed, but with a totally wrong result!! The symlink they make for sdl-config to i386-mingw32msvc-sddl-config is totally wrong.

Instead of

install:
cp -rv bin include lib share $(prefix)/
@ln -sf i386-mingw32msvc-sdl-config $(prefix)bin/sdl-config

It should read:

install::
cp -rv bin include lib share $(prefix)/
@(cd $(prefix)/bin && \
ln -sf i386-mingw32msvc-sdl-config sdl-config)

DOSBox 60 seconds guide | How to ask questions
_________________
Lenovo M58p | Core 2 Quad Q8400 @ 2.66 GHz | Radeon R7 240 | LG HL-DT-ST DVDRAM GH40N | Fedora 32

Reply 70 of 131, by MiniMax

User metadata
Rank Moderator
Rank
Moderator
wd wrote:

Maybe totally screw those sdl-mingw sources and use the regular source archive.
Don't remember having such problems.

Might be easier, but I will would like to try to find the minimal set of changes necessary to have DOSBox compile with MSYS.

But it looks like the sdl-config file is totally hosed!

It starts by defining

prefix=/usr/local/cross-tools/i386-mingw32msvc

That can be overriden by invoking the dosbox-0.70/configure with

./configure --with-sdl-prefix=/usr

but then, when sdl-config emits the compiler-flags:

echo -I${prefix}/include/SDL -D_GNU_SOURCE=1 -Dmain=SDL_main

I get hit again because the SDL Makefile do *not* copy the include files to /usr/include/SDL, but to plain /usr/include (which is dangerous because not all the headers have a nice SDL_ prefix).

DOSBox 60 seconds guide | How to ask questions
_________________
Lenovo M58p | Core 2 Quad Q8400 @ 2.66 GHz | Radeon R7 240 | LG HL-DT-ST DVDRAM GH40N | Fedora 32

Reply 71 of 131, by wd

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Well not only easier but as it looks much more painfree. Wasn't more
than the autogen/configure/make/make install thing for me. Dunno.

Reply 72 of 131, by MiniMax

User metadata
Rank Moderator
Rank
Moderator
MiniMax wrote:

That can be overriden by invoking the dosbox-0.70/configure with

./configure --with-sdl-prefix=/usr

Nope - that don't work.

I wonder if I have a wrong SDL-package?? I took SDL-devel-1.2.11-mingw32.tar.gz, a non-source package. Maybe a source package will be better?

DOSBox 60 seconds guide | How to ask questions
_________________
Lenovo M58p | Core 2 Quad Q8400 @ 2.66 GHz | Radeon R7 240 | LG HL-DT-ST DVDRAM GH40N | Fedora 32

Reply 73 of 131, by Qbix

User metadata
Rank DOSBox Author
Rank
DOSBox Author

hm yes. I recall that the devel package is just a zip of an installed tree.
no need to do a make or a configure in there.

Water flows down the stream
How to ask questions the smart way!

Reply 74 of 131, by MiniMax

User metadata
Rank Moderator
Rank
Moderator

Okay - now we are making progress. I changed that

prefix=/usr/local/cross-tools/i386-mingw32msvc

in sdl-config to prefix=/usr and did a ./configure on dosbox-0.70. Only warnings was about missing SDL_net and libSDL_sound.

DOSBox 60 seconds guide | How to ask questions
_________________
Lenovo M58p | Core 2 Quad Q8400 @ 2.66 GHz | Radeon R7 240 | LG HL-DT-ST DVDRAM GH40N | Fedora 32

Reply 75 of 131, by MiniMax

User metadata
Rank Moderator
Rank
Moderator

Yes!!!! I have a DOSBox!!

DOSBox 60 seconds guide | How to ask questions
_________________
Lenovo M58p | Core 2 Quad Q8400 @ 2.66 GHz | Radeon R7 240 | LG HL-DT-ST DVDRAM GH40N | Fedora 32

Reply 76 of 131, by MiniMax

User metadata
Rank Moderator
Rank
Moderator
Qbix wrote:

hm yes. I recall that the devel package is just a zip of an installed tree.
no need to do a make or a configure in there.

I think you are right. But sdl-config needs to be tweaked to emit the right paths and flags.

DOSBox 60 seconds guide | How to ask questions
_________________
Lenovo M58p | Core 2 Quad Q8400 @ 2.66 GHz | Radeon R7 240 | LG HL-DT-ST DVDRAM GH40N | Fedora 32

Reply 77 of 131, by MiniMax

User metadata
Rank Moderator
Rank
Moderator

Is there a make-target for making an zip-archive similar to a normal DOSBox distribution?

DOSBox 60 seconds guide | How to ask questions
_________________
Lenovo M58p | Core 2 Quad Q8400 @ 2.66 GHz | Radeon R7 240 | LG HL-DT-ST DVDRAM GH40N | Fedora 32

Reply 78 of 131, by wd

User metadata
Rank DOSBox Author
Rank
DOSBox Author

But sdl-config needs to be tweaked to emit the right paths and flags.

But that's not normal imo, should be done automatically.

Reply 79 of 131, by MiniMax

User metadata
Rank Moderator
Rank
Moderator
wd wrote:

But sdl-config needs to be tweaked to emit the right paths and flags.

But that's not normal imo, should be done automatically.

Maybe if you download and install an SDL source-distro. Then configure and make will probably generate a functional sdl-config. But with SDL-devel-1.2.11-mingw32.tar.gz the supplied i386-mingw32msvc-sdl-config is totally wrong.

DOSBox 60 seconds guide | How to ask questions
_________________
Lenovo M58p | Core 2 Quad Q8400 @ 2.66 GHz | Radeon R7 240 | LG HL-DT-ST DVDRAM GH40N | Fedora 32