rwlock.c: In function 'pthread_rwlockattr_init': rwlock.c:355: error: invalid application of 'sizeof' to incomplete type 'struct pthread_rwlockattr' rwlock.c:355: error: cast to union type from type not present in union rwlock.c:357: error: invalid operands to binary == rwlock.c:360: error: invalid type argument of '->' rwlock.c: In function 'pthread_rwlockattr_setpshared': rwlock.c:373: error: invalid type argument of '->' make[1]: *** [rwlock.o] Ошибка 1 make[1]: *** Ожидание завершения заданий... gcc -march=athlon-xp -O2 -pipe -fomit-frame-pointer -D_REENTRANT -DLINUX -DWITH_LARGE_FILES -D_FILE_OFFSET_BITS=64 -D__USE_LARGEFILE64 -D__USE_FILE_OFFSET64 -I/usr/local/include -I/usr/include -export-dynamic -fPIC -DHAVE_CONFIG_H -I/usr/include -shared -c passwd_file.c gcc -march=athlon-xp -O2 -pipe -fomit-frame-pointer -D_REENTRANT -DLINUX -DWITH_LARGE_FILES -D_FILE_OFFSET_BITS=64 -D__USE_LARGEFILE64 -D__USE_FILE_OFFSET64 -I/usr/local/include -I/usr/include -export-dynamic -fPIC -DHAVE_CONFIG_H -I/usr/include -shared -c pam.c lib.c: In function 'STRERROR_R': lib.c:1236: warning: return makes pointer from integer without a cast ld -shared -rpath /usr/lib -o log_dummy.so log_dummy.o -lpthread -lfl -lldap -lpam -lcrypt -ldl /usr/lib/libpcreposix.a /usr/lib/libpcre.a -L/usr/lib -ldb gcc -march=athlon-xp -O2 -pipe -fomit-frame-pointer -D_REENTRANT -DLINUX -DWITH_LARGE_FILES -D_FILE_OFFSET_BITS=64 -D__USE_LARGEFILE64 -D__USE_FILE_OFFSET64 -I/usr/local/include -I/usr/include -export-dynamic -fPIC -DHAVE_CONFIG_H -D__MYSQL -c passwd_sql.c -o passwd_mysql.o ld -shared -rpath /usr/lib -o pam.so pam.o -lpthread -lfl -lldap -lpam -lcrypt -ldl /usr/lib/libpcreposix.a /usr/lib/libpcre.a -L/usr/lib -ldb ld -shared -rpath /usr/lib -o err.so err.o -lpthread -lfl -lldap -lpam -lcrypt -ldl /usr/lib/libpcreposix.a /usr/lib/libpcre.a -L/usr/lib -ldb gcc -march=athlon-xp -O2 -pipe -fomit-frame-pointer -D_REENTRANT -DLINUX -DWITH_LARGE_FILES -D_FILE_OFFSET_BITS=64 -D__USE_LARGEFILE64 -D__USE_FILE_OFFSET64 -I/usr/local/include -I/usr/include -export-dynamic -fPIC -DHAVE_CONFIG_H -D__PGSQL -c passwd_sql.c -o passwd_pgsql.o ld -shared -rpath /usr/lib -o passwd_file.so passwd_file.o -lpthread -lfl -lldap -lpam -lcrypt -ldl /usr/lib/libpcreposix.a /usr/lib/libpcre.a -L/usr/lib -ldb gcc -march=athlon-xp -O2 -pipe -fomit-frame-pointer -D_REENTRANT -DLINUX -DWITH_LARGE_FILES -D_FILE_OFFSET_BITS=64 -D__USE_LARGEFILE64 -D__USE_FILE_OFFSET64 -I/usr/local/include -I/usr/include -export-dynamic -fPIC -DHAVE_CONFIG_H -I/usr/include -shared -c lang.c gcc -march=athlon-xp -O2 -pipe -fomit-frame-pointer -D_REENTRANT -DLINUX -DWITH_LARGE_FILES -D_FILE_OFFSET_BITS=64 -D__USE_LARGEFILE64 -D__USE_FILE_OFFSET64 -I/usr/local/include -I/usr/include -export-dynamic -fPIC -DHAVE_CONFIG_H -I/usr/include -shared -c redir.c ld -shared -rpath /usr/lib -o passwd_mysql.so passwd_mysql.o -lpthread -lfl -lldap -lpam -lcrypt -ldl /usr/lib/libpcreposix.a /usr/lib/libpcre.a -L/usr/lib -ldb gcc -march=athlon-xp -O2 -pipe -fomit-frame-pointer -D_REENTRANT -DLINUX -DWITH_LARGE_FILES -D_FILE_OFFSET_BITS=64 -D__USE_LARGEFILE64 -D__USE_FILE_OFFSET64 -I/usr/local/include -I/usr/include -export-dynamic -fPIC -DHAVE_CONFIG_H -I/usr/include -shared -c oopsctl_mod.c ld -shared -rpath /usr/lib -o passwd_pgsql.so passwd_pgsql.o -lpthread -lfl -lldap -lpam -lcrypt -ldl /usr/lib/libpcreposix.a /usr/lib/libpcre.a -L/usr/lib -ldb gcc -march=athlon-xp -O2 -pipe -fomit-frame-pointer -D_REENTRANT -DLINUX -DWITH_LARGE_FILES -D_FILE_OFFSET_BITS=64 -D__USE_LARGEFILE64 -D__USE_FILE_OFFSET64 -I/usr/local/include -I/usr/include -export-dynamic -fPIC -DHAVE_CONFIG_H oopsctl.c ../rwlock.o -lpthread -lfl -lldap -lpam -lcrypt -ldl /usr/lib/libpcreposix.a /usr/lib/libpcre.a -L/usr/lib -ldb -o oopsctl gcc: ../rwlock.o: Нет такого файла или каталога ld -shared -rpath /usr/lib -o lang.so lang.o -lpthread -lfl -lldap -lpam -lcrypt -ldl /usr/lib/libpcreposix.a /usr/lib/libpcre.a -L/usr/lib -ldb gcc -march=athlon-xp -O2 -pipe -fomit-frame-pointer -D_REENTRANT -DLINUX -DWITH_LARGE_FILES -D_FILE_OFFSET_BITS=64 -D__USE_LARGEFILE64 -D__USE_FILE_OFFSET64 -I/usr/local/include -I/usr/include -export-dynamic -fPIC -DHAVE_CONFIG_H -I/usr/include -shared -c vary_header.c make[2]: *** [oopsctl] Ошибка 1 make[2]: *** Ожидание завершения заданий... ld -shared -rpath /usr/lib -o redir.so redir.o -lpthread -lfl -lldap -lpam -lcrypt -ldl /usr/lib/libpcreposix.a /usr/lib/libpcre.a -L/usr/lib -ldb ld -shared -rpath /usr/lib -o vary_header.so vary_header.o -lpthread -lfl -lldap -lpam -lcrypt -ldl /usr/lib/libpcreposix.a /usr/lib/libpcre.a -L/usr/lib -ldb ld -shared -rpath /usr/lib -o oopsctl_mod.so oopsctl_mod.o -lpthread -lfl -lldap -lpam -lcrypt -ldl /usr/lib/libpcreposix.a /usr/lib/libpcre.a -L/usr/lib -ldb make[2]: Leaving directory `/var/tmp/portage/oops-1.5.24_pre20050503-r1/work/oops-1.5.23/src/modules' make[1]: *** [modules] Ошибка 2 make[1]: Leaving directory `/var/tmp/portage/oops-1.5.24_pre20050503-r1/work/oops-1.5.23/src' make: *** [all] Ошибка 2 !!! ERROR: net-proxy/oops-1.5.24_pre20050503-r1 failed. Call stack: ebuild.sh, line 1539: Called dyn_compile ebuild.sh, line 939: Called src_compile oops-1.5.24_pre20050503-r1.ebuild, line 68: Called die !!! compile problem !!! If you need support, post the topmost build error, and the call stack if relevant.
Portage 2.1-r2 (default-linux/x86/2006.0, gcc-4.1.1, glibc-2.4-r3, 2.6.17-gentoo-r4 i686) ================================================================= System uname: 2.6.17-gentoo-r4 i686 AMD Athlon(tm) XP 1800+ Gentoo Base System version 1.12.4 distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled] app-admin/eselect-compiler: [Not Present] dev-lang/python: 2.4.3-r1 dev-python/pycrypto: 2.0.1-r5 dev-util/ccache: [Not Present] dev-util/confcache: [Not Present] sys-apps/sandbox: 1.2.17 sys-devel/autoconf: 2.13, 2.59-r7 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2 sys-devel/binutils: 2.16.1-r3 sys-devel/gcc-config: 1.3.13-r3 sys-devel/libtool: 1.5.22 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-march=athlon-xp -O2 -pipe -fomit-frame-pointer" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config /var/bind /var/qmail/alias /var/qmail/control /var/vpopmail/domains /var/vpopmail/etc" CONFIG_PROTECT_MASK="/etc/env.d /etc/gconf /etc/revdep-rebuild /etc/terminfo" CXXFLAGS="-march=athlon-xp -O2 -pipe -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig distlocks metadata-transfer sandbox sfperms strict" GENTOO_MIRRORS="ftp://fido:cocacola@baddy.ivanco.net/pub ftp://213.183.109.13 http://gentoo.osuosl.org/ http://ftp.uoi.gr/mirror/OS/gentoo/ http://mirror.gentoo.gr.jp http://ftp.twaren.net/Linux/Gentoo/" LANG="ru_RU.koi8r" LC_ALL="ru_RU.koi8r" LINGUAS="ru" MAKEOPTS="-j5" PKGDIR="/usr/portage/packages" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude='/distfiles' --exclude='/local' --exclude='/packages'" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="x86 3dnow apm avi berkdb bitmap-fonts bzip2 cli crypt curl dlloader dri eds emboss encode expat foomaticdb fortran ftp gd gdbm geoip gif gmp gstreamer gtk2 iconv idn imagemagick imap imlib isdnlog jpeg lcms libclamav libg++ libwww mad maildir mhash mikmod mmap mmx mng motif mpeg mysql ncurses nls nptl nptlonly ogg oss pam pcre pdflib perl php png pppd python qt3 qt4 quicktime readline reflection samba sasl session spell spl ssl tcpd tiff truetype truetype-fonts type1-fonts udev usb vhosts xml xmms xorg xv zlib elibc_glibc input_devices_keyboard input_devices_mouse input_devices_evdev kernel_linux linguas_ru userland_GNU video_cards_apm video_cards_ark video_cards_ati video_cards_chips video_cards_cirrus video_cards_cyrix video_cards_dummy video_cards_fbdev video_cards_glint video_cards_i128 video_cards_i740 video_cards_i810 video_cards_imstt video_cards_mga video_cards_neomagic video_cards_nsc video_cards_nv video_cards_rendition video_cards_s3 video_cards_s3virge video_cards_savage video_cards_siliconmotion video_cards_sis video_cards_sisusb video_cards_tdfx video_cards_tga video_cards_trident video_cards_tseng video_cards_v4l video_cards_vesa video_cards_vga video_cards_via video_cards_vmware video_cards_voodoo" Unset: CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LDFLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Yeah, I just love to decipher all those Unicode error messages written in a language I don't know.
Here you go, the non-unicode error messages: gcc -c -O2 -march=i686 -mtune=pentium4 -fomit-frame-pointer -pipe -D_REENTRANT -DLINUX -DWITH_LARGE_FILES -D_FILE_OFFSET_BITS=64 -D__USE_LARGEFILE64 -D__USE_FILE_OFFSET64 -I/usr/local/include -I/usr/include -export-dynamic -fPIE -DHAVE_CONFIG_H rwlock.c rwlock.c: In function 'pthread_rwlock_destroy': rwlock.c:71: error: invalid type argument of '->' rwlock.c:72: error: invalid type argument of '->' rwlock.c:73: error: invalid type argument of '->' rwlock.c:74: error: incompatible type for argument 1 of 'free' rwlock.c:76: error: incompatible types in assignment rwlock.c: In function 'pthread_rwlock_init': rwlock.c:91: error: invalid application of 'sizeof' to incomplete type 'struct pthread_rwlock' rwlock.c:91: error: cast to union type from type not present in union rwlock.c:93: error: invalid operands to binary == rwlock.c:97: error: invalid type argument of '->' rwlock.c:98: error: incompatible type for argument 1 of 'free' [...] make[1]: *** [rwlock.o] Error 1 make[1]: Leaving directory `/var/tmp/portage/oops-1.5.24_pre20050503-r1/work/oops-1.5.23/src' Ciao, Sheldon.
Wow! rwlock.c is full of bugs! The author of that code doesn't understand pointers nor how arguments are passed to a function. I wonder how many blunders are in oops code regarding pointers and dynamic allocated memory...
=]
I take comment #4 back. For the record, rwlock.c is pretty well implemented (I've missed the fact that pthread_rwlock_t is in fact struct pthread_rwlock *). My apologies... Fixed in the same version/revision by applying pthread-rwlock.patch.