Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Source Based: Linapple compile failed #450

Closed
nilsbyte opened this issue Aug 21, 2014 · 10 comments
Closed

Source Based: Linapple compile failed #450

nilsbyte opened this issue Aug 21, 2014 · 10 comments

Comments

@nilsbyte
Copy link

With a vanilla, upgraded Raspbian, I ran the script again with the source based installation.

Apple 2 emulator Linapple failed to compile. It was not mentioned in the summary after installation. Here is the console log:

= = = = = = = = = = = = = = = = = = = = =
Installing dependencies for Apple 2 emulator Linapple
= = = = = = = = = = = = = = = = = = = = =

Did not find needed package(s): libzip2 libzip-dev. I am trying to install them now.
Reading package lists...
Building dependency tree...
Reading state information...
The following NEW packages will be installed:
  libzip-dev libzip2
0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
Need to get 130 kB of archives.
After this operation, 324 kB of additional disk space will be used.
Get:1 http://mirrordirector.raspbian.org/raspbian/ wheezy/main libzip2 armhf 0.10.1-1.1 [24.8 kB]
Get:2 http://mirrordirector.raspbian.org/raspbian/ wheezy/main libzip-dev armhf 0.10.1-1.1 [105 kB]
Fetched 130 kB in 0s (176 kB/s)
Selecting previously unselected package libzip2.
(Reading database ... 
(Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
(Reading database ... 65%
(Reading database ... 70%
(Reading database ... 75%
(Reading database ... 80%
(Reading database ... 85%
(Reading database ... 90%
(Reading database ... 95%
(Reading database ... 100%
(Reading database ... 74463 files and directories currently installed.)
Unpacking libzip2 (from .../libzip2_0.10.1-1.1_armhf.deb) ...
Selecting previously unselected package libzip-dev.
Unpacking libzip-dev (from .../libzip-dev_0.10.1-1.1_armhf.deb) ...
Processing triggers for man-db ...
Setting up libzip2 (0.10.1-1.1) ...
Setting up libzip-dev (0.10.1-1.1) ...
Successfully installed package(s): libzip2 libzip-dev.

= = = = = = = = = = = = = = = = = = = = =
Getting sources for Apple 2 emulator Linapple
= = = = = = = = = = = = = = = = = = = = =

--2014-08-20 08:08:47--  http://downloads.petrockblock.com/retropiearchives/linapple-src_2a.tar.bz2
Resolving downloads.petrockblock.com (downloads.petrockblock.com)... 80.67.17.45, 2a00:1158:0:300:794a::1
Connecting to downloads.petrockblock.com (downloads.petrockblock.com)|80.67.17.45|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 820668 (801K) [application/x-tar]
Saving to: `linapple-src_2a.tar.bz2'


 0% [                                       ] 0           --.-K/s              
60% [======================>                ] 492,867     2.35M/s              
100%[======================================>] 820,668     2.78M/s   in 0.3s    

2014-08-20 08:08:48 (2.78 MB/s) - `linapple-src_2a.tar.bz2' saved [820668/820668]

linapple-src_2a/
linapple-src_2a/CHANGELOG
linapple-src_2a/charset40.bmp
linapple-src_2a/font.bmp
linapple-src_2a/icon.bmp
linapple-src_2a/INSTALL
linapple-src_2a/LICENSE
linapple-src_2a/linapple.conf
linapple-src_2a/linapple.installed.conf
linapple-src_2a/linapple1.bmp
linapple-src_2a/linapple2.bmp
linapple-src_2a/linapple3.bmp
linapple-src_2a/linapple4.bmp
linapple-src_2a/linapple5.bmp
linapple-src_2a/Master.dsk
linapple-src_2a/Printer.txt
linapple-src_2a/README
linapple-src_2a/splash.bmp
linapple-src_2a/src/
linapple-src_2a/src/6821.cpp
linapple-src_2a/src/6821.h
linapple-src_2a/src/Applewin.cpp
linapple-src_2a/src/AppleWin.h
linapple-src_2a/src/AY8910.cpp
linapple-src_2a/src/AY8910.h
linapple-src_2a/src/Common.h
linapple-src_2a/src/CPU.cpp
linapple-src_2a/src/CPU.h
linapple-src_2a/src/Debug.cpp
linapple-src_2a/src/Debug.h
linapple-src_2a/src/Debugger_Types.h
linapple-src_2a/src/Disk.cpp
linapple-src_2a/src/Disk.h
linapple-src_2a/src/DiskChoose.cpp
linapple-src_2a/src/DiskChoose.h
linapple-src_2a/src/DiskFTP.cpp
linapple-src_2a/src/DiskFTP.h
linapple-src_2a/src/DiskImage.cpp
linapple-src_2a/src/DiskImage.h
linapple-src_2a/src/Frame.cpp
linapple-src_2a/src/Frame.h
linapple-src_2a/src/ftpparse.cpp
linapple-src_2a/src/ftpparse.h
linapple-src_2a/src/Harddisk.cpp
linapple-src_2a/src/Harddisk.h
linapple-src_2a/src/Joystick.cpp
linapple-src_2a/src/Joystick.h
linapple-src_2a/src/Keyboard.cpp
linapple-src_2a/src/Keyboard.h
linapple-src_2a/src/list.h
linapple-src_2a/src/Log.cpp
linapple-src_2a/src/Log.h
linapple-src_2a/src/Makefile
linapple-src_2a/src/Memory.cpp
linapple-src_2a/src/Memory.h
linapple-src_2a/src/Mockingboard.cpp
linapple-src_2a/src/Mockingboard.h
linapple-src_2a/src/MouseInterface.cpp
linapple-src_2a/src/MouseInterface.h
linapple-src_2a/src/ParallelPrinter.cpp
linapple-src_2a/src/ParallelPrinter.h
linapple-src_2a/src/Registry.cpp
linapple-src_2a/src/Registry.h
linapple-src_2a/src/resource.h
linapple-src_2a/src/Riff.cpp
linapple-src_2a/src/Riff.h
linapple-src_2a/src/SaveState.cpp
linapple-src_2a/src/SaveState.h
linapple-src_2a/src/SerialComms.cpp
linapple-src_2a/src/SerialComms.h
linapple-src_2a/src/SoundCore.cpp
linapple-src_2a/src/SoundCore.h
linapple-src_2a/src/Speaker.cpp
linapple-src_2a/src/Speaker.h
linapple-src_2a/src/SSI263Phonemes.h
linapple-src_2a/src/stdafx.h
linapple-src_2a/src/stretch.cpp
linapple-src_2a/src/stretch.h
linapple-src_2a/src/Structs.h
linapple-src_2a/src/Timer.cpp
linapple-src_2a/src/Timer.h
linapple-src_2a/src/Util_MemoryTextFile.cpp
linapple-src_2a/src/Util_MemoryTextFile.h
linapple-src_2a/src/Video.cpp
linapple-src_2a/src/Video.h
linapple-src_2a/src/wincompat.h
linapple-src_2a/src/wwrapper.cpp
linapple-src_2a/src/wwrapper.h

= = = = = = = = = = = = = = = = = = = = =
Building Apple 2 emulator Linapple
= = = = = = = = = = = = = = = = = = = = =

/opt/retropie/emulators/linapple-src_2a/src /home/pi/RetroPie-Setup
make: curl-config: Command not found
g++-4.6 -O2 -pipe -mfpu=vfp -march=armv6j -mfloat-abi=hard -Wall -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT    -c -o 6821.o 6821.cpp
make: curl-config: Command not found
make: curl-config: Command not found
g++-4.6 -O2 -pipe -mfpu=vfp -march=armv6j -mfloat-abi=hard -Wall -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT    -c -o AY8910.o AY8910.cpp
make: curl-config: Command not found
In file included from AY8910.cpp:45:0:
AppleWin.h:14:23: fatal error: curl/curl.h: No such file or directory
compilation terminated.
make: *** [AY8910.o] Error 1
/home/pi/RetroPie-Setup

= = = = = = = = = = = = = = = = = = = = =
Configuring Apple 2 emulator Linapple
= = = = = = = = = = = = = = = = = = = = =

/opt/retropie/emulators/linapple-src_2a /home/pi/RetroPie-Setup
/home/pi/RetroPie-Setup
[esconfedit.py] Successfully saved to file /etc/emulationstation/es_systems.cfg
@petrockblog
Copy link
Member

I updated the RetroPie-Setup Script just now - does it work now?

@nilsbyte
Copy link
Author

Compiled :) Thanks.

Edit: When running Linapple from ES:

Could not initialize SDL: SDL not built with cdrom support

@nilsbyte nilsbyte reopened this Aug 21, 2014
@petrockblog
Copy link
Member

SDL2.0.1 on RetroPie is build with the default options. I had a look into the configuration parameters before building via ./configure --help:

Optional Features:
  --disable-option-checking  ignore unrecognized --enable/--with options
  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
  --enable-shared[=PKGS]  build shared libraries [default=yes]
  --enable-static[=PKGS]  build static libraries [default=yes]
  --enable-fast-install[=PKGS]
                          optimize for fast installation [default=yes]
  --disable-libtool-lock  avoid locking (might break parallel builds)
  --enable-assertions     Enable internal sanity checks
                          (auto/disabled/release/enabled/paranoid)
                          [[default=auto]]
  --enable-dependency-tracking
                          Use gcc -MMD -MT dependency tracking [[default=yes]]
  --enable-libc           Use the system C library [[default=yes]]
  --enable-gcc-atomics    Use gcc builtin atomics [[default=yes]]
  --enable-atomic         Enable the atomic operations subsystem
                          [[default=yes]]
  --enable-audio          Enable the audio subsystem [[default=yes]]
  --enable-video          Enable the video subsystem [[default=yes]]
  --enable-render         Enable the render subsystem [[default=yes]]
  --enable-events         Enable the events subsystem [[default=yes]]
  --enable-joystick       Enable the joystick subsystem [[default=yes]]
  --enable-haptic         Enable the haptic (force feedback) subsystem
                          [[default=yes]]
  --enable-power          Enable the power subsystem [[default=yes]]
  --enable-filesystem     Enable the filesystem subsystem [[default=yes]]
  --enable-threads        Enable the threading subsystem [[default=yes]]
  --enable-timers         Enable the timer subsystem [[default=yes]]
  --enable-file           Enable the file subsystem [[default=yes]]
  --enable-loadso         Enable the shared object loading subsystem
                          [[default=yes]]
  --enable-cpuinfo        Enable the cpuinfo subsystem [[default=yes]]
  --enable-atomic         Enable the atomic operations [[default=yes]]
  --enable-assembly       Enable assembly routines [[default=yes]]
  --enable-ssemath        Allow GCC to use SSE floating point math
                          [[default=no]]
  --enable-mmx            use MMX assembly routines [[default=yes]]
  --enable-3dnow          use 3DNow! assembly routines [[default=yes]]
  --enable-sse            use SSE assembly routines [[default=yes]]
  --enable-sse2           use SSE2 assembly routines [[default=no]]
  --enable-altivec        use Altivec assembly routines [[default=yes]]
  --enable-oss            support the OSS audio API [[default=maybe]]
  --enable-alsa           support the ALSA audio API [[default=yes]]
  --disable-alsatest      Do not try to compile and run a test Alsa program
  --enable-alsa-shared    dynamically load ALSA audio support [[default=yes]]
  --enable-esd            support the Enlightened Sound Daemon [[default=yes]]
  --disable-esdtest       Do not try to compile and run a test ESD program
  --enable-esd-shared     dynamically load ESD audio support [[default=yes]]
  --enable-pulseaudio     use PulseAudio [[default=yes]]
  --enable-pulseaudio-shared
                          dynamically load PulseAudio support [[default=yes]]
  --enable-arts           support the Analog Real Time Synthesizer
                          [[default=yes]]
  --enable-arts-shared    dynamically load aRts audio support [[default=yes]]
  --enable-nas            support the NAS audio API [[default=yes]]
  --enable-nas-shared     dynamically load NAS audio support [[default=yes]]
  --enable-sndio          support the sndio audio API [[default=yes]]
  --enable-sndio-shared   dynamically load sndio audio support [[default=yes]]
  --enable-diskaudio      support the disk writer audio driver [[default=yes]]
  --enable-dummyaudio     support the dummy audio driver [[default=yes]]
  --enable-video-x11      use X11 video driver [[default=yes]]
  --enable-x11-shared     dynamically load X11 support [[default=maybe]]
  --enable-video-x11-xcursor
                          enable X11 Xcursor support [[default=yes]]
  --enable-video-x11-xinerama
                          enable X11 Xinerama support [[default=yes]]
  --enable-video-x11-xinput
                          enable X11 XInput extension for manymouse, tablets,
                          etc [[default=yes]]
  --enable-video-x11-xrandr
                          enable X11 Xrandr extension for fullscreen
                          [[default=yes]]
  --enable-video-x11-scrnsaver
                          enable X11 screensaver extension [[default=yes]]
  --enable-video-x11-xshape
                          enable X11 XShape support [[default=yes]]
  --enable-video-x11-vm   use X11 VM extension for fullscreen [[default=yes]]
  --enable-video-cocoa    use Cocoa video driver [[default=yes]]
  --enable-video-directfb use DirectFB video driver [[default=no]]
  --enable-directfb-shared
                          dynamically load directfb support [[default=yes]]
  --enable-fusionsound    use FusionSound audio driver [[default=no]]
  --enable-fusionsound-shared
                          dynamically load fusionsound audio support
                          [[default=yes]]
  --enable-video-dummy    use dummy video driver [[default=yes]]
  --enable-video-opengl   include OpenGL support [[default=yes]]
  --enable-video-opengles include OpenGL ES support [[default=yes]]
  --enable-libudev        enable libudev support [[default=yes]]
  --enable-dbus           enable D-Bus support [[default=yes]]
  --enable-input-tslib    use the Touchscreen library for input
                          [[default=yes]]
  --enable-pthreads       use POSIX threads for multi-threading
                          [[default=yes]]
  --enable-pthread-sem    use pthread semaphores [[default=yes]]
  --enable-directx        use DirectX for Windows audio/video [[default=yes]]
  --enable-sdl-dlopen     use dlopen for shared object loading [[default=yes]]
  --enable-clock_gettime  use clock_gettime() instead of gettimeofday() on
                          UNIX [[default=yes]]
  --enable-rpath          use an rpath when linking SDL [[default=yes]]
  --enable-render-d3d     enable the Direct3D render driver [[default=yes]]

Optional Packages:
  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
  --with-pic[=PKGS]       try to use only PIC/non-PIC objects [default=use
                          both]
  --with-gnu-ld           assume the C compiler uses GNU ld [default=no]
  --with-sysroot=DIR Search for dependent libraries within DIR
                        (or the compiler's sysroot if not specified).
  --with-alsa-prefix=PFX  Prefix where Alsa library is installed(optional)
  --with-alsa-inc-prefix=PFX  Prefix where include libraries are (optional)
  --with-esd-prefix=PFX   Prefix where ESD is installed (optional)
  --with-esd-exec-prefix=PFX Exec prefix where ESD is installed (optional)
  --with-x                use the X Window System

Some influential environment variables:
  CC          C compiler command
  CFLAGS      C compiler flags
  LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
              nonstandard directory <lib dir>
  LIBS        libraries to pass to the linker, e.g. -l<library>
  CPPFLAGS    (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
              you have headers in a nonstandard directory <include dir>
  CPP         C preprocessor
  CXX         C++ compiler command
  CXXFLAGS    C++ compiler flags
  CXXCPP      C++ preprocessor
  XMKMF       Path to xmkmf, Makefile generator for X Window System

Use these variables to override the choices made by `configure' or to help
it to find libraries and programs with nonstandard names/locations.

I cannot find any clues on CDRom support. Maybe someone else has an idea here?

@nilsbyte
Copy link
Author

Found this in sdl.c

#ifndef DISABLE_CDROM
    /* Initialize the CD-ROM subsystem */
    if ( (flags & SDL_INIT_CDROM) && !(SDL_initialized & SDL_INIT_CDROM) ) {
        if ( SDL_CDROMInit() < 0 ) {
            return(-1);
        }
        SDL_initialized |= SDL_INIT_CDROM;
    }
#else
    if ( flags & SDL_INIT_CDROM ) {
        SDL_SetError("SDL not built with cdrom support");
        return(-1);
    }
#endif
    return(0);
}

I think you have to call/not call? SDL_INIT_CDROM. But I don't know how or where.

There's also this: http://www.libsdl.org/release/SDL-1.2.15/src/cdrom/SDL_cdrom.c

@joolswills
Copy link
Member

The problem seems to be due to the dispmanx SDL being built/installed over the raspbian SDL (do you know if you installed this?). The https://github.com/vanfanel/SDL12-kms-dispmanx sdl build script disabled CDROM support which breaks this. It also breaks building of fastdosbox, as if fastdosbox finds x11 kbd development header, it assumes SDL was build with X support also. I will report this upstream.

@joolswills
Copy link
Member

reported here - vanfanel/SDL12-kms-dispmanx#5

@petrockblog
Copy link
Member

Depending on how fast that issue is dealt with we could patch the build script in the Linapple RetroPie Setup Script module as a temporary fix with x11/cdrom enabled.

@joolswills
Copy link
Member

I have changed dispmanx sdl in my branch to compile with x11/cdrom support so it should be ok once we have merged it all in -modifying linapple would have been more work - it also affected fastdosbox. See my other ticket though regarding dispmanx though.

@petrockblog
Copy link
Member

sounds good to me.

@joolswills
Copy link
Member

this is fixed on the development branch

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants