Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 202020 - dev-scheme/guile-1.8.3-r1 fails to build on x86-fbsd
Summary: dev-scheme/guile-1.8.3-r1 fails to build on x86-fbsd
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Marijn Schouten (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-12-12 08:29 UTC by Alexis Ballier
Modified: 2008-10-18 14:11 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
a bit dirty but working (guilebsd.patch,302 bytes, patch)
2007-12-14 16:30 UTC, Alexis Ballier
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Alexis Ballier gentoo-dev 2007-12-12 08:29:59 UTC
Making all in libguile
gmake[2]: Entering directory `/var/tmp/portage/dev-scheme/guile-1.8.3-r1/work/guile-1.8.3/libguile'
if [ "no" = "yes" ]; then \
		i686-gentoo-freebsd6.2-gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I.. -c -o gen-scmconfig.o gen-scmconfig.c; \
	else \
		i686-gentoo-freebsd6.2-gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I..    -march=athlon-xp -O2 -pipe -Wall -Wmissing-prototypes -c -o gen-scmconfig.o gen-scmconfig.c; \
	fi
In file included from ./strings.h:25,
                 from /usr/include/string.h:49,
                 from gen-scmconfig.c:127:
../libguile/__scm.h:76:32: error: libguile/scmconfig.h: No such file or directory
gmake[2]: *** [gen-scmconfig.o] Error 1
gmake[2]: Leaving directory `/var/tmp/portage/dev-scheme/guile-1.8.3-r1/work/guile-1.8.3/libguile'
gmake[1]: *** [all-recursive] Error 1
gmake[1]: Leaving directory `/var/tmp/portage/dev-scheme/guile-1.8.3-r1/work/guile-1.8.3'
gmake: *** [all] Error 2


I'm not entirely sure it's an issue specific to bsd

emerge --info
Portage 2.1.4_rc9 (default-bsd/fbsd/6.2/x86, gcc-4.2.2, freebsd-lib-6.2-r3, 6.2-RELEASE i386)
=================================================================
System uname: 6.2-RELEASE i386 i386
Timestamp of tree: Unknown
distcc 2.18.3 i686-gentoo-freebsd6.2 (protocols 1 and 2) (default port 3632) [enabled]
ccache version 2.4 [enabled]
app-shells/bash:     3.2_p17-r1
dev-lang/python:     2.5.1-r4
dev-python/pycrypto: 2.0.1-r6
dev-util/ccache:     2.4-r7
sys-apps/baselayout: 2.0.0_rc6
sys-apps/sandbox:    1.2.20_alpha2-r1
sys-devel/autoconf:  2.13, 2.61-r1
sys-devel/automake:  1.4_p6, 1.5, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10
sys-devel/binutils:  2.17-r2
sys-devel/gcc-config: 1.4.0-r4
sys-devel/libtool:   1.5.24
virtual/os-headers:  6.2-r3
ACCEPT_KEYWORDS="x86-fbsd ~x86-fbsd"
CBUILD="i686-gentoo-freebsd6.2"
CFLAGS="-march=athlon-xp -O2 -pipe"
CHOST="i686-gentoo-freebsd6.2"
CONFIG_PROTECT="/etc"
CONFIG_PROTECT_MASK="/etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/web2c"
CXXFLAGS="-march=athlon-xp -O2 -pipe"
DISTDIR="/mnt/distfiles"
FEATURES="buildpkg buildsyspkg ccache collision-protect distcc distlocks fixpackages metadata-transfer parallel-fetch sandbox sfperms strict test unmerge-orphans userfetch userpriv usersandbox"
GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"
LDFLAGS="-Wl,--as-needed"
LINGUAS="en en_US en_GB fr"
MAKEOPTS="-j4"
PKGDIR="/usr/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 --filter=H_**/files/digest-*"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/mnt/portage_cvs"
PORTDIR_OVERLAY="/usr/local/portage /mnt/overlay /usr/local/mozilla"
SYNC="rsync://alexis/gentoo-portage"
USE="3dnow 3dnowext X a52 aac aalib bash-completion bzip2 cli cracklib crypt dbus djvu dri dts dv dvd dvdread encode flac gif glitz gtk hal iconv imagemagick imlib ipv6 ithreads java5 jpeg kpathsea ladspa latex libcaca libnotify libsamplerate live lzo mad midi mjpeg mmx mmxext modplug mp2 mp3 musepack ncurses network nls offensive ogg opengl oss pam pcre perl png pnm ppds python qt4 quicktime rar readline reflection session sndfile speex spl sse ssl svg tcpd test tetex tga theora threads tiff truetype unicode usb vim-syntax vorbis wavpack wma x264 x86-fbsd xcb xcomposite xml xorg xv xvid xvmc zlib" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter 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="en en_US en_GB fr" USERLAND="BSD" VIDEO_CARDS="nv vesa vga"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS


[ebuild  N    ] dev-scheme/guile-1.8.3-r1  USE="deprecated nls threads -debug -debug-freelist -debug-malloc -discouraged -elisp -networking -regex"
Comment 1 Alexis Ballier gentoo-dev 2007-12-12 18:44:56 UTC
seems a bsd issue:

in /usr/include/string.h:
#if __BSD_VISIBLE
#include <strings.h>
#endif


and it tries to include libguile/strings.h ....
Comment 2 Alexis Ballier gentoo-dev 2007-12-14 16:30:22 UTC
Created attachment 138474 [details, diff]
a bit dirty but working
Comment 3 Marijn Schouten (RETIRED) gentoo-dev 2007-12-14 17:30:10 UTC
Hmm, if that works, then does simply removing the code in /usr/include/string.h:

#if __BSD_VISIBLE
#include <strings.h>
#endif

work too?

In your patch is there any point in not doing just:
+#undef __BSD_VISIBLE
Comment 4 Alexis Ballier gentoo-dev 2007-12-14 21:39:21 UTC
(In reply to comment #3)
> Hmm, if that works, then does simply removing the code in
> /usr/include/string.h:
> 
> #if __BSD_VISIBLE
> #include <strings.h>
> #endif
> 
> work too?

yes

> In your patch is there any point in not doing just:
> +#undef __BSD_VISIBLE

nope, seems better like that.

But anyway, I dont think its clean to do like that; a better solution imho would be to rename guile strings.h in something else, like guile_strings.h.
Even on linux there is a system header named strings.h
Comment 5 Alexis Ballier gentoo-dev 2007-12-17 17:47:52 UTC
some irc log after asking Roy about it:

16:26 <@UberLord> aballier: never undef __BSD_VISIBLE
16:26 <@UberLord> if it's a local include, then #include "strings.h" should work
16:27 < aballier> UberLord: the problem is the .c includes string.h
16:27 < aballier> which then includes <strings.h> because of __BSD_VISIBLE
16:27 < aballier> but there is locally strings.h
16:27 < aballier> which needs what the program compiled with the .c should generate
16:28  * UberLord head explodes
16:28 < aballier> :)
16:34 <@UberLord> aballier: append_cppflags -I/usr/include
16:34 <@UberLord> may fix it
16:34 < aballier> ho, will try this
16:36 < aballier> UberLord: but then, when it'll want its local strings.h, what will happen ?
16:39 <@UberLord> i dunno
16:39 <@UberLord> what happens if a package defines stdio.h
16:40 <@UberLord> the correct fix is to beat upstream into renaming their header
16:40 < aballier> yes ;)
16:41 <@UberLord> of course, you could also write a patch to do just that
Comment 6 Alexis Ballier gentoo-dev 2008-10-18 14:11:51 UTC
1.8.5 appears to be fine now :) i dont remember when this changed