PageSpeed 1.11.33.0 checking for psol not found.

330 views
Skip to first unread message

Yon Hisem

unread,
Apr 8, 2016, 4:58:22 AM4/8/16
to ngx-pagespeed-discuss
CentOS 6.4 , nginx 1.8.1 .
build_from_source=false
checking for psol ... not found
./configure: error: module ngx_pagespeed requires the pagespeed optimization library.
Look in obj/autoconf.err for more details.

cat objs/autoconf.err


----------------------------------------
checking for C compiler


----------------------------------------
checking for gcc -pipe switch


----------------------------------------
checking for gcc builtin atomic operations


----------------------------------------
checking for C99 variadic macros


----------------------------------------
checking for gcc variadic macros


----------------------------------------
checking for unistd.h


----------------------------------------
checking for inttypes.h


----------------------------------------
checking for limits.h


----------------------------------------
checking for sys/filio.h

objs/autotest.c:3:23: error: sys/filio.h: No such file or directory
----------


#include <sys/filio.h>

int main() {
    return 0;
}

----------
cc -o objs/autotest objs/autotest.c
----------

----------------------------------------
checking for sys/param.h


----------------------------------------
checking for sys/mount.h


----------------------------------------
checking for sys/statvfs.h


----------------------------------------
checking for crypt.h


----------------------------------------
checking for epoll


----------------------------------------
checking for EPOLLRDHUP


----------------------------------------
checking for O_PATH

objs/autotest.c: In function 'main':
objs/autotest.c:10: error: 'O_PATH' undeclared (first use in this function)
objs/autotest.c:10: error: (Each undeclared identifier is reported only once
objs/autotest.c:10: error: for each function it appears in.)
objs/autotest.c:11: error: 'AT_EMPTY_PATH' undeclared (first use in this function)
----------

#include <sys/types.h>
#include <unistd.h>
#include <sys/types.h>
                  #include <sys/stat.h>
                  #include <fcntl.h>

int main() {
    int fd; struct stat sb;
                  fd = openat(AT_FDCWD, ".", O_PATH|O_DIRECTORY|O_NOFOLLOW);
                  if (fstatat(fd, "", &sb, AT_EMPTY_PATH) != 0) return 1;
    return 0;
}

----------
cc -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -o objs/autotest objs/autotest.c
----------

----------------------------------------
checking for sendfile()


----------------------------------------
checking for sendfile64()


----------------------------------------
checking for sys/prctl.h


----------------------------------------
checking for prctl(PR_SET_DUMPABLE)


----------------------------------------
checking for sched_setaffinity()


----------------------------------------
checking for crypt_r()


----------------------------------------
checking for sys/vfs.h


----------------------------------------
checking for poll()


----------------------------------------
checking for /dev/poll

objs/autotest.c:4:25: error: sys/devpoll.h: No such file or directory
objs/autotest.c: In function 'main':
objs/autotest.c:7: error: storage size of 'dvp' isn't known
objs/autotest.c:12: error: 'DP_POLL' undeclared (first use in this function)
objs/autotest.c:12: error: (Each undeclared identifier is reported only once
objs/autotest.c:12: error: for each function it appears in.)
----------

#include <sys/types.h>
#include <unistd.h>
#include <sys/devpoll.h>

int main() {
    int  n, dp; struct dvpoll  dvp;
                  dp = 0;
                  dvp.dp_fds = NULL;
                  dvp.dp_nfds = 0;
                  dvp.dp_timeout = 0;
                  n = ioctl(dp, DP_POLL, &dvp);
                  if (n == -1) return 1;
    return 0;
}

----------
cc -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -o objs/autotest objs/autotest.c
----------

----------------------------------------
checking for kqueue

objs/autotest.c:4:23: error: sys/event.h: No such file or directory
----------

#include <sys/types.h>
#include <unistd.h>
#include <sys/event.h>

int main() {
    int kq; kq = kqueue();
    return 0;
}

----------
cc -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -o objs/autotest objs/autotest.c
----------

----------------------------------------
checking for crypt()

/tmp/ccD3SsVf.o: In function `main':
autotest.c:(.text+0xf): undefined reference to `crypt'
collect2: ld returned 1 exit status
----------

#include <sys/types.h>
#include <unistd.h>


int main() {
    crypt("test", "salt");;
    return 0;
}

----------
cc -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -o objs/autotest objs/autotest.c
----------

----------------------------------------
checking for crypt() in libcrypt


----------------------------------------
checking for F_READAHEAD

objs/autotest.c: In function 'main':
objs/autotest.c:7: error: 'F_READAHEAD' undeclared (first use in this function)
objs/autotest.c:7: error: (Each undeclared identifier is reported only once
objs/autotest.c:7: error: for each function it appears in.)
----------

#include <sys/types.h>
#include <unistd.h>
#include <fcntl.h>

int main() {
    fcntl(0, F_READAHEAD, 1);;
    return 0;
}

----------
cc -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -o objs/autotest objs/autotest.c
----------

----------------------------------------
checking for posix_fadvise()


----------------------------------------
checking for O_DIRECT


----------------------------------------
checking for F_NOCACHE

objs/autotest.c: In function 'main':
objs/autotest.c:7: error: 'F_NOCACHE' undeclared (first use in this function)
objs/autotest.c:7: error: (Each undeclared identifier is reported only once
objs/autotest.c:7: error: for each function it appears in.)
----------

#include <sys/types.h>
#include <unistd.h>
#include <fcntl.h>

int main() {
    fcntl(0, F_NOCACHE, 1);;
    return 0;
}

----------
cc -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -o objs/autotest objs/autotest.c
----------

----------------------------------------
checking for directio()

objs/autotest.c: In function 'main':
objs/autotest.c:8: error: 'DIRECTIO_ON' undeclared (first use in this function)
objs/autotest.c:8: error: (Each undeclared identifier is reported only once
objs/autotest.c:8: error: for each function it appears in.)
----------

#include <sys/types.h>
#include <unistd.h>
#include <sys/types.h>
                  #include <sys/fcntl.h>

int main() {
    directio(0, DIRECTIO_ON);;
    return 0;
}

----------
cc -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -o objs/autotest objs/autotest.c
----------

----------------------------------------
checking for statfs()


----------------------------------------
checking for statvfs()


----------------------------------------
checking for dlopen()

/tmp/ccxeIzsw.o: In function `main':
autotest.c:(.text+0xf): undefined reference to `dlopen'
collect2: ld returned 1 exit status
----------

#include <sys/types.h>
#include <unistd.h>
#include <dlfcn.h>

int main() {
    dlopen(NULL, 0);
    return 0;
}

----------
cc -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -o objs/autotest objs/autotest.c
----------

----------------------------------------
checking for dlopen() in libdl


----------------------------------------
checking for sched_yield()


----------------------------------------
checking for SO_SETFIB

objs/autotest.c: In function 'main':
objs/autotest.c:7: error: 'SO_SETFIB' undeclared (first use in this function)
objs/autotest.c:7: error: (Each undeclared identifier is reported only once
objs/autotest.c:7: error: for each function it appears in.)
----------

#include <sys/types.h>
#include <unistd.h>
#include <sys/socket.h>

int main() {
    setsockopt(0, SOL_SOCKET, SO_SETFIB, NULL, 4);
    return 0;
}

----------
cc -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -o objs/autotest objs/autotest.c
----------

----------------------------------------
checking for SO_ACCEPTFILTER

objs/autotest.c: In function 'main':
objs/autotest.c:7: error: 'SO_ACCEPTFILTER' undeclared (first use in this function)
objs/autotest.c:7: error: (Each undeclared identifier is reported only once
objs/autotest.c:7: error: for each function it appears in.)
----------

#include <sys/types.h>
#include <unistd.h>
#include <sys/socket.h>

int main() {
    setsockopt(0, SOL_SOCKET, SO_ACCEPTFILTER, NULL, 0);
    return 0;
}

----------
cc -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -o objs/autotest objs/autotest.c
----------

----------------------------------------
checking for TCP_DEFER_ACCEPT


----------------------------------------
checking for TCP_KEEPIDLE


----------------------------------------
checking for TCP_FASTOPEN

objs/autotest.c: In function 'main':
objs/autotest.c:9: error: 'TCP_FASTOPEN' undeclared (first use in this function)
objs/autotest.c:9: error: (Each undeclared identifier is reported only once
objs/autotest.c:9: error: for each function it appears in.)
----------

#include <sys/types.h>
#include <unistd.h>
#include <sys/socket.h>
                  #include <netinet/in.h>
                  #include <netinet/tcp.h>

int main() {
    setsockopt(0, IPPROTO_TCP, TCP_FASTOPEN, NULL, 0);
    return 0;
}

----------
cc -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -o objs/autotest objs/autotest.c
----------

----------------------------------------
checking for TCP_INFO


----------------------------------------
checking for accept4()


----------------------------------------
checking for eventfd()


----------------------------------------
checking for int size


----------------------------------------
checking for long size


----------------------------------------
checking for long long size


----------------------------------------
checking for void * size


----------------------------------------
checking for uint64_t


----------------------------------------
checking for sig_atomic_t


----------------------------------------
checking for sig_atomic_t size


----------------------------------------
checking for socklen_t


----------------------------------------
checking for in_addr_t


----------------------------------------
checking for in_port_t


----------------------------------------
checking for rlim_t


checking for uintptr_t

checking for system byte ordering

----------------------------------------
checking for size_t size


----------------------------------------
checking for off_t size


----------------------------------------
checking for time_t size


----------------------------------------
checking for setproctitle()

/tmp/ccdLYKRo.o: In function `main':
autotest.c:(.text+0xf): undefined reference to `setproctitle'
collect2: ld returned 1 exit status
----------

#include <sys/types.h>
#include <unistd.h>
#include <stdlib.h>

int main() {
    setproctitle("test");;
    return 0;
}

----------
cc -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -o objs/autotest objs/autotest.c
----------

----------------------------------------
checking for pread()


----------------------------------------
checking for pwrite()


----------------------------------------
checking for sys_nerr

/tmp/ccgAN6fy.o: In function `main':
autotest.c:(.text+0x6): warning: `sys_nerr' is deprecated; use `strerror' or `strerror_r' instead
135
----------------------------------------
checking for localtime_r()


----------------------------------------
checking for posix_memalign()


----------------------------------------
checking for memalign()


----------------------------------------
checking for mmap(MAP_ANON|MAP_SHARED)


----------------------------------------
checking for mmap("/dev/zero", MAP_SHARED)


----------------------------------------
checking for System V shared memory


----------------------------------------
checking for POSIX semaphores

/tmp/cckQZSEO.o: In function `main':
autotest.c:(.text+0x1a): undefined reference to `sem_init'
autotest.c:(.text+0x32): undefined reference to `sem_destroy'
collect2: ld returned 1 exit status
----------

#include <sys/types.h>
#include <unistd.h>
#include <semaphore.h>

int main() {
    sem_t  sem;
                  if (sem_init(&sem, 1, 0) == -1) return 1;
                  sem_destroy(&sem);;
    return 0;
}

----------
cc -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -o objs/autotest objs/autotest.c
----------

----------------------------------------
checking for POSIX semaphores in libpthread


----------------------------------------
checking for struct msghdr.msg_control


----------------------------------------
checking for ioctl(FIONBIO)


----------------------------------------
checking for struct tm.tm_gmtoff


----------------------------------------
checking for struct dirent.d_namlen

objs/autotest.c: In function 'main':
objs/autotest.c:8: error: 'struct dirent' has no member named 'd_namlen'
objs/autotest.c:9: error: 'struct dirent' has no member named 'd_namlen'
----------

#include <sys/types.h>
#include <unistd.h>
#include <dirent.h>
                  #include <stdio.h>

int main() {
    struct dirent  dir; dir.d_namlen = 0;
                  printf("%d", (int) dir.d_namlen);
    return 0;
}

----------
cc -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -o objs/autotest objs/autotest.c
----------

----------------------------------------
checking for struct dirent.d_type


----------------------------------------
checking for sysconf(_SC_NPROCESSORS_ONLN)


----------------------------------------
checking for openat(), fstatat()


----------------------------------------
checking for getaddrinfo()


----------------------------------------
checking for psol

/home/vagrant/ngx_pagespeed-release-1.11.33.0-beta/psol/lib/Release/linux/ia32/pagespeed_automatic.a: could not read symbols: File in wrong format
collect2: ld returned 1 exit status
----------

#include <sys/types.h>
#include <unistd.h>

#include "pagespeed/kernel/base/string.h"
#include "pagespeed/kernel/base/string_writer.h"
#include "pagespeed/kernel/base/null_message_handler.h"
#include "pagespeed/kernel/html/html_parse.h"
#include "pagespeed/kernel/html/html_writer_filter.h"


int main() {


  GoogleString output_buffer;
  net_instaweb::StringWriter write_to_string(&output_buffer);

  net_instaweb::NullMessageHandler handler;
  net_instaweb::HtmlParse html_parse(&handler);
  net_instaweb::HtmlWriterFilter html_writer_filter(&html_parse);

  html_writer_filter.set_writer(&write_to_string);
  html_parse.AddFilter(&html_writer_filter);

  html_parse.StartParse("http:example.com");
  html_parse.ParseText(
      "<html ><body ><h1 >Test</h1 ><p>Test Text</p></body></html>\n");
  html_parse.FinishParse();

  printf("parsed as: %s", output_buffer.c_str());
    return 0;
}

----------
cc -D_GLIBCXX_USE_CXX11_ABI=0 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -I /home/vagrant/ngx_pagespeed-release-1.11.33.0-beta/psol/include -I /home/vagrant/ngx_pagespeed-release-1.11.33.0-beta/psol/include/third_party/chromium/src -I /home/vagrant/ngx_pagespeed-release-1.11.33.0-beta/psol/include/third_party/google-sparsehash/src -I /home/vagrant/ngx_pagespeed-release-1.11.33.0-beta/psol/include/third_party/google-sparsehash/gen/arch/linux/ia32/include -I /home/vagrant/ngx_pagespeed-release-1.11.33.0-beta/psol/include/third_party/protobuf/src -I /home/vagrant/ngx_pagespeed-release-1.11.33.0-beta/psol/include/third_party/re2/src -I /home/vagrant/ngx_pagespeed-release-1.11.33.0-beta/psol/include/out/Release/obj/gen -I /home/vagrant/ngx_pagespeed-release-1.11.33.0-beta/psol/include/out/Release/obj/gen/protoc_out/instaweb -I /home/vagrant/ngx_pagespeed-release-1.11.33.0-beta/psol/include/third_party/apr/src/include -I /home/vagrant/ngx_pagespeed-release-1.11.33.0-beta/psol/include/third_party/aprutil/src/include -I /home/vagrant/ngx_pagespeed-release-1.11.33.0-beta/psol/include/third_party/apr/gen/arch/linux/ia32/include -I /home/vagrant/ngx_pagespeed-release-1.11.33.0-beta/psol/include/third_party/aprutil/gen/arch/linux/ia32/include -o objs/autotest objs/autotest.cc -lstdc++ /home/vagrant/ngx_pagespeed-release-1.11.33.0-beta/psol/lib/Release/linux/ia32/pagespeed_automatic.a -lrt -pthread -lm
----------

Jeff Kaufman

unread,
Apr 8, 2016, 9:19:49 AM4/8/16
to ngx-pagesp...@googlegroups.com
The error is:

/home/vagrant/ngx_pagespeed-release-1.11.33.0-beta/psol/lib/Release/linux/ia32/pagespeed_automatic.a:
could not read symbols: File in wrong format
collect2: ld returned 1 exit status

I just tested this on a 32 bit centos 5 box, and didn't get any errors
about the format of the binary.

What do you get if you do:

md5sum /home/vagrant/ngx_pagespeed-release-1.11.33.0-beta/psol/lib/Release/linux/ia32/pagespeed_automatic.a

I get ff8a8eae1c6472c945a6e26d0fc20acf, and you should be getting the
same. If not you probably have a corrupt download and you should
start the instructions over again after deleting the files.

Could you paste the output of "cat /proc/cpuinfo"?
> --
> You received this message because you are subscribed to the Google Groups
> "ngx-pagespeed-discuss" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to ngx-pagespeed-di...@googlegroups.com.
> Visit this group at https://groups.google.com/group/ngx-pagespeed-discuss.
> For more options, visit https://groups.google.com/d/optout.
Reply all
Reply to author
Forward
0 new messages