eugenetswong Posted January 16, 2020 Share Posted January 16, 2020 By the way, I am using Atari800 v. 3.1. If you feel that v. 4.2 doesn't have enough benefits to upgrade, then I'm okay with just keeping things the way that they are. At this current time, I am just practising and learning beginner and intermediate stuff, so if I can't use the new features and if the bugs won't affect me, then maybe it's not worth it? 1 Quote Link to comment Share on other sites More sharing options...
zzip Posted January 16, 2020 Share Posted January 16, 2020 (edited) 46 minutes ago, eugenetswong said: I have recently updated this to the latest packges for the 2016 version. Should I remove caddr_t? I have attempted to attach config.log. I doubt that you'd need it, but I wanted to make this as easy as possible for you, if you needed it. I think it's a bug, and I think I have a fix. I just tried to build it on an ubuntu 16.04 system and I got the same error you did. I took a look at rdevice.c and it looks like caddr_t only gets defined when you build on Windows. if you edit src/rdevice.c and look for this line: typedef char *caddr_t; I moved it to just above these lines which were around line 100, this way it will define it whether building on Windows or not" #ifdef HAVE_WINDOWS_H #ifdef R_SERIAL #error The Windows version does not support the serial R: device After I did that and ran "make" it finished building without the same error Edited January 16, 2020 by zzip 1 Quote Link to comment Share on other sites More sharing options...
eugenetswong Posted January 16, 2020 Share Posted January 16, 2020 Great! It seems to build with warnings but no errors. I typed "sudo make install", as you can see below, and I also pasted in the installation results. When I tried running the emulator, the window title showed v. 3.1. Even going into F1 shows the same version number. I tried running it from the command line, and got the same version number. I deleted the older 3.1 version, and manually copied the binary to /usr/bin/. It shows the READY "prompt", when run from the command line, but nothing shows up, when I click on the icon that I typically use. eugene@eugene-Aspire-5100:~/.atari/Downloads/atari800-4.2.0$ make clean; sudo make install make[2]: Entering directory '/home/eugene/.atari/Downloads/atari800-4.2.0/src' /bin/mkdir -p '/usr/local/bin' /usr/bin/install -c atari800 '/usr/local/bin' /bin/bash /home/eugene/.atari/Downloads/atari800-4.2.0/install-sh -d /usr/local/share/man/man1 /usr/bin/install -c -m 644 ./atari800.man /usr/local/share/man/man1/atari800.1 make[2]: Leaving directory '/home/eugene/.atari/Downloads/atari800-4.2.0/src' make[1]: Leaving directory '/home/eugene/.atari/Downloads/atari800-4.2.0/src' make[1]: Entering directory '/home/eugene/.atari/Downloads/atari800-4.2.0' make[2]: Entering directory '/home/eugene/.atari/Downloads/atari800-4.2.0' make[2]: Nothing to be done for 'install-exec-am'. /bin/mkdir -p '/usr/local/share/doc/atari800' /usr/bin/install -c -m 644 COPYING README.TXT '/usr/local/share/doc/atari800' make[2]: Leaving directory '/home/eugene/.atari/Downloads/atari800-4.2.0' make[1]: Leaving directory '/home/eugene/.atari/Downloads/atari800-4.2.0' 1 Quote Link to comment Share on other sites More sharing options...
eugenetswong Posted January 16, 2020 Share Posted January 16, 2020 Whoops! I see that it was copied to /usr/local/bin/ and not /usr/bin/. My bad. It still doesn't work well, though. Quote Link to comment Share on other sites More sharing options...
eugenetswong Posted January 16, 2020 Share Posted January 16, 2020 (edited) Here are the error messages from the command line. Using Atari800 config file: /home/eugene/.atari800.cfg Created by Atari 800 Emulator, Version 3.1.0 Unrecognized variable: PROTO80_ROM Unrecognized variable: XEP80_CHARSET Unrecognized variable: AF80_ROM Unrecognized variable: AF80_CHARSET Unrecognized variable: COLOURS_NTSC_SATURATION Unrecognized variable: COLOURS_NTSC_CONTRAST Unrecognized variable: COLOURS_NTSC_BRIGHTNESS Unrecognized variable: COLOURS_NTSC_GAMMA Unrecognized variable: COLOURS_NTSC_HUE Unrecognized variable: COLOURS_NTSC_GTIA_DELAY Unrecognized variable: COLOURS_NTSC_EXTERNAL_PALETTE Unrecognized variable: COLOURS_NTSC_EXTERNAL_PALETTE_LOADED Unrecognized variable: COLOURS_NTSC_ADJUST_EXTERNAL_PALETTE Unrecognized variable: COLOURS_PAL_SATURATION Unrecognized variable: COLOURS_PAL_CONTRAST Unrecognized variable: COLOURS_PAL_BRIGHTNESS Unrecognized variable: COLOURS_PAL_GAMMA Unrecognized variable: COLOURS_PAL_HUE Unrecognized variable: COLOURS_PAL_GTIA_DELAY Unrecognized variable: COLOURS_PAL_EXTERNAL_PALETTE Unrecognized variable: COLOURS_PAL_EXTERNAL_PALETTE_LOADED Unrecognized variable: COLOURS_PAL_ADJUST_EXTERNAL_PALETTE Unrecognized variable: ARTIFACT_NTSC Unrecognized variable: ARTIFACT_PAL Unrecognized variable: ARTIFACT_NTSC_MODE Unrecognized variable: SCREEN_SHOW_SPEED Unrecognized variable: SCREEN_SHOW_IO_ACTIVITY Unrecognized variable: SCREEN_SHOW_IO_COUNTER Unrecognized variable: SCREEN_SHOW_1200XL_LEDS Unrecognized variable: FILTER_NTSC_SHARPNESS Unrecognized variable: FILTER_NTSC_RESOLUTION Unrecognized variable: FILTER_NTSC_ARTIFACTS Unrecognized variable: FILTER_NTSC_FRINGING Unrecognized variable: FILTER_NTSC_BLEED Unrecognized variable: FILTER_NTSC_BURST_PHASE Unrecognized variable: VIDEOMODE_WINDOW_WIDTH Unrecognized variable: VIDEOMODE_WINDOW_HEIGHT Unrecognized variable: VIDEOMODE_FULLSCREEN_WIDTH Unrecognized variable: VIDEOMODE_FULLSCREEN_HEIGHT Unrecognized variable: VIDEOMODE_WINDOWED Unrecognized variable: VIDEOMODE_HORIZONTAL_AREA Unrecognized variable: VIDEOMODE_VERTICAL_AREA Unrecognized variable: VIDEOMODE_HORIZONTAL_SHIFT Unrecognized variable: VIDEOMODE_VERTICAL_SHIFT Unrecognized variable: VIDEOMODE_STRETCH Unrecognized variable: VIDEOMODE_FIT Unrecognized variable: VIDEOMODE_IMAGE_ASPECT Unrecognized variable: VIDEOMODE_ROTATE90 Unrecognized variable: VIDEOMODE_HOST_ASPECT_RATIO Unrecognized variable: VIDEOMODE_80_COLUMN Unrecognized variable: SOUND_FRAG_FRAMES Unrecognized variable: SCANLINES_PERCENTAGE Unrecognized variable: INTERPOLATE_SCANLINES Unrecognized variable: VIDEO_VSYNC Unrecognized variable: VIDEO_ACCEL Unrecognized variable: PIXEL_FORMAT Unrecognized variable: BILINEAR_FILTERING Unrecognized variable: OPENGL_PBO Unrecognized variable: VIDEO_BPP Unrecognized variable: SDL_JOY_0_ENABLED Unrecognized variable: SDL_JOY_0_LEFT Unrecognized variable: SDL_JOY_0_RIGHT Unrecognized variable: SDL_JOY_0_UP Unrecognized variable: SDL_JOY_0_DOWN Unrecognized variable: SDL_JOY_0_TRIGGER Unrecognized variable: SDL_JOY_1_ENABLED Unrecognized variable: SDL_JOY_1_LEFT Unrecognized variable: SDL_JOY_1_RIGHT Unrecognized variable: SDL_JOY_1_UP Unrecognized variable: SDL_JOY_1_DOWN Unrecognized variable: SDL_JOY_1_TRIGGER /dev/dsp: No such file or directory Edited January 16, 2020 by eugenetswong 1 Quote Link to comment Share on other sites More sharing options...
ivop Posted January 16, 2020 Share Posted January 16, 2020 (edited) Have you uninstalled the kubuntu 16 atari800 package? Probably something like apt-get uninstall atari800 Then make uninstall. Ignore errors. make distclean ./configure make and if all went well, sudo make install After that: ls -l $(which atari800) should point to your newly built binary. If not, you might have an old binary somewhere earlier in your $PATH. Delete that untill the previous command lists your new binary. Look at the date If everything is fine up to here, use: mv .atari800.cfg .atari800.save to temporarily save your old config and start fresh, if that's needed. Edited January 16, 2020 by ivop typo plus clarification 1 Quote Link to comment Share on other sites More sharing options...
eugenetswong Posted January 16, 2020 Share Posted January 16, 2020 I didn't use a package manager to install it, because I didn't know how to use it to install packages that weren't specifically Kubuntu. I've never been able to understand the different things [e.g.: apt-get, etc.]. The package never showed up in the inatallation GUI for Kubuntu, so I think that I copied it by hand. Quote Link to comment Share on other sites More sharing options...
eugenetswong Posted January 16, 2020 Share Posted January 16, 2020 27 minutes ago, ivop said: Have you uninstalled the kubuntu 16 atari800 package? Probably something like apt-get uninstall atari800 Then make uninstall. Ignore errors. make distclean ./configure make and if all went well, sudo make install After that: ls -l $(which atari800) should point to your newly built binary. If not, you might have an old binary somewhere earlier in your $PATH. Delete that untill the previous command lists your new binary. Look at the date If everything is fine up to here, use: mv .atari800.cfg .atari800.save to temporarily save your old config and start fresh, if that's needed. So, I tried all that you said, and everything went smoothly with less errors, except the final error, which happened before your suggestion. /dev/dsp: No such file or directory Quote Link to comment Share on other sites More sharing options...
eugenetswong Posted January 16, 2020 Share Posted January 16, 2020 By the way, thanks! Quote Link to comment Share on other sites More sharing options...
ivop Posted January 16, 2020 Share Posted January 16, 2020 (edited) Do you still get all the unrecognized variable errors? If so, have you moved your old $HOME/.atari800.cfg out of the way? Edit: is your system pure ALSA or do you use PulseAudio or anything like that? Perhaps you need to install some -dev packages to pick up the proper audio output module during build time. Check the output of ./configure to see what it builds. And I assume other programs have sound, right? Edited January 16, 2020 by ivop Quote Link to comment Share on other sites More sharing options...
eugenetswong Posted January 17, 2020 Share Posted January 17, 2020 I no longer get the unrecognized variable errors. I have moved the $HOME/.atari800.cfg out of the way. I have attached the ./configure output in a post above. What am I looking for? There definitely is sound. How do I figure out how much ALSA or PulseAudio I have? I feel bad for you guys. Quote Link to comment Share on other sites More sharing options...
ivop Posted January 17, 2020 Share Posted January 17, 2020 (edited) I meant the standard output of ./configure, not the log. But looking over the log, it seems you have no proper -dev packages installed whatsoever. It's a miracle it builds at all conftest.c:11:22: fatal error: X11/Xlib.h: No such file or directory This is the worst one, but no SDL, none of the audio libs. Nothing. I don't use Ubuntu, and keep in mind you are several years behind with v16, but you need at least packages named like: (check the proper names for your distro. apt-cache search blabla can help): libsdl*-dev This should pull in must X11 dependencies. libpng*-dev for screenshots zlib*-dev autotools*-dev dpkg*-dev probably not strictly necessary. Good luck. I'm off to bed Edited January 17, 2020 by ivop Quote Link to comment Share on other sites More sharing options...
dmsc Posted January 17, 2020 Share Posted January 17, 2020 Hi! 3 hours ago, eugenetswong said: I no longer get the unrecognized variable errors. I have moved the $HOME/.atari800.cfg out of the way. I have attached the ./configure output in a post above. What am I looking for? There definitely is sound. How do I figure out how much ALSA or PulseAudio I have? I feel bad for you guys. Just tried this in an Ubuntu 1604 VM: sudo apt install wget gcc make libsdl1.2-dev libpng12-dev --no-install-recommends mkdir atari800 cd atari800 wget https://github.com/atari800/atari800/releases/download/ATARI800_4_2_0/atari800-4.2.0-src.tgz tar xzf atari800-4.2.0-src.tgz cd atari800-4.2.0 ./configure make strip src/atari800 sudo cp src/atari800 /usr/bin/ It works at first try ? , no editing or trickery needed. Have Fun! Quote Link to comment Share on other sites More sharing options...
eugenetswong Posted January 17, 2020 Share Posted January 17, 2020 1 hour ago, dmsc said: Hi! Just tried this in an Ubuntu 1604 VM: sudo apt install wget gcc make libsdl1.2-dev libpng12-dev --no-install-recommends mkdir atari800 cd atari800 wget https://github.com/atari800/atari800/releases/download/ATARI800_4_2_0/atari800-4.2.0-src.tgz tar xzf atari800-4.2.0-src.tgz cd atari800-4.2.0 ./configure make strip src/atari800 sudo cp src/atari800 /usr/bin/ It works at first try ? , no editing or trickery needed. Have Fun! What is the first line for? Quote Link to comment Share on other sites More sharing options...
dmsc Posted January 17, 2020 Share Posted January 17, 2020 Hi! 7 hours ago, eugenetswong said: What is the first line for? The "apt install" line? To install the following: - wget : used to download the source code, - gcc : the C compiler, - make : the "make" tool, - libsdl1.2-dev : SDL library development package, - libpng12-dev : PNG library development package. The "--no-install-recommends" is to install only the minimal set of dependencies. Have Fun! Quote Link to comment Share on other sites More sharing options...
eugenetswong Posted January 17, 2020 Share Posted January 17, 2020 3 hours ago, dmsc said: Hi! The "apt install" line? To install the following: - wget : used to download the source code, - gcc : the C compiler, - make : the "make" tool, - libsdl1.2-dev : SDL library development package, - libpng12-dev : PNG library development package. The "--no-install-recommends" is to install only the minimal set of dependencies. Have Fun! I don't know how much you have read this thread, so I just want to point out that I was able to compile without error messages, before your suggestions. Do I really need the dev versions of those packages? I already have versions installed, which might be non-dev versions. Thanks for your help! ### By the way, everybody, I checked for the existence of /dev/dsp. I don't have it. Does anybody know why? ### I used "locate" to see if Pulse and/or ALSA are installed, and they both seem to be installed. Quote Link to comment Share on other sites More sharing options...
eugenetswong Posted January 17, 2020 Share Posted January 17, 2020 Apparently, /dev/dsp is outdated. https://unix.stackexchange.com/questions/103746/why-wont-linux-let-me-play-with-dev-dsp Does anybody have hints on why Atari800 is looking for /dev/dsp, or even requiring it? Quote Link to comment Share on other sites More sharing options...
baktra Posted January 17, 2020 Share Posted January 17, 2020 (edited) 7 minutes ago, eugenetswong said: Apparently, /dev/dsp is outdated. https://unix.stackexchange.com/questions/103746/why-wont-linux-let-me-play-with-dev-dsp Does anybody have hints on why Atari800 is looking for /dev/dsp, or even requiring it? Atari800 supports multiple ways of sending audio to the sound card. The preferred way on GNU/Linux and Windows is through the SDL library, but it can do it also through the outdated OSS (hence /dev/dsp). However, if the SDL library is not found in your system (the attached config.log proves it was the case at the time), atari800's configuration script tries falling back to OSS looking for /dev/dsp. The same for video output. The preferred way is through SDL, but if not found, there is still possibility to output video directly through X11 API, so if no SDL, the config script tries to fall back to X11. But that requires to have X11-dev package to be installed. And you indeed need to have -dev packages of the SDL and png libraries installed if you compile from source code. The package without -dev is for running programs depending on a library. The package with -dev is for compiling programs depending on a library. Edited January 17, 2020 by baktra Quote Link to comment Share on other sites More sharing options...
dmsc Posted January 17, 2020 Share Posted January 17, 2020 Hi! 1 hour ago, eugenetswong said: I don't know how much you have read this thread, so I just want to point out that I was able to compile without error messages, before your suggestions. Do I really need the dev versions of those packages? I already have versions installed, which might be non-dev versions. Sorry, but from my vantage point, it is you that needs to read the thread. As @ivop, @baktra and myself tried to tell you, you need to install those packages to compile Atari800. It is that simple, just follow my commands and you will get a working emulator. Have Fun! Quote Link to comment Share on other sites More sharing options...
zzip Posted January 17, 2020 Share Posted January 17, 2020 (edited) yes /dev/dsp is the very old OSS sound system. I'm surprised it would be looking for that, but it might mean you are missing certain dev packages. What the "configure" script does is check your system to see what you have available. If it can't find the dev packages for pulseaudio or alsa, it might have fallen back to OSS. ALSA can emulate OSS, but sometimes you have to tell it to do this. FYI "dev" packages are packages that contain the .h header files and static libraries. They are required for building some things, but aren't required for running the programs once they are built. So most distributions only install a minimal set of dev packages. they are easy to install with apt once you know which one(s) you need. If building is taking too much time, I noticed there is a pre-built linux binary on the atari800 download page: atari800_4.2.0-1_amd64.deb Since ubuntu is Debian based, you might be able to install this- it doesn't specify a specific distribution. dpkg -i atari800_4.2.0-1_amd64.deb If it complains about dependancies, you should be able to install them through apt. Edited January 17, 2020 by zzip Quote Link to comment Share on other sites More sharing options...
zzip Posted January 17, 2020 Share Posted January 17, 2020 1 hour ago, eugenetswong said: Do I really need the dev versions of those packages? I already have versions installed, which might be non-dev versions. Just to add to my previous message- if you don't have a dev version of libsdl installed, "configure" will decide to build against X11 or something else. That might be fine for your needs, but I think the SDL version of atari800 is the best all around. I looked back at your config.log and it definitely didn't find sdl. You can safely remove dev packages after you build atari800 if you are concerned about space, but I find most of them don't take up much space Quote Link to comment Share on other sites More sharing options...
ivop Posted January 17, 2020 Share Posted January 17, 2020 I don't think a current debian binary will run on a four year old Ubuntu. Debian is behind, but not that much @zzip indeed, the -dev packages are mostly header files, so very small. Quote Link to comment Share on other sites More sharing options...
eugenetswong Posted January 17, 2020 Share Posted January 17, 2020 (edited) Guys, I tried to install the 2 dev packages, and it took up 86.9 MB. I did "make clean; sudo make install", and it still had the same error message about /dev/dsp. Any more thoughts? Thanks for your time and patience. config.log Edited January 17, 2020 by eugenetswong forgot to add recent config.log Quote Link to comment Share on other sites More sharing options...
eugenetswong Posted January 17, 2020 Share Posted January 17, 2020 (edited) Oh my goodness! You guys did it! I tried it all again, but I did a ./configure this time around, since I forgot it last time. It works! Thanks. Thank you so much for your patience!! ### In case anybody was wondering, I realized that I should try configuring again, since I saw problems in the recent configure.log, which I read, while I was waiting for a response. Edited January 17, 2020 by eugenetswong more info Quote Link to comment Share on other sites More sharing options...
eugenetswong Posted January 17, 2020 Share Posted January 17, 2020 On 1/16/2020 at 10:19 AM, zzip said: I think it's a bug, and I think I have a fix. I just tried to build it on an ubuntu 16.04 system and I got the same error you did. I took a look at rdevice.c and it looks like caddr_t only gets defined when you build on Windows. if you edit src/rdevice.c and look for this line: typedef char *caddr_t; I moved it to just above these lines which were around line 100, this way it will define it whether building on Windows or not" #ifdef HAVE_WINDOWS_H #ifdef R_SERIAL #error The Windows version does not support the serial R: device After I did that and ran "make" it finished building without the same error Is this an actual bug? Should it be reported to the developers? I figure that they read these forums, so maybe they would see it here in the context of the discussion. If not, then should I find a place at their github site to report it? Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.