blackberry / SDL

Simple DirectMedia Layer is an open-source, cross-platform multimedia library designed to provide a low level API.
GNU Lesser General Public License v2.1
86 stars 46 forks source link

"configure" command fails in Ubuntu Linux #14

Closed jgranick closed 12 years ago

jgranick commented 12 years ago

I'm interested in using SDL to bring a cross-platform application framework over for the BlackBerry.

I have tried "build_for_playbook.sh" in two versions of Ubuntu (one 32-bit and one 64) just to make sure. In both installs, configure fails, saying that qcc cannot create executables.

Here is an example of the commands I am using:

source /opt/bbndk-2.0.0/bbndk-env.sh ./build_for_playbook.sh

Should I be doing something differently, or is this an issue with using Linux instead of OS X? (I don't have a Mac on hand at this moment). I'm just interested in compiling the current version as a dynamic library, so I can get one with making sure the framework runs properly for the device.

Thank you very much!

(Here is the full output off the terminal)

joshua@joshua-VirtualBox:~/Development/BlackBerry/SDL$ source /opt/bbndk-2.0.0/bbndk-env.sh joshua@joshua-VirtualBox:~/Development/BlackBerry/SDL$ ./build_for_playbook.sh checking for arm-unknown-nto-qnx6.5.0eabi-gcc... /opt/bbndk-2.0.0/host/linux/x86/usr/bin/qcc -V4.4.2,gcc_ntoarmv7le_cpp checking whether the C compiler works... no configure: error: in /home/joshua/Development/BlackBerry/SDL': configure: error: C compiler cannot create executables Seeconfig.log' for more details make: *\ No rule to make target `all'. Stop. Build Failed! joshua@joshua-VirtualBox:~/Development/BlackBerry/SDL$

jnicholl commented 12 years ago

I'm away at a conference at the moment, so I can't take a look. This should definitely work on Linux, so something's wrong somewhere... Can I see more of the failure log? Also, if you just need the library, you could import the project into the NDK instead and build it that way instead of from the command-line.

----- Original Message ----- From: Joshua Granick [mailto:reply@reply.github.com] Sent: Wednesday, March 07, 2012 11:30 PM To: Jeremy Nicholl Subject: [SDL] "configure" command fails in Ubuntu Linux (#14)

I'm interested in using SDL to bring a cross-platform application framework over for the BlackBerry.

I have tried "build_for_playbook.sh" in two versions of Ubuntu (one 32-bit and one 64) just to make sure. In both installs, configure fails, saying that qcc cannot create executables.

Here is an example of the commands I am using:

source /opt/bbndk-2.0.0/bbndk-env.sh ./build_for_playbook.sh

Should I be doing something differently, or is this an issue with using Linux instead of OS X? (I don't have a Mac on hand at this moment). I'm just interested in compiling the current version as a dynamic library, so I can get one with making sure the framework runs properly for the device.

Thank you very much!


Reply to this email directly or view it on GitHub: https://github.com/blackberry/SDL/issues/14


This transmission (including any attachments) may contain confidential information, privileged material (including material protected by the solicitor-client or other applicable privileges), or constitute non-public information. Any use of this information by anyone other than the intended recipient is prohibited. If you have received this transmission in error, please immediately reply to the sender and delete this information from your system. Use, dissemination, distribution, or reproduction of this transmission by unintended recipients is not authorized and may be unlawful.

jgranick commented 12 years ago

Thanks! Are you at GDC?

I can look at building it from inside the NDK. Do you have any pointers of where I would copy the files, and what I would run to get the process started?

Here is the contents of my config.log file: http://pastie.org/3546232

jnicholl commented 12 years ago

Yes, I'm at GDC. There should already be a .project file in the repository. Just open up the ndk, go to File, Import, Existing Projects into Workspace, choose the directory and it should import and be able to build.

The problem in this case is that SDL actually depends on another library, TouchControlOverlay. You can check it out of github and import it into the ndk to build it. That's why the configure is currently failing.

----- Original Message ----- From: Joshua Granick [mailto:reply@reply.github.com] Sent: Thursday, March 08, 2012 12:06 AM To: Jeremy Nicholl Subject: Re: [SDL] "configure" command fails in Ubuntu Linux (#14)

Thanks! Are you at GDC?

I can look at building it from inside the NDK. Do you have any pointers of where I would copy the files, and what I would run to get the process started?

Here is the contents of my config.log file:

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

It was created by configure, which was generated by GNU Autoconf 2.67. Invocation command line was

$ ./configure --prefix=/home/joshua/Development/BlackBerry/SDL/playbook_prefix --build=i686-pc-linux --host=arm-unknown-nto-qnx6.5.0eabi --without-x --enable-pthreads --enable-audio --enable-video-playbook

---------

Platform.

---------

hostname = joshua-VirtualBox uname -m = i686 uname -r = 2.6.38-8-generic uname -s = Linux uname -v = #42-Ubuntu SMP Mon Apr 11 03:31:50 UTC 2011

/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: /opt/bbndk-2.0.0/host/linux/x86/usr/bin PATH: /etc/rim/bbndk/bin PATH: /opt/bbndk-2.0.0/host/linux/x86/usr/qde/eclipse/jre/bin PATH: /opt/bbndk-2.0.0/host/linux/x86/usr/bin PATH: /etc/rim/bbndk/bin PATH: /opt/bbndk-2.0.0/host/linux/x86/usr/qde/eclipse/jre/bin PATH: /usr/local/sbin PATH: /usr/local/bin PATH: /usr/sbin PATH: /usr/bin PATH: /sbin PATH: /bin PATH: /usr/games

-----------

Core tests.

-----------

configure:2872: checking for arm-unknown-nto-qnx6.5.0eabi-gcc configure:2899: result: /opt/bbndk-2.0.0/host/linux/x86/usr/bin/qcc -V4.4.2,gcc_ntoarmv7le_cpp configure:3168: checking for C compiler version configure:3177: /opt/bbndk-2.0.0/host/linux/x86/usr/bin/qcc -V4.4.2,gcc_ntoarmv7le_cpp --version >&5 cc: unknown option: '--version' configure:3188: $? = 1 configure:3177: /opt/bbndk-2.0.0/host/linux/x86/usr/bin/qcc -V4.4.2,gcc_ntoarmv7le_cpp -v >&5 cc: looking for gcc_ntoarmv7le_cpp in /opt/bbndk-2.0.0/host/linux/x86/etc/qcc/gcc/4.4.2/gcc_ntoarmv7le_cpp++.conf cc: looking for gcc_ntoarmv7le_cpp in /opt/bbndk-2.0.0/host/linux/x86/etc/qcc/gcc/4.4.2/gcc_ntoarmv7le_cpp.conf cc: no files to process configure:3188: $? = 1 configure:3177: /opt/bbndk-2.0.0/host/linux/x86/usr/bin/qcc -V4.4.2,gcc_ntoarmv7le_cpp -V >&5 cc: no targets defined in /opt/bbndk-2.0.0/host/linux/x86/etc/qcc/gcc/4.4.2/4.4.2! configure:3188: $? = 0 configure:3177: /opt/bbndk-2.0.0/host/linux/x86/usr/bin/qcc -V4.4.2,gcc_ntoarmv7le_cpp -qversion >&5 cc: unknown option: '-qversion' configure:3188: $? = 1 configure:3208: checking whether the C compiler works configure:3230: /opt/bbndk-2.0.0/host/linux/x86/usr/bin/qcc -V4.4.2,gcc_ntoarmv7le_cpp -g -DPLAYBOOK -DQNXNTO -I /home/joshua/Development/BlackBerry/SDL/../TouchControlOverlay/public -L/home/joshua/Development/BlackBerry/SDL/../TouchControlOverlay/Device-Debug -lTouchControlOverlay -L/opt/bbndk-2.0.0/target/qnx6/armle-v7/lib -L/home/joshua/Development/BlackBerry/SDL/playbook_prefix/lib -lscreen -lasound -lpps -lm -lpng14 -lbps -lxml2 -lEGL -lGLESv2 conftest.c >&5 /opt/bbndk-2.0.0/host/linux/x86/usr/bin/ntoarm-ld: cannot find -lTouchControlOverlay cc: /opt/bbndk-2.0.0/host/linux/x86/usr/bin/ntoarm-ld error 1 configure:3234: $? = 1 configure:3272: result: no configure: failed program was: /* confdefs.h _/ #define PACKAGE_NAME "" #define PACKAGE_TARNAME "" #define PACKAGE_VERSION "" #define PACKAGE_STRING "" #define PACKAGE_BUGREPORT "" #define PACKAGE_URL "" /_ end confdefs.h. */
int
main ()
{
;
return 0;
}

configure:3277: error: in /home/joshua/Development/BlackBerry/SDL': configure:3279: error: C compiler cannot create executables Seeconfig.log' for more details

----------------

Cache variables.

----------------

ac_cv_env_CCC_set= ac_cv_env_CCC_value= ac_cv_env_CC_set=set ac_cv_env_CC_value='/opt/bbndk-2.0.0/host/linux/x86/usr/bin/qcc -V4.4.2,gcc_ntoarmv7le_cpp ' ac_cv_env_CFLAGS_set=set ac_cv_env_CFLAGS_value=' -g ' ac_cv_env_CPPFLAGS_set=set ac_cv_env_CPPFLAGS_value='-DPLAYBOOK -DQNXNTO -I /home/joshua/Development/BlackBerry/SDL/../TouchControlOverlay/public ' ac_cv_env_CPP_set=set ac_cv_env_CPP_value='/opt/bbndk-2.0.0/host/linux/x86/usr/bin/qcc -V4.4.2,gcc_ntoarmv7le_cpp -E ' ac_cv_env_CXXCPP_set= ac_cv_env_CXXCPP_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=set ac_cv_env_LDFLAGS_value='-L/home/joshua/Development/BlackBerry/SDL/../TouchControlOverlay/Device-Debug -lTouchControlOverlay -L/opt/bbndk-2.0.0/target/qnx6/armle-v7/lib -L/home/joshua/Development/BlackBerry/SDL/playbook_prefix/lib -lscreen -lasound -lpps -lm -lpng14 -lbps -lxml2 -lEGL -lGLESv2' ac_cv_env_LIBS_set= ac_cv_env_LIBS_value= ac_cv_env_XMKMF_set= ac_cv_env_XMKMF_value= ac_cv_env_build_alias_set=set ac_cv_env_build_alias_value=i686-pc-linux ac_cv_env_host_alias_set=set ac_cv_env_host_alias_value=arm-unknown-nto-qnx6.5.0eabi ac_cv_env_target_alias_set= ac_cv_env_target_alias_value= ac_cv_prog_CC='/opt/bbndk-2.0.0/host/linux/x86/usr/bin/qcc -V4.4.2,gcc_ntoarmv7le_cpp '

-----------------

Output variables.

-----------------

ALLOCA='' ALSA_CFLAGS='' ALSA_LIBS='' AR='' ARTSCONFIG='' AS='' BUILD_CFLAGS='' BUILD_LDFLAGS='' CACACONFIG='' CC='/opt/bbndk-2.0.0/host/linux/x86/usr/bin/qcc -V4.4.2,gcc_ntoarmv7le_cpp ' CFLAGS=' -g ' CPP='/opt/bbndk-2.0.0/host/linux/x86/usr/bin/qcc -V4.4.2,gcc_ntoarmv7le_cpp -E ' CPPFLAGS='-DPLAYBOOK -DQNXNTO -I /home/joshua/Development/BlackBerry/SDL/../TouchControlOverlay/public ' CXX='' CXXCPP='' CXXFLAGS='' DEFS='' DIRECTFBCONFIG='' DLLTOOL='' DSYMUTIL='' DUMPBIN='' ECHO_C='' ECHO_N='-n' ECHO_T='' EGREP='' ENABLE_SHARED_FALSE='' ENABLE_SHARED_TRUE='' ENABLE_STATIC_FALSE='' ENABLE_STATIC_TRUE='' ESD_CFLAGS='' ESD_CONFIG='' ESD_LIBS='' EXEEXT='' EXTRA_CFLAGS='' EXTRA_LDFLAGS='' FGREP='' GREP='' INCLUDE='' INSTALL_DATA='' INSTALL_PROGRAM='' INSTALL_SCRIPT='' LD='/opt/bbndk-2.0.0/host/linux/x86/usr/bin/ntoarmv7-ld ' LDFLAGS='-L/home/joshua/Development/BlackBerry/SDL/../TouchControlOverlay/Device-Debug -lTouchControlOverlay -L/opt/bbndk-2.0.0/target/qnx6/armle-v7/lib -L/home/joshua/Development/BlackBerry/SDL/playbook_prefix/lib -lscreen -lasound -lpps -lm -lpng14 -lbps -lxml2 -lEGL -lGLESv2' LIBOBJS='' LIBS='' LIBTOOL='' LIPO='' LN_S='' LTLIBOBJS='' LT_AGE='' LT_CURRENT='' LT_RELEASE='' LT_REVISION='' NASM='' NASMFLAGS='' NM='' NMEDIT='' OBJDUMP='' OBJECTS='' OBJEXT='' OSMESA_CONFIG='' OTOOL64='' OTOOL='' PACKAGE_BUGREPORT='' PACKAGE_NAME='' PACKAGE_STRING='' PACKAGE_TARNAME='' PACKAGE_URL='' PACKAGE_VERSION='' PATH_SEPARATOR=':' PKG_CONFIG='' POW_LIB='' PTH_CONFIG='' RANLIB='/opt/bbndk-2.0.0/host/linux/x86/usr/bin/ntoarmv7-ranlib ' SDLMAIN_OBJECTS='' SDLMAIN_SOURCES='' SDL_BINARY_AGE='' SDL_CFLAGS='' SDL_INTERFACE_AGE='' SDL_LIBS='' SDL_MAJOR_VERSION='' SDL_MICRO_VERSION='' SDL_MINOR_VERSION='' SDL_RLD_FLAGS='' SDL_STATIC_LIBS='' SDL_VERSION='' SED='' SET_MAKE='' SHELL='/bin/bash' SOURCES='' STRIP='' WINDRES='' XMKMF='' X_CFLAGS='' X_EXTRA_LIBS='' X_LIBS='' X_PRE_LIBS='' ac_aux_dir='' ac_ct_CC='' ac_ct_CXX='' ac_ct_DUMPBIN='' bindir='${exec_prefix}/bin' build='i686-pc-linux' build_alias='i686-pc-linux' build_cpu='' build_os='' build_vendor='' datadir='${datarootdir}' datarootdir='${prefix}/share' docdir='${datarootdir}/doc/${PACKAGE}' dvidir='${docdir}' exec_prefix='NONE' host='arm-unknown-nto-qnx6.5.0eabi' host_alias='arm-unknown-nto-qnx6.5.0eabi' host_cpu='' host_os='' host_vendor='' htmldir='${docdir}' includedir='${prefix}/include' infodir='${datarootdir}/info' libdir='${exec_prefix}/lib' libexecdir='${exec_prefix}/libexec' localedir='${datarootdir}/locale' localstatedir='${prefix}/var' lt_ECHO='echo' mandir='${datarootdir}/man' oldincludedir='/usr/include' pdfdir='${docdir}' prefix='/home/joshua/Development/BlackBerry/SDL/playbook_prefix' 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 ""

define PACKAGE_TARNAME ""

define PACKAGE_VERSION ""

define PACKAGE_STRING ""

define PACKAGE_BUGREPORT ""

define PACKAGE_URL ""

configure: exit 77


Reply to this email directly or view it on GitHub: https://github.com/blackberry/SDL/issues/14#issuecomment-4384974


This transmission (including any attachments) may contain confidential information, privileged material (including material protected by the solicitor-client or other applicable privileges), or constitute non-public information. Any use of this information by anyone other than the intended recipient is prohibited. If you have received this transmission in error, please immediately reply to the sender and delete this information from your system. Use, dissemination, distribution, or reproduction of this transmission by unintended recipients is not authorized and may be unlawful.

jgranick commented 12 years ago

I had TouchControlOverlay checked out in a neighboring directory (~/Development/BlackBerry/TouchControlOverlay), but I guess it needed to be compiled first. I'll give it a shot with the IDE and see if I can build it

jgranick commented 12 years ago

Great! Thank you :)

I didn't realize that the Native SDK came with an IDE. I'm not a big Eclipse fan, anyway, but with your instructions it was pretty easy to import both projects and compile them while running Windows.

Although I have what I need, you may also want to know that it did not work when I was in Linux. I was specifically using Ubuntu 11.04 32-bit. Here's the output in the console, while trying to compile TouchControlOverlay:

\ Rebuild of configuration Device-Release for project TouchControlOverlay **

\ Internal Builder is used for build ** Build error String index out of range: -26

jnicholl commented 12 years ago

We'll definitely look into that. Glad you got it working for now.

----- Original Message ----- From: Joshua Granick [mailto:reply@reply.github.com] Sent: Thursday, March 08, 2012 12:45 AM To: Jeremy Nicholl Subject: Re: [SDL] "configure" command fails in Ubuntu Linux (#14)

Great! Thank you :)

I didn't realize that the Native SDK came with an IDE. I'm not a big Eclipse fan, anyway, but with your instructions it was pretty easy to import both projects and compile them while running Windows.

Although I have what I need, you may also want to know that it did not work when I was in Linux. I was specifically using Ubuntu 11.04 32-bit. Here's the output in the console, while trying to compile TouchControlOverlay:

\ Rebuild of configuration Device-Release for project TouchControlOverlay **

\ Internal Builder is used for build ** Build error String index out of range: -26


Reply to this email directly or view it on GitHub: https://github.com/blackberry/SDL/issues/14#issuecomment-4385280


This transmission (including any attachments) may contain confidential information, privileged material (including material protected by the solicitor-client or other applicable privileges), or constitute non-public information. Any use of this information by anyone other than the intended recipient is prohibited. If you have received this transmission in error, please immediately reply to the sender and delete this information from your system. Use, dissemination, distribution, or reproduction of this transmission by unintended recipients is not authorized and may be unlawful.

asimonov-im commented 12 years ago

I can't seem to reproduce the problem on Ubuntu. I don't have 11.04, but I've been using 11.10 32-bit without any problems. If you get the chance, can you re-clone the repository and try again?

absmall commented 12 years ago

This is because build_for_playbook.sh hardcoded linking to TouchControlOverlay.so. This means TouchControlOverlay.so is required for everything, including the test whether the compiler works. If it is missing, it will fail with the above error.

I've just submitted a pull request that will make the failure print an error message saying TouchControlOverlay is not available, and gives the URL to download it, instead of this more confusing error message.

asimonov-im commented 12 years ago

Thanks for the info, that makes sense. I had some questions about the pull request, so I haven't merged it yet.

asimonov-im commented 12 years ago

I seem to have forgotten to close this. The pull request did get merged.