Closed ghost closed 10 years ago
./setup-libraries.sh
creates config.gypi
so it did not actually complete successfully. Run it again and see what the error is.
@kkaefer - seems like the logic in setup-libraries should be moved into the Makefile
to avoid this situation where a failure does not stop the process and an incomplete setup is not more obvious. I'll put this on my list.
Just also hit the cause of the /setup-libraries.sh
failure: https://github.com/mapnik/mapnik-packaging/issues/149
I just blew away my llm-native directory and xcode derived data, cloned a fresh copy and ran .setup-libraries.sh
. I got a whole bunch of stuff ending with:
**** downloading openssl-1.0.1g.tar.gz ****
**** *building openssl ****
**** unknown os/compiler version for your platform MacOSX ****
Configuring for
Usage: Configure [no-<cipher> ...] [enable-<cipher> ...] [experimental-<cipher> ...] [-Dxxx] [-lxxx] [-Lxxx] [-fxxx] [-Kxxx] [no-hw-xxx|no-hw] [[no-]threads] [[no-]shared] [[no-]zlib|zlib-dynamic] [no-asm] [no-dso] [no-krb5] [sctp] [386] [--prefix=DIR] [--openssldir=OPENSSLDIR] [--with-xxx[=vvv]] [--test-sanity] os/compiler[:flags]
pick os/compiler from:
BC-32 BS2000-OSD BSD-generic32 BSD-generic64 BSD-ia64 BSD-sparc64 BSD-sparcv8
BSD-x86 BSD-x86-elf BSD-x86_64 Cygwin Cygwin-pre1.3 DJGPP MPE/iX-gcc OS2-EMX
OS390-Unix QNX6 QNX6-i386 ReliantUNIX SINIX SINIX-N UWIN VC-CE VC-WIN32
VC-WIN64A VC-WIN64I aix-cc aix-gcc aix3-cc aix64-cc aix64-gcc android
android-armv7 android-x86 aux3-gcc beos-x86-bone beos-x86-r5 bsdi-elf-gcc cc
cray-j90 cray-t3e darwin-i386-cc darwin-ppc-cc darwin64-ppc-cc
darwin64-x86_64-cc dgux-R3-gcc dgux-R4-gcc dgux-R4-x86-gcc dist gcc hpux-cc
hpux-gcc hpux-ia64-cc hpux-ia64-gcc hpux-parisc-cc hpux-parisc-cc-o4
hpux-parisc-gcc hpux-parisc1_1-cc hpux-parisc1_1-gcc hpux-parisc2-cc
hpux-parisc2-gcc hpux64-ia64-cc hpux64-ia64-gcc hpux64-parisc2-cc
hpux64-parisc2-gcc hurd-x86 iphoneos-cross irix-cc irix-gcc irix-mips3-cc
irix-mips3-gcc irix64-mips4-cc irix64-mips4-gcc linux-alpha+bwx-ccc
linux-alpha+bwx-gcc linux-alpha-ccc linux-alpha-gcc linux-aout linux-armv4
linux-elf linux-generic32 linux-generic64 linux-ia32-icc linux-ia64
linux-ia64-ecc linux-ia64-icc linux-ppc linux-ppc64 linux-sparcv8
linux-sparcv9 linux-x86_64 linux32-s390x linux64-s390x linux64-sparcv9 mingw
mingw64 ncr-scde netware-clib netware-clib-bsdsock netware-clib-bsdsock-gcc
netware-clib-gcc netware-libc netware-libc-bsdsock netware-libc-bsdsock-gcc
netware-libc-gcc newsos4-gcc nextstep nextstep3.3 osf1-alpha-cc osf1-alpha-gcc
purify qnx4 rhapsody-ppc-cc sco5-cc sco5-gcc solaris-sparcv7-cc
solaris-sparcv7-gcc solaris-sparcv8-cc solaris-sparcv8-gcc solaris-sparcv9-cc
solaris-sparcv9-gcc solaris-x86-cc solaris-x86-gcc solaris64-sparcv9-cc
solaris64-sparcv9-gcc solaris64-x86_64-cc solaris64-x86_64-gcc sunos-gcc
tandem-c89 tru64-alpha-cc uClinux-dist uClinux-dist64 ultrix-cc ultrix-gcc
unixware-2.0 unixware-2.1 unixware-7 unixware-7-gcc vos-gcc vxworks-mips
vxworks-ppc405 vxworks-ppc60x vxworks-ppc750 vxworks-ppc750-debug
vxworks-ppc860 vxworks-ppcgen vxworks-simlinux debug debug-BSD-x86-elf
debug-Cygwin debug-VC-WIN32 debug-VC-WIN64A debug-VC-WIN64I debug-ben
debug-ben-darwin64 debug-ben-debug debug-ben-debug-64 debug-ben-macos
debug-ben-macos-gcc46 debug-ben-no-opt debug-ben-openbsd
debug-ben-openbsd-debug debug-ben-strict debug-bodo debug-darwin-i386-cc
debug-darwin-ppc-cc debug-geoff32 debug-geoff64 debug-levitte-linux-elf
debug-levitte-linux-elf-extreme debug-levitte-linux-noasm
debug-levitte-linux-noasm-extreme debug-linux-elf debug-linux-elf-noefence
debug-linux-generic32 debug-linux-generic64 debug-linux-ia32-aes
debug-linux-pentium debug-linux-ppro debug-linux-x86_64 debug-rse
debug-solaris-sparcv8-cc debug-solaris-sparcv8-gcc debug-solaris-sparcv9-cc
debug-solaris-sparcv9-gcc debug-steve-opt debug-steve32 debug-steve64
debug-ulf debug-vos-gcc
NOTE: If in doubt, on Unix-ish systems use './config'.
Checking the build log I saved from before, it also did the same thing last time, but I thought everything was fine since there wasn't any obvious error message at the bottom.
@springmeyer I think I found the problem. On my machine, when I add an echo ${PLATFORM}
to that build script, it evaluates to MacOSX
, but the script is looking for Darwin
.
No clue whether Darwin is correct somewhere, but it's wrong on my box.
@wsnook yes, I'm aware of the problem and am working on a fix. Did you miss my comment above? https://github.com/mapbox/llmr-native/issues/190#issuecomment-42875700
Sorry, I got the impression you were busy elsewhere and still hadn't tracked it down.
edit: And I just realized that perhaps you were referring to my comment with the error message rather than the one with the solution.
Okay, sorry about the confusion. Can you try ./setup-libraries.sh
again? Just pushed a fix for the openssl build regression: https://github.com/mapnik/mapnik-packaging/commit/7f0bee94c528512f20776ef7a8d29adc9a0e8eaa. I'm not sure if this will work on all iPhone targets, but does work on Mac OSX.
OpenSSL is fine now, or at least it doesn't kill the setup script. When it gets down to boost though, this happens:
**** bootstrapping boost ****
-n Building Boost.Build engine with toolset clang...
tools/build/v2/engine/bin.macosxx86_64/b2
-n Detecting Python version...
2.7
-n Detecting Python root...
/System/Library/Frameworks/Python.framework/Versions/2.7
-n Unicode/ICU support for Boost.Regex?...
not found.
Generating Boost.Build configuration in project-config.jam...
Bootstrapping is done. To build, run:
./b2
To adjust configuration, edit 'project-config.jam'.
Further information:
- Command line help:
./b2 --help
- Getting started guide:
http://www.boost.org/more/getting_started/unix-variants.html
- Boost.Build documentation:
http://www.boost.org/boost-build2/doc/html/index.html
**** compiling boost ****
**** building bcp ****
link.jam: No such file or directory
Performing configuration checks
- has_icu builds : no
**** installing headers with bcp ****
no errors detected
no errors detected
no errors detected
24M bcp_staging/boost/
...done
*making universal libs*
*merging /Users/b/Documents/iOS/llmr-native/mapnik-packaging/osx/out/build-cpp11-libcpp-x86_64*
*merging /Users/b/Documents/iOS/llmr-native/mapnik-packaging/osx/out/build-cpp11-libcpp-arm64*
*merging /Users/b/Documents/iOS/llmr-native/mapnik-packaging/osx/out/build-cpp11-libcpp-armv7s*
*merging /Users/b/Documents/iOS/llmr-native/mapnik-packaging/osx/out/build-cpp11-libcpp-armv7*
*merging /Users/b/Documents/iOS/llmr-native/mapnik-packaging/osx/out/build-cpp11-libcpp-i386*
*making universal libcrypto.a*
Architectures in the fat file: /Users/b/Documents/iOS/llmr-native/mapnik-packaging/osx/out/build-cpp11-libcpp-universal/lib/libcrypto.a are: x86_64
*making universal libcurl.a*
Architectures in the fat file: /Users/b/Documents/iOS/llmr-native/mapnik-packaging/osx/out/build-cpp11-libcpp-universal/lib/libcurl.a are: x86_64
*making universal libglfw3.a*
Architectures in the fat file: /Users/b/Documents/iOS/llmr-native/mapnik-packaging/osx/out/build-cpp11-libcpp-universal/lib/libglfw3.a are: x86_64
*making universal libpng.a*
Architectures in the fat file: /Users/b/Documents/iOS/llmr-native/mapnik-packaging/osx/out/build-cpp11-libcpp-universal/lib/libpng.a are: x86_64 armv7s armv7 i386 arm64
*making universal libpng16.a*
Architectures in the fat file: /Users/b/Documents/iOS/llmr-native/mapnik-packaging/osx/out/build-cpp11-libcpp-universal/lib/libpng16.a are: x86_64 armv7s armv7 i386 arm64
*making universal libssl.a*
Architectures in the fat file: /Users/b/Documents/iOS/llmr-native/mapnik-packaging/osx/out/build-cpp11-libcpp-universal/lib/libssl.a are: x86_64
*making universal libuv.a*
Architectures in the fat file: /Users/b/Documents/iOS/llmr-native/mapnik-packaging/osx/out/build-cpp11-libcpp-universal/lib/libuv.a are: x86_64 armv7s armv7 i386 arm64
Traceback (most recent call last):
File "./configure", line 119, in <module>
configure_glfw3(output)
File "./configure", line 70, in configure_glfw3
ret = pkg_config('glfw3', options.pkgconfig_root)
File "./configure", line 43, in pkg_config
cmd = subprocess.Popen(['pkg-config', '--static', '--libs', pkg], stdout=subprocess.PIPE, env=env)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 711, in __init__
errread, errwrite)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 1308, in _execute_child
raise child_exception
OSError: [Errno 2] No such file or directory
the pkg-config error should be caught now by https://github.com/mapbox/llmr-native/commit/6538f580ce52259ff837b85622f0553d0d0c5885
Running it again after a brew install pkgconfig
worked and setup-libraries.sh
ended with
creating ./config.gypi
creating ./config.mk
Does the hyphen matter for brew install pkg-config
vs brew install pkgconfig
? I did it without, and your commit has pkg-config.
hyphen does not matter for homebrew AFAICT, I think it aliases things.
make iproj
works, and it runs on 32 bit iPhone simulator, 64 bit iPhone simulator, and my iPhone 5s.
The only thing is that there aren't any labels on any of the roads, so I'm guessing there's some other step I've gotta do.
Nope @wsnook, this is tracking at https://github.com/mapbox/llmr-native/issues/162. Labels are not in a great place right now and build process doesn't affect this.
Okay, well for the purposes of this ticket, that's good. @springmeyer can we close this now?
Awesome! Always good to have someone with a clean build machine :)
Starting from a freshly (a few hours ago) cloned llmr-native master branch, I ran
setup-libraries.sh
with no major problems, but when I tried to do amake iproj
, I got this:It seems as though there isn't actually a
config.gypi
checked into the source anywhere, but it is referenced in the Makefile and other .gyp files. Theconfigure
script seems to have been intended to generate aconfig.gypi
because it includes a line with:However if I attempt to run
./configure
, it does this:So, if the proper intended build sequence for iOS is
./configure; make iproj
, then it looks like the documentation needs to mention that, and the configure script needs to be debugged.