Summary: | dev-libs/libmemcache-1.4.0_rc2-r1 : memcache.c:2209:43: error: dereferencing pointer to incomplete type | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Toralf Förster <toralf> |
Component: | Current packages | Assignee: | Robin Johnson <robbat2> |
Status: | RESOLVED WONTFIX | ||
Severity: | normal | CC: | kentnl, nestorac, prometheanfire, spikyatlinux |
Priority: | Normal | Keywords: | PMASKED |
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 582084, 644262 | ||
Attachments: |
dev-libs:libmemcache-1.4.0_rc2-r1:20151105-235442.log
emerge-history.txt environment emerge-info.txt dev-libs:libmemcache-1.4.0_rc2-r1:20160422-133822.log emerge-history.txt environment Patch for libmemcached-1.4.0 |
Description
Toralf Förster
2015-11-06 09:31:42 UTC
Created attachment 416140 [details]
dev-libs:libmemcache-1.4.0_rc2-r1:20151105-235442.log
Created attachment 416142 [details]
emerge-history.txt
Created attachment 416144 [details]
environment
Somehow my error logs have data in them toralf's lacked. ( I suspect due to ANSI colors doing the wrong thing somewhere: > memcache.c: In function ‘mcm_server_connect’: > memcache.c:2209:42: error: dereferencing pointer to incomplete type ‘struct addrinfo’ > if (ms->hostinfo == NULL || ms->hostinfo->ai_addrlen == 0) { > ^ > memcache.c: In function ‘mcm_server_resolve’: > memcache.c:2597:19: error: storage size of ‘hints’ isn’t known > struct addrinfo hints, *res; > ^ > memcache.c:2613:24: error: invalid application of ‘sizeof’ to incomplete type ‘struct addrinfo’ > bzero(&hints, sizeof(struct addrinfo)); > ^ HTH. (In reply to Kent Fredric from comment #4) oops, does the following not what do expect ? : function stresc() { perl -ne 's/\e\[?.*?[\@-~]//g; print' } I do use it in htis manner : "stresc < $log > $bak" often (In reply to Toralf Förster from comment #5) > (In reply to Kent Fredric from comment #4) > oops, does the following not what do expect ? : > > function stresc() { > perl -ne 's/\e\[?.*?[\@-~]//g; print' > } > > > I do use it in htis manner : "stresc < $log > $bak" often You probably want > perl -MTerm::ANSIColor=colorstrip -nle 'print colorstrip($_)' ( Its a much tighter regex internally that only matches numbers and ";" in escape codes ) Running your code locally as follows however gives me the right output, so I'm not sure where/why those values were eaten. > zcat /var/log/portage/build/dev-libs/libmemcache-1.4.0_rc2-r1\:20160306-102048.log.gz | perl -ne 's/\e\[?.*?[\@-~]//g; print' Looking deeper into your log, may actually be having different compiler errors (because I see not all types in error conditions are eaten, only some are) , just they're too similar to tell. Created attachment 431536 [details]
emerge-info.txt
fresh files, maybe containing the needed info ?\n\n ^
memcache.c: In function ‘mcm_server_connect’:
memcache.c:2209:43: error: dereferencing pointer to incomplete type ‘struct addrinfo’
if (ms->hostinfo == NULL || ms->hostinfo->ai_addrlen == 0) {
^
In file included from memcache.c:60:0:
Created attachment 431538 [details]
dev-libs:libmemcache-1.4.0_rc2-r1:20160422-133822.log
Created attachment 431540 [details]
emerge-history.txt
Created attachment 431542 [details]
environment
This is a parallel make issue. Building with MAKEOPTS="-j1 -pipe" works. Correction: well, at least that worked for me. (In reply to Livid from comment #11) -j1 is hard coded in the tinderbox My guess is that newer glibc headers do not like memcache.c playing around with glibc internal __USE_POSIX. *** Bug 593354 has been marked as a duplicate of this bug. *** I find that adding "#define __USE_XOPEN2K" to the memcache.c file above #include <netdb.h> resolves this build issue. I do not know what should be passed on the command line to force this. Created attachment 450882 [details, diff]
Patch for libmemcached-1.4.0
glibc headers need some feature test macros to expose the definition of
struct addrinfo. _XOPEN_SOURCE does not work, but _XOPEN_SOURCE 700
does. So this patch adds the feature test macro, and removes the hackery.
I have the same error. emerge --info '=dev-libs/libmemcache-1.4.0_rc2-r1::gentoo' Portage 2.2.28 (python 3.4.3-final-0, default/linux/amd64/13.0/desktop/plasma/systemd, gcc-4.9.3, glibc-2.22-r4, 4.4.6-gentoo x86_64) ================================================================= System Settings ================================================================= System uname: Linux-4.4.6-gentoo-x86_64-Intel-R-_Core-TM-_i5-2520M_CPU_@_2.50GHz-with-gentoo-2.2 KiB Mem: 8059696 total, 263256 free KiB Swap: 10239996 total, 10102536 free Timestamp of repository gentoo: Mon, 05 Dec 2016 16:00:01 +0000 sh bash 4.3_p48 ld GNU ld (Gentoo 2.25.1 p1.1) 2.25.1 app-shells/bash: 4.3_p48::gentoo dev-java/java-config: 2.2.0-r3::gentoo dev-lang/perl: 5.22.2::gentoo dev-lang/python: 2.7.12::gentoo, 3.4.3-r1::gentoo dev-util/cmake: 3.3.1-r1::gentoo dev-util/pkgconfig: 0.28-r2::gentoo sys-apps/baselayout: 2.2::gentoo sys-apps/openrc: 0.19.1::gentoo sys-apps/sandbox: 2.10-r1::gentoo sys-devel/autoconf: 2.13::gentoo, 2.69::gentoo sys-devel/automake: 1.11.6-r1::gentoo, 1.14.1::gentoo, 1.15::gentoo sys-devel/binutils: 2.25.1-r1::gentoo sys-devel/gcc: 4.9.3::gentoo sys-devel/gcc-config: 1.7.3::gentoo sys-devel/libtool: 2.4.6::gentoo sys-devel/make: 4.1-r1::gentoo sys-kernel/linux-headers: 4.3::gentoo (virtual/os-headers) sys-libs/glibc: 2.22-r4::gentoo Repositories: gentoo location: /usr/portage sync-type: rsync sync-uri: rsync://rsync.gentoo.org/gentoo-portage priority: -1000 ACCEPT_KEYWORDS="amd64" ACCEPT_LICENSE="* -@EULA Oracle-BCLA-JavaSE" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-O2 -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/lib64/libreoffice/program/sofficerc /usr/share/config /usr/share/gnupg/qualified.txt" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.6/ext-active/ /etc/php/cgi-php5.6/ext-active/ /etc/php/cli-php5.6/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo" CXXFLAGS="-O2 -pipe" DISTDIR="/usr/portage/distfiles" FCFLAGS="-O2 -pipe" FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr" FFLAGS="-O2 -pipe" GENTOO_MIRRORS="http://distfiles.gentoo.org" LANG="es_ES.US-ASCII" LC_ALL="es_ES.UTF-8" LDFLAGS="-Wl,-O1 -Wl,--as-needed" MAKEOPTS="-j5" PKGDIR="/usr/portage/packages" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git" PORTAGE_TMPDIR="/var/tmp" USE="X a52 aac acl acpi alsa amd64 apm atm audiofile avahi ayatana bash-completion berkdb bluetooth boundschecking branding bzip2 cairo calendar caps cdb cdda cgi cli cracklib crypt css cups curl cxx dbus declarative dga directfb djvu dri dts dv emboss encode exif fam fat fbcon ffmpeg fftw filecaps firefox flac fontconfig foomaticdb fortran gd gdbm geoip ggi gif glamor glut gphoto2 gpm gsl gsm gtk hddtemp iconv icu idn imap imlib inotify ipv6 jack java javafx javascript jbig jit jpeg jpeg2k kde kipi kontact ladspa lame lash lcms ldap libass libcaca libnotify libsamplerate lm_sensors lzma lzo mad matroska memcached memlimit mikmod mime mmap mms mmx mmxext mng modplug modules mp3 mp4 mpeg mpi mplayer mtp multilib musepack musicbrainz ncurses networkmanager nls nocd nptl ogg openal openexr opengl openmp pam pango pch pcmcia pcntl pcre pda pdf phonon php plasma png policykit postscript ppds pulseaudio pyqt4 python qml qt3support qt4 qt5 quicktime raw rdesktop readline recode rss scanner sdl seccomp semantic-desktop session sharedmem shorten sndfile sockets sound sox speex spell sse sse2 ssl startup-notification svg symlink systemd tcpd theora threads tidy tiff timidity truetype udev udisks unicode upnp upower usb v4l vaapi vcd vdpau vnc vorbis wavpack webkit widgets wifi wmf wxwidgets x264 xattr xcb xcomposite xft xinerama xml xosd xpm xscreensaver xv xvid zeroconf zlib" ABI_X86="64" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="mmx mmxext sse sse2 sse3 ssse3" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ublox ubx" GRUB_PLATFORMS="efi-64" INPUT_DEVICES="synaptics evdev" KERNEL="linux" L10N="es eu fr en" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="es" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-6" PYTHON_SINGLE_TARGET="python3_4" PYTHON_TARGETS="python2_7 python3_4" RUBY_TARGETS="ruby20 ruby21" USERLAND="GNU" VIDEO_CARDS="intel" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" Unset: CC, CPPFLAGS, CTARGET, CXX, EMERGE_DEFAULT_OPTS, INSTALL_MASK, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON I get also the following errors: memcache.c:2209:43: error: dereferencing pointer to incomplete type if (ms->hostinfo == NULL || ms->hostinfo->ai_addrlen == 0) { memcache.c:2218:57: error: dereferencing pointer to incomplete type for (i = 0, res = ms->hostinfo; res != NULL; res = res->ai_next, i++) { memcache.c:2219:24: error: dereferencing pointer to incomplete type ms->fd = socket(res->ai_family, res->ai_socktype, res->ai_protocol); ^ memcache.c:2219:40: error: dereferencing pointer to incomplete type ms->fd = socket(res->ai_family, res->ai_socktype, res->ai_protocol); ^ memcache.c:2219:58: error: dereferencing pointer to incomplete type ms->fd = socket(res->ai_family, res->ai_socktype, res->ai_protocol); ^ memcache.c:2222:42: error: dereferencing pointer to incomplete type if (errno == EPROTONOSUPPORT && res->ai_family == AF_INET6) ^ memcache.c:2253:30: error: dereferencing pointer to incomplete type ret = connect(ms->fd, res->ai_addr, (socklen_t)res->ai_addrlen); ^ memcache.c:2253:55: error: dereferencing pointer to incomplete type ret = connect(ms->fd, res->ai_addr, (socklen_t)res->ai_addrlen); ^ memcache.c:2291:49: error: dereferencing pointer to incomplete type printf("connect(): %d\n", connect(ms->fd, res->ai_addr, (socklen_t)res->ai_addrlen)); ^ memcache.c:2291:74: error: dereferencing pointer to incomplete type printf("connect(): %d\n", connect(ms->fd, res->ai_addr, (socklen_t)res->ai_addrlen)); emcache.c:2597:19: error: storage size of 'hints' isn't known struct addrinfo hints, *res; ^ memcache.c:2613:24: error: invalid application of 'sizeof' to incomplete type 'struct addrinfo' bzero(&hints, sizeof(struct addrinfo)); memcache.c:2634:50: error: dereferencing pointer to incomplete type for (res = ms->hostinfo; res != NULL; res = res->ai_next) { The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e251f1b03c2ed695b7bf63f7bdf0bf247ed7a5a0 commit e251f1b03c2ed695b7bf63f7bdf0bf247ed7a5a0 Author: Mikle Kolyada <zlogene@gentoo.org> AuthorDate: 2018-05-10 19:19:25 +0000 Commit: Mikle Kolyada <zlogene@gentoo.org> CommitDate: 2018-05-10 19:21:05 +0000 dev-libs/libmemcache: Masked for removal Bug: https://bugs.gentoo.org/644262 Bug: https://bugs.gentoo.org/564998 profiles/package.mask | 6 ++++++ 1 file changed, 6 insertions(+) Removed from the tree in June. |