VOGONS


First post, by jez

User metadata
Rank Member
Rank
Member

I'm trying to build DOSBox on Windows XP. The wiki page states: "When working on Windows, you might want to save a lot of effort and just use the SDL (and optionally SDL_net) .DLL files included with the latest official DOSBox release, as compiling SDL with full options (e.g. DirectX support) is a bit involved."

Indeed, I wish to use these DLLs, but doesn't that mean I need some way of telling DOSBox's configure script "don't bother with SDL, I'll copy over the DLLs afterwards"? The configure script dies, telling me "SDL version 1.2.0 not found!" How can I get around this if I don't want to build SDL?

== Jez ==

Reply 1 of 8, by Qbix

User metadata
Rank DOSBox Author
Rank
DOSBox Author

you have to build it or get sdl-dev package. You can use our improved versions when running it

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

Reply 2 of 8, by jez

User metadata
Rank Member
Rank
Member

OK, I tried installing the SDL devel package for Windows and I included various SDL paths in my PATH variable:

export PATH="/SDL/SDL-1.2.15:/SDL/SDL-1.2.15/bin:/SDL/SDL-1.2.15/include/SDL:/SDL/SDL-1.2.15/lib:$PATH"

However, configure still failed with "The test program failed to compile or link. See the file config.log for..."

config.log contains this:

This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.

It was created by dosbox configure SVN, which was
generated by GNU Autoconf 2.68. Invocation command line was

$ ./configure

## --------- ##
## Platform. ##
## --------- ##

hostname = asuk
uname -m = i686
uname -r = 1.0.17(0.48/3/2)
uname -s = MINGW32_NT-5.1
uname -v = 2011-04-24 23:39

/usr/bin/uname -p = unknown
/bin/uname -X = unknown

/bin/arch = unknown
/usr/bin/arch -k = unknown
/usr/convex/getsysinfo = unknown
/usr/bin/hostinfo = unknown
/bin/machine = unknown
/usr/bin/oslevel = unknown
/bin/universe = unknown

PATH: /SDL/SDL-1.2.15
PATH: /SDL/SDL-1.2.15/bin
PATH: /SDL/SDL-1.2.15/include/SDL
PATH: /SDL/SDL-1.2.15/lib
PATH: .
PATH: /usr/local/bin
PATH: /mingw/bin
PATH: /bin
PATH: /c/Program Files/gimp-2.7.2/bin
PATH: /c/Perl/site/bin
PATH: /c/Perl/bin
PATH: /c/WINDOWS/system32
PATH: /c/WINDOWS
PATH: /c/WINDOWS/System32/Wbem
PATH: /c/Program Files/Microsoft SQL Server/90/Tools/binn/
PATH: /c/Program Files/WinMerge
PATH: /c/Program Files/TortoiseSVN/bin
PATH: /c/Jeremy/Home/unxutils/usr/local/wbin
PATH: /c/Jeremy
PATH: /c/Program Files/Smart Projects/IsoBuster
PATH: /c/Program Files/Perforce
PATH: /c/Program Files/Paint Shop Pro 6


## ----------- ##
## Core tests. ##
## ----------- ##

configure:2483: checking build system type
configure:2497: result: i686-pc-mingw32
configure:2517: checking host system type
Show last 445 lines
configure:2530: result: i686-pc-mingw32
configure:2568: checking for a BSD-compatible install
configure:2636: result: /bin/install -c
configure:2647: checking whether build environment is sane
configure:2697: result: yes
configure:2838: checking for a thread-safe mkdir -p
configure:2877: result: /bin/mkdir -p
configure:2890: checking for gawk
configure:2906: found /bin/gawk
configure:2917: result: gawk
configure:2928: checking whether make sets $(MAKE)
configure:2950: result: yes
configure:3033: checking whether make sets $(MAKE)
configure:3055: result: yes
configure:3112: checking for gcc
configure:3128: found /mingw/bin/gcc
configure:3139: result: gcc
configure:3368: checking for C compiler version
configure:3377: gcc --version >&5
gcc.exe (GCC) 4.6.1
Copyright (C) 2011 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

configure:3388: $? = 0
configure:3377: gcc -v >&5
Using built-in specs.
COLLECT_GCC=C:\MinGW\bin\gcc.exe
COLLECT_LTO_WRAPPER=c:/mingw/bin/../libexec/gcc/mingw32/4.6.1/lto-wrapper.exe
Target: mingw32
Configured with: ../gcc-4.6.1/configure --enable-languages=c,c++,fortran,objc,obj-c++ --disable-sjlj-exceptions --with-dwarf2 --enable-shared --enable-libgomp --disable-win32-registry --enable-libstdcxx-debug --enable-version-specific-runtime-libs --build=mingw32 --prefix=/mingw
Thread model: win32
gcc version 4.6.1 (GCC)
configure:3388: $? = 0
configure:3377: gcc -V >&5
gcc.exe: error: unrecognized option '-V'
gcc.exe: fatal error: no input files
compilation terminated.
configure:3388: $? = 1
configure:3377: gcc -qversion >&5
gcc.exe: error: unrecognized option '-qversion'
gcc.exe: fatal error: no input files
compilation terminated.
configure:3388: $? = 1
configure:3408: checking whether the C compiler works
configure:3430: gcc conftest.c >&5
configure:3434: $? = 0
configure:3482: result: yes
configure:3485: checking for C compiler default output file name
configure:3487: result: a.exe
configure:3493: checking for suffix of executables
configure:3500: gcc -o conftest.exe conftest.c >&5
configure:3504: $? = 0
configure:3526: result: .exe
configure:3548: checking whether we are cross compiling
configure:3556: gcc -o conftest.exe conftest.c >&5
configure:3560: $? = 0
configure:3567: ./conftest.exe
configure:3571: $? = 0
configure:3586: result: no
configure:3591: checking for suffix of object files
configure:3613: gcc -c conftest.c >&5
configure:3617: $? = 0
configure:3638: result: o
configure:3642: checking whether we are using the GNU C compiler
configure:3661: gcc -c conftest.c >&5
configure:3661: $? = 0
configure:3670: result: yes
configure:3679: checking whether gcc accepts -g
configure:3699: gcc -c -g conftest.c >&5
configure:3699: $? = 0
configure:3740: result: yes
configure:3757: checking for gcc option to accept ISO C89
configure:3821: gcc -c -g -O2 conftest.c >&5
configure:3821: $? = 0
configure:3834: result: none needed
configure:3865: checking for style of include used by make
configure:3893: result: GNU
configure:3918: checking dependency style of gcc
configure:4028: result: gcc3
configure:4048: checking how to run the C preprocessor
configure:4079: gcc -E conftest.c
configure:4079: $? = 0
configure:4093: gcc -E conftest.c
conftest.c:11:28: fatal error: ac_nonexistent.h: No such file or directory
compilation terminated.
configure:4093: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "dosbox"
| #define PACKAGE_TARNAME "dosbox"
| #define PACKAGE_VERSION "SVN"
| #define PACKAGE_STRING "dosbox SVN"
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE_URL ""
| #define PACKAGE "dosbox"
| #define VERSION "SVN"
| /* end confdefs.h. */
| #include <ac_nonexistent.h>
configure:4118: result: gcc -E
configure:4138: gcc -E conftest.c
configure:4138: $? = 0
configure:4152: gcc -E conftest.c
conftest.c:11:28: fatal error: ac_nonexistent.h: No such file or directory
compilation terminated.
configure:4152: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "dosbox"
| #define PACKAGE_TARNAME "dosbox"
| #define PACKAGE_VERSION "SVN"
| #define PACKAGE_STRING "dosbox SVN"
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE_URL ""
| #define PACKAGE "dosbox"
| #define VERSION "SVN"
| /* end confdefs.h. */
| #include <ac_nonexistent.h>
configure:4238: checking for g++
configure:4254: found /mingw/bin/g++
configure:4265: result: g++
configure:4292: checking for C++ compiler version
configure:4301: g++ --version >&5
g++.exe (GCC) 4.6.1
Copyright (C) 2011 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

configure:4312: $? = 0
configure:4301: g++ -v >&5
Using built-in specs.
COLLECT_GCC=C:\MinGW\bin\g++.exe
COLLECT_LTO_WRAPPER=c:/mingw/bin/../libexec/gcc/mingw32/4.6.1/lto-wrapper.exe
Target: mingw32
Configured with: ../gcc-4.6.1/configure --enable-languages=c,c++,fortran,objc,obj-c++ --disable-sjlj-exceptions --with-dwarf2 --enable-shared --enable-libgomp --disable-win32-registry --enable-libstdcxx-debug --enable-version-specific-runtime-libs --build=mingw32 --prefix=/mingw
Thread model: win32
gcc version 4.6.1 (GCC)
configure:4312: $? = 0
configure:4301: g++ -V >&5
g++.exe: error: unrecognized option '-V'
g++.exe: fatal error: no input files
compilation terminated.
configure:4312: $? = 1
configure:4301: g++ -qversion >&5
g++.exe: error: unrecognized option '-qversion'
g++.exe: fatal error: no input files
compilation terminated.
configure:4312: $? = 1
configure:4316: checking whether we are using the GNU C++ compiler
configure:4335: g++ -c conftest.cpp >&5
configure:4335: $? = 0
configure:4344: result: yes
configure:4353: checking whether g++ accepts -g
configure:4373: g++ -c -g conftest.cpp >&5
configure:4373: $? = 0
configure:4414: result: yes
configure:4439: checking dependency style of g++
configure:4549: result: gcc3
configure:4608: checking for ranlib
configure:4624: found /mingw/bin/ranlib
configure:4635: result: ranlib
configure:4705: checking for sdl-config
configure:4723: found /SDL/SDL-1.2.15/bin/sdl-config
configure:4736: result: /SDL/SDL-1.2.15/bin/sdl-config
configure:4745: checking for SDL - version >= 1.2.0
configure:4830: gcc -o conftest.exe -g -O2 -I/usr/local/cross-tools/i686-w64-mingw32/include/SDL -D_GNU_SOURCE=1 -Dmain=SDL_main conftest.c -L/usr/local/cross-tools/i686-w64-mingw32/lib -lmingw32 -lSDLmain -lSDL -mwindows >&5
conftest.c:15:17: fatal error: SDL.h: No such file or directory
compilation terminated.
configure:4830: $? = 1
configure: program exited with status 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "dosbox"
| #define PACKAGE_TARNAME "dosbox"
| #define PACKAGE_VERSION "SVN"
| #define PACKAGE_STRING "dosbox SVN"
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE_URL ""
| #define PACKAGE "dosbox"
| #define VERSION "SVN"
| /* end confdefs.h. */
|
| #include <stdio.h>
| #include <stdlib.h>
| #include <string.h>
| #include "SDL.h"
|
| char*
| my_strdup (char *str)
| {
| char *new_str;
|
| if (str)
| {
| new_str = (char *)malloc ((strlen (str) + 1) * sizeof(char));
| strcpy (new_str, str);
| }
| else
| new_str = NULL;
|
| return new_str;
| }
|
| int main (int argc, char *argv[])
| {
| int major, minor, micro;
| char *tmp_version;
|
| /* This hangs on some systems (?)
| system ("touch conf.sdltest");
| */
| { FILE *fp = fopen("conf.sdltest", "a"); if ( fp ) fclose(fp); }
|
| /* HP/UX 9 (%@#!) writes to sscanf strings */
| tmp_version = my_strdup("1.2.0");
| if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, &micro) != 3) {
| printf("%s, bad version string\n", "1.2.0");
| exit(1);
| }
|
| if ((1 > major) ||
| ((1 == major) && (2 > minor)) ||
| ((1 == major) && (2 == minor) && (15 >= micro)))
| {
| return 0;
| }
| else
| {
| printf("\n*** 'sdl-config --version' returned %d.%d.%d, but the minimum version\n", 1, 2, 15);
| printf("*** of SDL required is %d.%d.%d. If sdl-config is correct, then it is\n", major, minor, micro);
| printf("*** best to upgrade to the required version.\n");
| printf("*** If sdl-config was wrong, set the environment variable SDL_CONFIG\n");
| printf("*** to point to the correct copy of sdl-config, and remove the file\n");
| printf("*** config.cache before re-running configure\n");
| return 1;
| }
| }
|
|
configure:4848: result: no
configure:4876: gcc -o conftest.exe -g -O2 -I/usr/local/cross-tools/i686-w64-mingw32/include/SDL -D_GNU_SOURCE=1 -Dmain=SDL_main conftest.c -L/usr/local/cross-tools/i686-w64-mingw32/lib -lmingw32 -lSDLmain -lSDL -mwindows >&5
conftest.c:13:17: fatal error: SDL.h: No such file or directory
compilation terminated.
configure:4876: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "dosbox"
| #define PACKAGE_TARNAME "dosbox"
| #define PACKAGE_VERSION "SVN"
| #define PACKAGE_STRING "dosbox SVN"
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE_URL ""
| #define PACKAGE "dosbox"
| #define VERSION "SVN"
| /* end confdefs.h. */
|
| #include <stdio.h>
| #include "SDL.h"
|
| int
| main ()
| {
| return 0;
| ;
| return 0;
| }
configure:4900: error: *** SDL version 1.2.0 not found!

## ---------------- ##
## Cache variables. ##
## ---------------- ##

ac_cv_build=i686-pc-mingw32
ac_cv_c_compiler_gnu=yes
ac_cv_cxx_compiler_gnu=yes
ac_cv_env_CCC_set=
ac_cv_env_CCC_value=
ac_cv_env_CC_set=
ac_cv_env_CC_value=
ac_cv_env_CFLAGS_set=
ac_cv_env_CFLAGS_value=
ac_cv_env_CPPFLAGS_set=
ac_cv_env_CPPFLAGS_value=
ac_cv_env_CPP_set=
ac_cv_env_CPP_value=
ac_cv_env_CXXFLAGS_set=
ac_cv_env_CXXFLAGS_value=
ac_cv_env_CXX_set=
ac_cv_env_CXX_value=
ac_cv_env_LDFLAGS_set=
ac_cv_env_LDFLAGS_value=
ac_cv_env_LIBS_set=
ac_cv_env_LIBS_value=
ac_cv_env_build_alias_set=
ac_cv_env_build_alias_value=
ac_cv_env_host_alias_set=
ac_cv_env_host_alias_value=
ac_cv_env_target_alias_set=
ac_cv_env_target_alias_value=
ac_cv_exeext=.exe
ac_cv_host=i686-pc-mingw32
ac_cv_objext=o
ac_cv_path_SDL_CONFIG=/SDL/SDL-1.2.15/bin/sdl-config
ac_cv_path_install='/bin/install -c'
ac_cv_path_mkdir=/bin/mkdir
ac_cv_prog_AWK=gawk
ac_cv_prog_CPP='gcc -E'
ac_cv_prog_ac_ct_CC=gcc
ac_cv_prog_ac_ct_CXX=g++
ac_cv_prog_ac_ct_RANLIB=ranlib
ac_cv_prog_cc_c89=
ac_cv_prog_cc_g=yes
ac_cv_prog_cxx_g=yes
ac_cv_prog_make_make_set=yes
am_cv_CC_dependencies_compiler_type=gcc3
am_cv_CXX_dependencies_compiler_type=gcc3

## ----------------- ##
## Output variables. ##
## ----------------- ##

ACLOCAL='${SHELL} /c/Development/DOSBox/trunk/missing --run aclocal-1.11'
ALSA_CFLAGS=''
ALSA_LIBS=''
AMDEPBACKSLASH='\'
AMDEP_FALSE='#'
AMDEP_TRUE=''
AMTAR='${SHELL} /c/Development/DOSBox/trunk/missing --run tar'
AUTOCONF='${SHELL} /c/Development/DOSBox/trunk/missing --run autoconf'
AUTOHEADER='${SHELL} /c/Development/DOSBox/trunk/missing --run autoheader'
AUTOMAKE='${SHELL} /c/Development/DOSBox/trunk/missing --run automake-1.11'
AWK='gawk'
CC='gcc'
CCDEPMODE='depmode=gcc3'
CFLAGS='-g -O2'
CPP='gcc -E'
CPPFLAGS=''
CXX='g++'
CXXDEPMODE='depmode=gcc3'
CXXFLAGS='-g -O2'
CYGPATH_W='echo'
DEFS=''
DEPDIR='.deps'
ECHO_C=''
ECHO_N='-n'
ECHO_T=''
EGREP=''
EXEEXT='.exe'
GREP=''
HAVE_WINDRES_FALSE=''
HAVE_WINDRES_TRUE=''
INSTALL_DATA='${INSTALL} -m 644'
INSTALL_PROGRAM='${INSTALL}'
INSTALL_SCRIPT='${INSTALL}'
INSTALL_STRIP_PROGRAM='$(install_sh) -c -s'
LDFLAGS=''
LIBOBJS=''
LIBS=''
LTLIBOBJS=''
MAKEINFO='${SHELL} /c/Development/DOSBox/trunk/missing --run makeinfo'
MKDIR_P='/bin/mkdir -p'
OBJEXT='o'
PACKAGE='dosbox'
PACKAGE_BUGREPORT=''
PACKAGE_NAME='dosbox'
PACKAGE_STRING='dosbox SVN'
PACKAGE_TARNAME='dosbox'
PACKAGE_URL=''
PACKAGE_VERSION='SVN'
PATH_SEPARATOR=':'
RANLIB='ranlib'
SDL_CFLAGS=''
SDL_CONFIG='/SDL/SDL-1.2.15/bin/sdl-config'
SDL_LIBS=''
SET_MAKE=''
SHELL='/bin/sh'
STRIP=''
VERSION='SVN'
WINDRES=''
ac_ct_CC='gcc'
ac_ct_CXX='g++'
am__EXEEXT_FALSE=''
am__EXEEXT_TRUE=''
am__fastdepCC_FALSE='#'
am__fastdepCC_TRUE=''
am__fastdepCXX_FALSE='#'
am__fastdepCXX_TRUE=''
am__include='include'
am__isrc=''
am__leading_dot='.'
am__quote=''
am__tar='${AMTAR} chof - "$$tardir"'
am__untar='${AMTAR} xf -'
bindir='${exec_prefix}/bin'
build='i686-pc-mingw32'
build_alias=''
build_cpu='i686'
build_os='mingw32'
build_vendor='pc'
datadir='${datarootdir}'
datarootdir='${prefix}/share'
docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
dvidir='${docdir}'
exec_prefix='NONE'
host='i686-pc-mingw32'
host_alias=''
host_cpu='i686'
host_os='mingw32'
host_vendor='pc'
htmldir='${docdir}'
includedir='${prefix}/include'
infodir='${datarootdir}/info'
install_sh='${SHELL} /c/Development/DOSBox/trunk/install-sh'
libdir='${exec_prefix}/lib'
libexecdir='${exec_prefix}/libexec'
localedir='${datarootdir}/locale'
localstatedir='${prefix}/var'
mandir='${datarootdir}/man'
mkdir_p='/bin/mkdir -p'
oldincludedir='/usr/include'
pdfdir='${docdir}'
prefix='NONE'
program_transform_name='s,x,x,'
psdir='${docdir}'
sbindir='${exec_prefix}/sbin'
sharedstatedir='${prefix}/com'
sysconfdir='${prefix}/etc'
target_alias=''

## ----------- ##
## confdefs.h. ##
## ----------- ##

/* confdefs.h */
#define PACKAGE_NAME "dosbox"
#define PACKAGE_TARNAME "dosbox"
#define PACKAGE_VERSION "SVN"
#define PACKAGE_STRING "dosbox SVN"
#define PACKAGE_BUGREPORT ""
#define PACKAGE_URL ""
#define PACKAGE "dosbox"
#define VERSION "SVN"

configure: exit 1

For some reason it doesn't seem to be able to find SDL.h even though typing SDL.h on the commandline does find the file. Any ideas how to fix this?

== Jez ==

Reply 3 of 8, by Qbix

User metadata
Rank DOSBox Author
Rank
DOSBox Author

sdl.h is at

/usr/local/cross-tools/i686-w64-mingw32/include/SDL/SDL.h ?

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

Reply 5 of 8, by Qbix

User metadata
Rank DOSBox Author
Rank
DOSBox Author

the development package includes that file. So maybe the location in the sdl-config script is wrong (you can simply edit that one with a text editor)

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

Reply 7 of 8, by Dominus

User metadata
Rank DOSBox Moderator
Rank
DOSBox Moderator

configure:4736: result: /SDL/SDL-1.2.15/bin/sdl-config
That's strange and not standard. If you want to kerp using this you need to point configure at that location

Windows 3.1x guide for DOSBox
60 seconds guide to DOSBox
DOSBox SVN snapshot for macOS (10.4-11.x ppc/intel 32/64bit) notarized for gatekeeper

Reply 8 of 8, by jez

User metadata
Rank Member
Rank
Member
Qbix wrote:

the development package includes that file. So maybe the location in the sdl-config script is wrong (you can simply edit that one with a text editor)

You're right. Switching prefix in sdl-config to:

prefix=/usr/SDL/SDL-1.2.15

did the trick.

== Jez ==