lpereira / lwan

Experimental, scalable, high performance HTTP server
https://lwan.ws
GNU General Public License v2.0
5.94k stars 548 forks source link

still can not build on mac #160

Closed tkizm1 closed 8 years ago

tkizm1 commented 8 years ago

[ 1%] Creating directories for 'mimegen' [ 3%] No download step for 'mimegen' [ 5%] No patch step for 'mimegen' [ 7%] No update step for 'mimegen' [ 9%] Performing configure step for 'mimegen' -- The C compiler identification is AppleClang 7.3.0.7030031 -- The CXX compiler identification is AppleClang 7.3.0.7030031 -- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc -- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Detecting C compile features -- Detecting C compile features - done -- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Detecting CXX compile features -- Detecting CXX compile features - done -- Found ZLIB: /usr/lib/libz.dylib (found version "1.2.5") -- Using zlib (/usr/lib/libz.dylib) for mimegen -- Configuring done -- Generating done -- Build files have been written to: /Users/tk/MEGAsync/cloud/libs/lwan/build/common/tools/src/mimegen-build [ 11%] Performing build step for 'mimegen' Scanning dependencies of target mimegen [ 20%] Building C object CMakeFiles/mimegen.dir/mimegen.c.o [ 40%] Building C object CMakeFiles/mimegen.dir/Users/tk/MEGAsync/cloud/libs/lwan/common/hash.c.o [ 60%] Building C object CMakeFiles/mimegen.dir/Users/tk/MEGAsync/cloud/libs/lwan/common/murmur3.c.o [ 80%] Building C object CMakeFiles/mimegen.dir/Users/tk/MEGAsync/cloud/libs/lwan/common/reallocarray.c.o [100%] Linking C executable mimegen [100%] Built target mimegen [ 12%] Performing install step for 'mimegen' [ 14%] Completed 'mimegen' [ 14%] Built target mimegen Scanning dependencies of target generate_mime_types_table [ 16%] Generating ../mime-types.h Uncompressed: 27945 bytes; compressed: 7380 bytes (compressed 3.786585x) [ 16%] Built target generate_mime_types_table Scanning dependencies of target lwan-static [ 18%] Building C object common/CMakeFiles/lwan-static.dir/base64.c.o [ 20%] Building C object common/CMakeFiles/lwan-static.dir/hash.c.o [ 22%] Building C object common/CMakeFiles/lwan-static.dir/int-to-str.c.o In file included from /Users/tk/MEGAsync/cloud/libs/lwan/common/int-to-str.c:21: In file included from /Users/tk/MEGAsync/cloud/libs/lwan/common/int-to-str.h:21: /Users/tk/MEGAsync/cloud/libs/lwan/common/lwan.h:283:5: error: unknown type name 'pthread_barrier_t' pthread_barrier_t barrier; ^ 1 error generated. make[2]: ** [common/CMakeFiles/lwan-static.dir/int-to-str.c.o] Error 1 make[1]: * [common/CMakeFiles/lwan-static.dir/all] Error 2 make: * [all] Error 2

lpereira commented 8 years ago

The output seems quite strange. Have you tried running cmake on a clean directory? It should say this (among other things):

-- Looking for pthread_barrier_init
-- Looking for pthread_barrier_init - not found
lampmanyao commented 8 years ago

It seems forget including the missing.h header file.

tkizm1 commented 8 years ago

still not work

-- Looking for pthread_barrier_init
-- Looking for pthread_barrier_init - not found
lpereira commented 8 years ago

Please try building with revision adc755d50ec5ce3c7fb77e4dc6dfe0e1007a71bd (git pull; git checkout adc755, then make as usual).

Current HEAD does not have the changes introduced with that commit, since it doesn't build on Linux. I'll eventually find a way to fix this on all platforms at the same time.

tkizm1 commented 8 years ago
[ 14%] Built target mimegen
[ 16%] Built target generate_mime_types_table
[ 18%] Building C object common/CMakeFiles/lwan-static.dir/int-to-str.c.o
In file included from /Users/tk/MEGAsync/cloud/libs/lwan/common/int-to-str.c:23:
In file included from /Users/tk/MEGAsync/cloud/libs/lwan/common/lwan-private.h:22:
/Users/tk/MEGAsync/cloud/libs/lwan/common/missing.h:78:30: warning: declaration of 'struct sockaddr' will not be visible
      outside of this function [-Wvisibility]
int accept4(int sock, struct sockaddr *addr, socklen_t *addrlen, int flags);
                             ^
/Users/tk/MEGAsync/cloud/libs/lwan/common/missing.h:78:46: error: unknown type name 'socklen_t'
int accept4(int sock, struct sockaddr *addr, socklen_t *addrlen, int flags);
                                             ^
1 warning and 1 error generated.
make[2]: *** [common/CMakeFiles/lwan-static.dir/int-to-str.c.o] Error 1
make[1]: *** [common/CMakeFiles/lwan-static.dir/all] Error 2
make: *** [all] Error 2
lpereira commented 8 years ago

I finally got a shell on a Mac OS X Yosemite machine, and was able to reproduce your problems. I'll be able to fix this during this week.

lpereira commented 8 years ago

The build should be fixed; could you please try and comment if it also works for you, @tkisme?

lpereira commented 8 years ago

BTW, there's now a buildbot running on that machine.

tkizm1 commented 8 years ago

that works,thx