We-Amp / ngx-pagespeed-alpine

ngx_pagespeed docker image for Alpine. Moved over to https://github.com/apache/incubator-pagespeed-ngx/tree/master/docker
Apache License 2.0
35 stars 26 forks source link

It is not build it, err log #7

Closed blueapple168 closed 6 years ago

blueapple168 commented 6 years ago

Step 23/42 : RUN wget https://nginx.org/download/nginx-${NGINX_VERSION}.tar.gz https://nginx.org/download/nginx-${NGINX_VERSION}.tar.gz.asc && (gpg --keyserver ha.pool.sks-keyservers.net --keyserver-options timeout=10 --recv-keys ${NGINX_PGPKEY} || gpg --keyserver hkp://keyserver.ubuntu.com:80 --keyserver-options timeout=10 --recv-keys ${NGINX_PGPKEY} || gpg --keyserver hkp://p80.pool.sks-keyservers.net:80 --keyserver-options timeout=10 --recv-keys $NGINX_PGPKEY} ) && gpg --trusted-key ${NGINX_PGPKEY} --verify nginx-${NGINX_VERSION}.tar.gz.asc

---> Running in dce90e9d2ea7

Connecting to nginx.org (206.251.255.63:443)  nginx-1.14.0.tar.gz 100% |***| 992k 0:00:00 ETA

 Connecting to nginx.org (206.251.255.63:443)  nginx-1.14.0.tar.gz. 100% |***| 455 0:00:00 ETA

 gpg: directory '/root/.gnupg' created gpg: keybox '/root/.gnupg/pubring.kbx' created  gpg: key 520A9993A1C052F8: 6 signatures not checked due to missing keys  gpg: /root/.gnupg/trustdb.gpg: trustdb created gpg: key 520A9993A1C052F8: public key "Maxim Dounin mdounin@mdounin.ru" imported  gpg: no ultimately trusted keys found gpg: Total number processed: 1 gpg: imported: 1  gpg: assuming signed data in 'nginx-1.14.0.tar.gz'  gpg: Signature made Tue Apr 17 15:32:48 2018 UTC gpg: using RSA key 520A9993A1C052F8  gpg: key 520A9993A1C052F8 marked as ultimately trusted gpg: checking the trustdb gpg: marginals needed: 3 completes needed: 1 trust model: pgp gpg: depth: 0 valid: 1 signed: 0 trust: 0-, 0q, 0n, 0m, 0f, 1u gpg: Good signature from "Maxim Dounin mdounin@mdounin.ru" [ultimate]  ---> f944c351eabb

Removing intermediate container dce90e9d2ea7

Step 24/42 : COPY --from=pagespeed /usr/src/ngxpagespeed /usr/src/ngxpagespeed/

---> f4778a1a7ae6

Removing intermediate container acf866ad96cb

Step 25/42 : WORKDIR /usr/src/nginx

---> c4d9e1be4475

Removing intermediate container acf9a4ad05c1

Step 26/42 : RUN tar zxf ../nginx-${NGINX_VERSION}.tar.gz --strip-components=1 -C . && ./configure ${NGINX_BUILD_CONFIG} --add-module=/usr/src/ngxpagespeed --with-ld-opt="-Wl,-z,relro,--start-group -lapr-1 -laprutil-1 -licudata -licuuc -lpng -lturbojpeg -ljpeg" && make install -jnproc

---> Running in 0d78c5263d0b

checking for OS

checking for gcc -pipe switch ... found

checking for --with-ld-opt="-Wl,-z,relro,--start-group -lapr-1 -laprutil-1 -licudata -licuuc -lpng -lturbojpeg -ljpeg" ... found

checking for -Wl,-E switch ... found

checking for gcc builtin atomic operations ... found

checking for C99 variadic macros ... found

checking for gcc variadic macros ... found

checking for gcc builtin 64 bit byteswap ... found

checking for unistd.h ... found

checking for inttypes.h ... found

checking for limits.h ... found

checking for sys/filio.h ... not found

checking for sys/param.h ... found

checking for sys/mount.h ... found

checking for sys/statvfs.h ... found

checking for crypt.h ... found

checking for Linux specific features

checking for epoll ... found

checking for EPOLLRDHUP ... found

checking for EPOLLEXCLUSIVE ... found

checking for O_PATH ... found

checking for sendfile() ... found

checking for sendfile64() ... found

checking for sys/prctl.h ... found

checking for prctl(PR_SET_DUMPABLE) ... found

checking for prctl(PR_SET_KEEPCAPS) ... found

checking for capabilities ... found

checking for crypt_r() ... found

checking for sys/vfs.h ... found

checking for poll() ... found

checking for /dev/poll ... not found

checking for kqueue ... not found

checking for crypt() ... found

checking for F_READAHEAD ... not found

checking for posix_fadvise() ... found

checking for O_DIRECT ... found

checking for F_NOCACHE ... not found

checking for directio() ... not found

checking for statfs() ... found

checking for statvfs() ... found

checking for dlopen() ... found

checking for sched_yield() ... found

checking for sched_setaffinity() ... found

checking for SO_SETFIB ... not found

checking for SO_REUSEPORT ... found

checking for SO_ACCEPTFILTER ... not found

checking for SO_BINDANY ... not found

checking for IP_TRANSPARENT ... found

checking for IP_BINDANY ... not found

checking for IP_BIND_ADDRESS_NO_PORT ... found

checking for IP_RECVDSTADDR ... not found

checking for IP_SENDSRCADDR ... not found

checking for IP_PKTINFO ... found

checking for IPV6_RECVPKTINFO ... found

checking for TCP_DEFER_ACCEPT ... found

checking for TCP_KEEPIDLE ... found

checking for TCP_FASTOPEN ... found

checking for TCP_INFO ... found

checking for accept4() ... found

checking for kqueue AIO support ... not found

checking for Linux AIO support ... found

checking for int size ... 4 bytes

checking for long size ... 8 bytes

checking for long long size ... 8 bytes

checking for void * size ... 8 bytes

checking for uint32_t ... found

checking for uint64_t ... found

checking for sig_atomic_t ... found

checking for sig_atomic_t size ... 4 bytes

checking for socklen_t ... found

checking for in_addr_t ... found

checking for in_port_t ... found

checking for rlim_t ... found

checking for uintptr_t ... uintptr_t found

checking for system byte ordering ... little endian

checking for size_t size ... 8 bytes

checking for off_t size ... 8 bytes

checking for time_t size ... 8 bytes

checking for AF_INET6 ... found

checking for setproctitle() ... not found

checking for pread() ... found

checking for pwrite() ... found

checking for pwritev() ... found

checking for sys_nerr ... not found

checking for _sys_nerr ... not found

checking for maximum errno ... found

checking for localtime_r() ... found

checking for clock_gettime(CLOCK_MONOTONIC) ... found

checking for posix_memalign() ... found

checking for memalign() ... found

checking for mmap(MAP_ANON|MAP_SHARED) ... found

checking for mmap("/dev/zero", MAP_SHARED) ... found

checking for System V shared memory ... found

checking for POSIX semaphores ... found

checking for struct msghdr.msg_control ... found

checking for ioctl(FIONBIO) ... found

checking for struct tm.tm_gmtoff ... found

checking for struct dirent.d_namlen ... not found

checking for struct dirent.d_type ... found

checking for sysconf(_SC_NPROCESSORS_ONLN) ... found

checking for sysconf(_SC_LEVEL1_DCACHE_LINESIZE) ... not found

checking for openat(), fstatat() ... found

checking for getaddrinfo() ... found

configuring additional modules adding module in /usr/src/ngxpagespeed

mod_pagespeed_dir=/usr/src/ngxpagespeed/psol/include build_from_source=false checking for psol ... Build canceled.

click

chaosjosh33 commented 6 years ago

Same issue, build fails at checking for psol. error: module ngx_pagespeed requires the pagespeed optimization library.

oschaaf commented 6 years ago

Usually the real cause is logged in objs/autoconf.err when this happens. I'm not able to perform a test-run of this right now, but what strikes me is that on other platforms we need libuuid(-dev) which isn't showing here: https://github.com/We-Amp/ngx-pagespeed-alpine/blob/master/Dockerfile#L11

chaosjosh33 commented 6 years ago

Even with libuuid, seems to fail anyway.
autoconf.txt

oschaaf commented 6 years ago

Looks like the culprit is:

‘’’ In file included from objs/autotest.cc:9:0: /usr/src/ngxpagespeed/psol/include/pagespeed/kernel/html/html_writer_filter.h:123:64: warning: character constant too long for its type window[c] && window[c].tagName && (b += "var " + c + '=document.getElementById("' + c + '");'); ‘’’

Not sure when that started happening...

blueapple168 commented 6 years ago

full build logs https://hub.docker.com/r/blueapple/ngx-pagespeed-alpine37/builds/b6mkqgthvtvq8nyjzvf764y/

nberlee commented 6 years ago

@chaosjosh33 @blueapple168, please give me your output of uname -r && docker version && docker info

You need at least

As one of those will mess up big layers that are copied in a multi staged build.

Building still works for me, even after pruning docker build cache.

nberlee commented 6 years ago

I created a workaround, please test it. Changing mv (move) to cp -R (copy recursively) actually does not trigger the docker build bug.

chaosjosh33 commented 6 years ago

@nberlee 2.8.0(0.309/5/3) Client: Version: 18.03.0-ce API version: 1.29 (downgraded from 1.37) Go version: go1.9.4 Git commit: 0520e24302 Built: Fri Mar 23 08:31:36 2018 OS/Arch: windows/amd64 Experimental: false Orchestrator: swarm

Server: Engine: Version: 17.05.0-ce API version: 1.29 (minimum version 1.12) Go version: go1.7.5 Git commit: 89658be Built: Thu May 4 21:43:09 2017 OS/Arch: linux/amd64 Experimental: false Containers: 2 Running: 2 Paused: 0 Stopped: 0 Images: 33 Server Version: 17.05.0-ce Storage Driver: aufs Root Dir: /mnt/sda1/var/lib/docker/aufs Backing Filesystem: extfs Dirs: 36 Dirperm1 Supported: true Logging Driver: json-file Cgroup Driver: cgroupfs Plugins: Volume: local Network: bridge host macvlan null overlay Log: Swarm: inactive Runtimes: runc Default Runtime: runc Init Binary: docker-init containerd version: 9048e5e50717ea4497b757314bad98ea3763c145 runc version: 9c2d8d184e5da67c95d601382adf14862e4f2228 init version: 949e6fa Security Options: seccomp Profile: default Kernel Version: 4.4.66-boot2docker Operating System: Boot2Docker 17.05.0-ce (TCL 7.2); HEAD : 5ed2840 - Fri May 5 21:04:09 UTC 2017 OSType: linux Architecture: x86_64 CPUs: 1 Total Memory: 995.8MiB Name: default ID: SR6L:K6KP:ST7G:SXD7:MRJ6:NUJT:Z2VI:E7NP:KKHD:EAZR:5GTM:2AWO Docker Root Dir: /mnt/sda1/var/lib/docker Debug Mode (client): false Debug Mode (server): true File Descriptors: 38 Goroutines: 46 System Time: 2018-05-13T05:02:08.442396725Z EventsListeners: 1 Registry: https://index.docker.io/v1/ Labels: provider=virtualbox Experimental: false Insecure Registries: 127.0.0.0/8 Live Restore Enabled: false

Okay, cool. Will test.

blueapple168 commented 6 years ago

I can build it done! Thanks. Best Regards For You. image

It is works good.