/usr/bin/perror and the man page (/usr/share/man/man1/perror.1.bz2) is provided by both mysql and freebsd-ubin-8.0. Reproducible: Always Steps to Reproduce: 1. emerge =freebsd-ubin-8.0 2. emerge mysql Actual Results: build fail with the follwing output. * Detected file collision(s): * * /usr/bin/perror * /usr/share/man/man1/perror.1.bz2 * * Searching all installed packages for file collisions... * * Press Ctrl-C to Stop * * sys-freebsd/freebsd-ubin-8.0 * /usr/bin/perror * /usr/share/man/man1/perror.1.bz2 Expected Results: This collison should be fixed. Portage 2.2_rc67 (default/bsd/fbsd/x86/8.0, gcc-4.3.4, freebsd-lib-8.0-r0, 8.0-RELEASE i386) ================================================================= System uname: FreeBSD-8.0-RELEASE-i386-32bit-ELF Timestamp of tree: Mon, 29 Mar 2010 07:30:01 +0000 app-shells/bash: 4.1_p2-r1 dev-java/java-config: 2.1.9-r1 dev-lang/python: 2.5.2-r8, 2.6.5-r1, 3.1.2-r1 dev-python/pycrypto: 2.0.1-r8 dev-util/cmake: 2.8.0-r2 sys-apps/baselayout: 2.0.1 sys-apps/openrc: 0.6.1-r1 sys-apps/sandbox: 1.6-r2 sys-devel/autoconf: 2.13, 2.65 sys-devel/automake: 1.9.6-r2, 1.10.3, 1.11.1 sys-devel/binutils: 2.20.1 sys-devel/gcc: 3.4.6-r2, 4.3.4, 4.4.3 sys-devel/gcc-config: 1.4.1 sys-devel/libtool: 2.2.6b virtual/os-headers: 8.0 ACCEPT_KEYWORDS="x86-fbsd ~x86-fbsd" ACCEPT_LICENSE="* -@EULA sun-bcla-java-vm skype-eula" ACCEPT_PROPERTIES="*" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="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 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" ARCH="x86-fbsd" AUTOCLEAN="yes" CBUILD="i686-gentoo-freebsd7.1" CFLAGS="-O2 -pipe -march=prescott --param l1-cache-size=16 --param l1-cache-line-size=64 -mtune=prescott" CHOST="i686-gentoo-freebsd7.1" CLEAN_DELAY="5" CLICOLOR="1" COLLISION_IGNORE="/lib/modules" CONFIG_PROTECT="/etc /usr/share/X11/xkb" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c" CVS_RSH="ssh" CXXFLAGS="-O2 -pipe -march=prescott --param l1-cache-size=16 --param l1-cache-line-size=64 -mtune=prescott" DISTDIR="/usr/portage/distfiles" EDITOR="/usr/bin/emacs" ELIBC="FreeBSD" EMERGE_WARNING_DELAY="10" EPREFIX="" EROOT="/" FEATURES="assume-digests chflags distlocks fixpackages news parallel-fetch preserve-libs protect-owned sfperms strict unmerge-logs unmerge-orphans userfetch" FETCHCOMMAND="/usr/bin/wget -t 5 -T 60 --passive-ftp -O "${DISTDIR}/${FILE}" "${URI}"" FTP_PASSIVE_MODE="YES" GCC_SPECS="" GDK_USE_XFT="1" GENTOO_MIRRORS="http://distfiles.gentoo.org" GENTOO_PYTHON_PROCESS_NAME="emerge" HOME="/root" INFOPATH="/usr/share/info:/usr/share/binutils-data/i686-gentoo-freebsd7.1/2.20.1/info:/usr/share/gcc-data/i486-gentoo-freebsd7.1/4.3.2/info:/usr/share/gcc-data/i686-gentoo-freebsd7.1/4.3.4/info:/usr/share/info/emacs-23-vcs" INPUT_DEVICES="keyboard mouse" JAVAC="/etc/java-config-2/current-system-vm/bin/javac" JAVA_HOME="/etc/java-config-2/current-system-vm" JDK_HOME="/etc/java-config-2/current-system-vm" KERNEL="FreeBSD" LANG="ja_JP.UTF-8" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LDFLAGS="" LESS="-R -M --shift 5" LESSOPEN="|lesspipe.sh %s" LINGUAS="ja" LOGNAME="naota" LS_COLORS="no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.gz=01;31:*.bz2=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.avi=01;35:*.fli=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.ogg=01;35:*.mp3=01;35:*.wav=01;35:" MAKE="gmake" MANPATH="/etc/java-config-2/current-system-vm/man:/usr/local/share/man:/usr/share/man:/usr/share/binutils-data/i686-gentoo-freebsd7.1/2.20.1/man:/usr/share/gcc-data/i486-gentoo-freebsd7.1/4.3.2/man:/usr/share/gcc-data/i686-gentoo-freebsd7.1/4.3.4/man:/etc/java-config/system-vm/man/:/usr/lib/php5/man/" NETBEANS="apisupport cnd groovy gsf harness ide identity j2ee java mobility nb php profiler soa visualweb webcommon websvccommon xml" NOCOLOR="true" OLDPWD="/usr/lib" OPENGL_PROFILE="xorg-x11" PAGER="/usr/bin/lv -Ou8 -c" PATH="/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/root/bin:/usr/local/teTeX/bin:/usr/local/bin:/root/bin" PKGDIR="/usr/portage/packages" PORTAGE_ARCHLIST="ppc x86-openbsd ppc-openbsd ppc64 x86-winnt x86-fbsd ppc-aix alpha arm x86-freebsd s390 amd64 arm-linux x86-macos x64-openbsd ia64-hpux hppa x86-netbsd amd64-linux ia64-linux x86 sparc-solaris x64-freebsd sparc64-solaris x86-linux x64-macos sparc m68k-mint ia64 mips ppc-macos x86-interix hppa-hpux amd64-fbsd x64-solaris mips-irix m68k sh x86-solaris sparc-fbsd" PORTAGE_BINHOST_CHUNKSIZE="3000" PORTAGE_BIN_PATH="/usr/lib/portage/bin" PORTAGE_COMPRESS_EXCLUDE_SUFFIXES="css gif htm[l]? jp[e]?g js pdf png" PORTAGE_CONFIGROOT="/" PORTAGE_DEBUG="0" PORTAGE_DEPCACHEDIR="/var/cache/edb/dep" PORTAGE_ELOG_CLASSES="log warn error" PORTAGE_ELOG_MAILFROM="portage@localhost" PORTAGE_ELOG_MAILSUBJECT="[portage] ebuild log for ${PACKAGE} on ${HOST}" PORTAGE_ELOG_MAILURI="root" PORTAGE_ELOG_SYSTEM="save_summary echo" PORTAGE_FETCH_CHECKSUM_TRY_MIRRORS="5" PORTAGE_FETCH_RESUME_MIN_SIZE="350K" PORTAGE_GID="250" PORTAGE_INST_GID="0" PORTAGE_INST_UID="0" PORTAGE_PYM_PATH="/usr/lib/portage/pym" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_RSYNC_RETRIES="3" PORTAGE_SYNC_STALE="30" PORTAGE_TMPDIR="/usr/tmp" PORTAGE_VERBOSE="1" PORTAGE_WORKDIR_MODE="0700" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage/layman/gentoo-bsd /usr/local/portage/layman/sunrise /usr/local/portage/pc_local" PROFILE_ONLY_VARIABLES="ARCH ELIBC KERNEL USERLAND" PWD="/root" PYTHONDONTWRITEBYTECODE="1" RESUMECOMMAND="/usr/bin/wget -c -t 5 -T 60 --passive-ftp -O "${DISTDIR}/${FILE}" "${URI}"" ROOT="/" ROOTPATH="/opt/bin:/usr/i486-gentoo-freebsd7.1/gcc-bin/4.3.2:/usr/i686-gentoo-freebsd7.1/gcc-bin/4.3.4" RPMDIR="/usr/portage/rpm" RUBY_TARGETS="ruby18" R_HOME="/usr/lib/R" S9XKEYS="27,100,99,115,120,113,114,13,32,104,108,107,106,121,110,117,109" SHELL="/bin/bash" SHLVL="2" SYNC="rsync://rsync.gentoo.org/gentoo-portage" TERM="screen" USE="X acl acpi berkdb bzip2 cli cracklib crypt cxx dri emacs fortran gdbm gif gtk gzip-el iconv ipv6 java5 java6 jpeg mmx modules ncurses nls nptlonly openal opengl oss pam pcre perl png python readline reflection session source spell spl sse sse2 ssl svg tcpd toolkit-scroll-bars truetype unicode usb x86-fbsd xft xorg zlib" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="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 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" ELIBC="FreeBSD" INPUT_DEVICES="keyboard mouse" KERNEL="FreeBSD" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="ja" RUBY_TARGETS="ruby18" USERLAND="BSD" VIDEO_CARDS="intel" USER="root" USERLAND="BSD" USE_EXPAND="ALSA_CARDS ALSA_PCM_PLUGINS APACHE2_MODULES APACHE2_MPMS CAMERAS CROSSCOMPILE_OPTS DVB_CARDS ELIBC FCDSL_CARDS FOO2ZJS_DEVICES FRITZCAPI_CARDS INPUT_DEVICES KERNEL LCD_DEVICES LINGUAS LIRC_DEVICES MISDN_CARDS NETBEANS_MODULES NGINX_MODULES_HTTP NGINX_MODULES_MAIL QEMU_SOFTMMU_TARGETS QEMU_USER_TARGETS RUBY_TARGETS SANE_BACKENDS USERLAND VIDEO_CARDS" USE_EXPAND_HIDDEN="CROSSCOMPILE_OPTS ELIBC KERNEL USERLAND" USE_ORDER="env:pkg:conf:defaults:pkginternal:env.d" VIDEO_CARDS="intel" VISUAL="/bin/nano" XDG_CONFIG_DIRS="/etc/xdg" XDG_DATA_DIRS="/usr/local/share:/usr/share" _="/usr/bin/emerge"
bsd: how does this get fixed in the Ports tree? MySQL needs that binary named as such for error output :-(.
Ports is done easy, they install everything to /usr/local :+) And I think they both do exactly the same thing, they just print standard error codes as perror(3) does. I'd say a check for userland_BSD and a test -f the installed file to skip/remove installing the binary and manpage from mysql should be enough.
No, the perror shipped by MySQL includes all the MySQL error codes as well: # perror -- `seq -65535 65535` 2>/dev/null MySQL error code -30999: DB_INCOMPLETE: Sync didn't finish MySQL error code -30998: DB_KEYEMPTY: Key/data deleted or never created MySQL error code -30997: DB_KEYEXIST: The key/data pair already exists MySQL error code -30996: DB_LOCK_DEADLOCK: Deadlock MySQL error code -30995: DB_LOCK_NOTGRANTED: Lock unavailable MySQL error code -30994: DB_NOSERVER: Server panic return MySQL error code -30993: DB_NOSERVER_HOME: Bad home sent to server MySQL error code -30992: DB_NOSERVER_ID: Bad ID sent to server MySQL error code -30991: DB_NOTFOUND: Key/data pair not found (EOF) MySQL error code -30990: DB_OLD_VERSION: Out-of-date version MySQL error code -30989: DB_RUNRECOVERY: Panic return MySQL error code -30988: DB_VERIFY_BAD: Verify failed; bad format OS error code 0: Success OS error code 1: Operation not permitted ... OS error code 119: No XENIX semaphores available OS error code 120: Is a named type file MySQL error code 120: Didn't find key on read or update OS error code 121: Remote I/O error MySQL error code 121: Duplicate key on write or update OS error code 122: Disk quota exceeded MySQL error code 122: Internal (unspecified) error in handler OS error code 123: No medium found MySQL error code 123: Someone has changed the row since it was read (while the table was locked to prevent it) OS error code 124: Wrong medium type MySQL error code 124: Wrong index given to function OS error code 125: Operation canceled MySQL error code 125: Undefined handler error 125 OS error code 126: Required key not available MySQL error code 126: Index file is crashed OS error code 127: Key has expired MySQL error code 127: Record file is crashed OS error code 128: Key has been revoked MySQL error code 128: Out of memory in engine OS error code 129: Key was rejected by service MySQL error code 129: Undefined handler error 129 OS error code 130: Owner died MySQL error code 130: Incorrect file format OS error code 131: State not recoverable MySQL error code 131: Command not supported by database MySQL error code 132: Old database file MySQL error code 133: No record read before update MySQL error code 134: Record was already deleted (or record file crashed) ... etc.
Robin would it be feasible to either rename perror to mysql-perror or move it in a sub-path (/usr/libexec/mysql) so that they wouldn't collide?
(In reply to comment #4) > Robin would it be feasible to either rename perror to mysql-perror or move it > in a sub-path (/usr/libexec/mysql) so that they wouldn't collide? Can we rename it just on fbsd?
Unlikely, given there it's a system binary/command.
I mean rename the mysql perror, but only on fbsd.
flameeyes: reping. I propose the following: use fbsd && mv .../perror .../perror-mysql
No answer from BSD team in nearly 4 months.