Fails to build on GNU/Hurd

Bug #1191503 reported by Pino Toscano
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
libmemcached
New
Undecided
Unassigned

Bug Description

libmemcached 1.0.17 does not compile on GNU/Hurd. Also, there is one failure when running the test suite.

The attached patch fixes the following issues:

* libtest/timer.cc
The code in the __MACH__ blocks is specific to Mac OS X; since GNU/Hurd runs on a Mach-based microkernel (gnumach), __MACH__ is defined by the compiler, leading to compile issues. The solution is just changing the checked symbol (__APPLE__) so it is really used only on Mac OS X.

* libtest/unittest.cc
The Hurd implementation of posix_spawn in glibc fails straight away when the filename does not exist, i.e. what happens in application_doesnotexist_BINARY. Thus, fix the expected return value to be INVALID_POSIX_SPAWN.

Revision history for this message
Pino Toscano (pinotree) wrote :
Revision history for this message
Sergey Shilko (sergey-shilko) wrote :
Download full text (3.3 KiB)

My tests are not passing with 1 error for 1.0.18 version, sources do compile

libtest/unittest.cc:626: in application_doesnotexist_BINARY() Assertion 'Application::SUCCESS' != 'true_app.run(args)'
unittest.application.doesnotexist --fubar [ failed ]
unittest.application.echo fubar 0:000003595 [ ok ]

Tests 65
        Failed 1
        Skipped 9
        Succeeded 55

Under raw docker image of debian:stretch (https://hub.docker.com/_/debian/)

https://github.com/debuerreotype/docker-debian-artifacts/blob/de09dd55b6328b37b89a33e76b698f9dbe611fab/stretch/Dockerfile

---
Configuration summary for libmemcached version 1.0.18

   * Installation prefix: /usr/local/php7/tripod-php7/lib/libmemcached-shared
   * System type: unknown-linux-gnu
   * Host CPU: x86_64
   * C Compiler: gcc (Debian 6.3.0-18) 6.3.0 20170516
   * C Flags: -O2 -mcx16 -m64 -maes -march=corei7 -mfpmath=sse -minline-all-stringops -pipe -fstack-protector-strong -Wformat -Werror=format-security -fPIE -fno-strict-aliasing -fsigned-char -mpc64 --param=ssp-buffer-size=4 -std=gnu99 -Wno-terminate -g -Wno-unknown-pragmas -Wno-pragmas -Wall -Wextra -Wunsuffixed-float-constants -Wjump-misses-init -Wno-attributes -Waddress -Wvarargs -Warray-bounds -Wbad-function-cast -Wchar-subscripts -Wcomment -Wfloat-equal -Wformat-security -Wformat=2 -Wformat-y2k -Wlogical-op -Wmaybe-uninitialized -Wmissing-field-initializers -Wmissing-noreturn -Wmissing-prototypes -Wnested-externs -Wnormalized=id -Woverride-init -Wpointer-arith -Wpointer-sign -Wredundant-decls -Wshadow -Wsign-compare -Wstrict-overflow=1 -Wswitch-enum -Wtrampolines -Wundef -Wunsafe-loop-optimizations -funsafe-loop-optimizations -Wclobbered -Wunused -Wunused-result -Wunused-variable -Wunused-parameter -Wunused-local-typedefs -Wwrite-strings -fwrapv -pie -Wsizeof-pointer-memaccess -Wpacked
   * C++ Compiler: c++ (Debian 6.3.0-18) 6.3.0 20170516
   * C++ Flags: -O2 -mcx16 -m64 -maes -march=corei7 -mfpmath=sse -minline-all-stringops -pipe -fstack-protector-strong -Wformat -Werror=format-security -fPIE -fno-strict-aliasing -fsigned-char -mpc64 --param=ssp-buffer-size=4 -Wno-terminate -g -Wno-unknown-pragmas -Wno-pragmas -Wall -Wextra -Wno-attributes -Wvarargs -Waddress -Warray-bounds -Wchar-subscripts -Wcomment -Wctor-dtor-privacy -Wfloat-equal -Wformat=2 -Wformat-y2k -Wmaybe-uninitialized -Wmissing-field-initializers -Wlogical-op -Wnon-virtual-dtor -Wnormalized=id -Woverloaded-virtual -Wpointer-arith -Wredundant-decls -Wshadow -Wsign-compare -Wstrict-overflow=1 -Wswitch-enum -Wtrampolines -Wundef -Wunsafe-loop-optimizations -funsafe-loop-optimizations -Wc++11-compat -Wclobbered -Wunused -Wunused-result -Wunused-variable -Wunused-parameter -Wunused-local-typedefs -Wwrite-strings -Wformat-security -fwrapv -pie -Wsizeof-pointer-memaccess -Wpacked
   * CPP Flags: -fvisibility=hidden
   * LIB Flags:
   * Assertions enabled: no
   * Debug enabled: ...

Read more...

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.