Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 541496 - sys-libs/ncurses: building shared libs for mingw does not work
Summary: sys-libs/ncurses: building shared libs for mingw does not work
Status: UNCONFIRMED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo's Team for Core System packages
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-02-27 06:57 UTC by Anton Bolshakov
Modified: 2015-03-03 03:41 UTC (History)
0 users

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Anton Bolshakov 2015-02-27 06:57:10 UTC
Hi, ncurses ebuild has an option to disable share libraries in cross compiler environment. Somehow, it does not work for me. Here is the outpu:

bash# i686-pc-mingw32-emerge -1 ncurses



Calculating dependencies... done!

>>> Verifying ebuild manifests

>>> Emerging (1 of 1) sys-libs/ncurses-5.9-r3::gentoo for /usr/i686-pc-mingw32/
 * ncurses-5.9.tar.gz SHA256 SHA512 WHIRLPOOL size ;-) ...                                                                                    [ ok ]
>>> Unpacking source...
>>> Unpacking ncurses-5.9.tar.gz to /usr/i686-pc-mingw32/tmp/portage/sys-libs/ncurses-5.9-r3/work
>>> Source unpacked in /usr/i686-pc-mingw32/tmp/portage/sys-libs/ncurses-5.9-r3/work
>>> Preparing source in /usr/i686-pc-mingw32/tmp/portage/sys-libs/ncurses-5.9-r3/work/ncurses-5.9 ...
 * Applying ncurses-5.8-gfbsd.patch ...                                                                                                       [ ok ]
 * Applying ncurses-5.7-nongnu.patch ...                                                                                                      [ ok ]
 * Applying ncurses-5.9-rxvt-unicode-9.15.patch ...                                                                                           [ ok ]
 * Applying ncurses-5.9-fix-clang-build.patch ...                                                                                             [ ok ]
 * Applying ncurses-5.9-pkg-config.patch ...                                                                                                  [ ok ]
>>> Source prepared.
>>> Configuring source in /usr/i686-pc-mingw32/tmp/portage/sys-libs/ncurses-5.9-r3/work/ncurses-5.9 ...
 * .default: running multilib-minimal_abi_src_configure
 * econf: updating ncurses-5.9/config.guess with /usr/share/gnuconfig/config.guess
 * econf: updating ncurses-5.9/config.sub with /usr/share/gnuconfig/config.sub
/usr/i686-pc-mingw32/tmp/portage/sys-libs/ncurses-5.9-r3/work/ncurses-5.9/configure --prefix=/usr --build=x86_64-pc-linux-gnu --host=i686-pc-mingw32 --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --libdir=/usr/lib --with-terminfo-dirs=/etc/terminfo:/usr/share/terminfo --enable-pc-files --with-pkg-config=i686-pc-mingw32-pkg-config PKG_CONFIG_LIBDIR=/usr/lib/pkgconfig --with-shared --without-hashed-db --without-ada --with-cxx --with-cxx-binding --without-debug --without-profile --without-gpm --disable-termcap --enable-symlinks --with-rcs-ids --with-manpage-format=normal --enable-const --enable-colorfgbg --enable-echo --enable-warnings --without-assertions --disable-leaks --without-expanded --with-macros --without-trace --without-termlib --with-chtype=long --with-mmask-t=long --disable-ext-colors --disable-ext-mouse --without-pthread --without-reentrant
configure: loading site script /usr/share/config.site
checking for egrep... grep -E
Configuring NCURSES 5.9 ABI 5 (Fri Feb 27 14:46:59 SGT 2015)
checking build system type... x86_64-pc-linux-gnu
checking host system type... i686-pc-mingw32
checking target system type... i686-pc-mingw32
Configuring for mingw32
checking for prefix... /usr
checking for i686-pc-mingw32-gcc... i686-pc-mingw32-gcc
checking for C compiler default output... a.exe
checking whether the C compiler works... yes
checking whether we are cross compiling... yes
checking for executable suffix... .exe
checking for object suffix... o
checking whether we are using the GNU C compiler... yes
checking whether i686-pc-mingw32-gcc accepts -g... yes
checking version of i686-pc-mingw32-gcc... 686
checking how to run the C preprocessor... i686-pc-mingw32-gcc -E
checking whether i686-pc-mingw32-gcc needs -traditional... no
checking whether i686-pc-mingw32-gcc understands -c and -o together... yes
checking for POSIXized ISC... no
checking for i686-pc-mingw32-gcc option to accept ANSI C... -DCC_HAS_PROTOS
checking if you want to ensure bool is consistent with C++... yes
checking for i686-pc-mingw32-g++... i686-pc-mingw32-g++
checking whether we are using the GNU C++ compiler... yes
checking whether i686-pc-mingw32-g++ accepts -g... yes
checking version of g++... 686
checking if you want to build C++ binding and demo... yes
checking if you want to build with Ada95... no
checking if you want to install manpages... yes
checking if you want to build programs such as tic... yes
checking if you want to build test-programs... yes
checking if you wish to install curses.h... yes
checking for mawk... no
checking for gawk... gawk
checking for egrep... (cached) grep -E
checking for a BSD compatible install... /usr/lib/portage/python2.7/ebuild-helpers/xattr/install -c
checking for tdlint... no
checking for lint... no
checking for alint... no
checking for splint... no
checking for lclint... no
checking whether ln -s works... yes
checking if ln -s -f options work... yes
checking for long file names... yes
checking if you want to use pkg-config... i686-pc-mingw32-pkg-config
checking if we should install .pc files for i686-pc-mingw32-pkg-config... yes
checking if we should assume mixed-case filenames... auto
checking if filesystem supports mixed-case filenames... yes
checking whether make sets ${MAKE}... yes
checking for exctags... no
checking for ctags... no
checking for exetags... no
checking for etags... no
checking for ctags... no
checking for etags... no
checking for makeflags variable... 
checking for i686-pc-mingw32-ranlib... i686-pc-mingw32-ranlib
checking for i686-pc-mingw32-ld... i686-pc-mingw32-ld
checking for i686-pc-mingw32-ar... i686-pc-mingw32-ar
checking for i686-pc-mingw32-ar... (cached) i686-pc-mingw32-ar
checking for options to update archives... -curv
checking if you have specified an install-prefix... 
checking for gcc... x86_64-pc-linux-gnu-gcc
checking for native build C compiler... x86_64-pc-linux-gnu-gcc
checking for native build C preprocessor... ${BUILD_CC} -E
checking for native build C flags... -march=native -O2 -pipe
checking for native build C preprocessor-flags...  -D_GNU_SOURCE
checking for native build linker-flags... 
checking for native build linker-libraries... 
checking if libtool -version-number should be used... yes
checking if you want to build libraries with libtool... no
checking if you want to build shared libraries... yes
checking if you want to build static libraries... yes
checking if you want to build debug libraries... no
checking if you want to build profiling libraries... no
checking for specified models...  shared normal
checking for default model... shared
checking if you want to build a separate terminfo library... no
checking if you want to build a separate tic library... no
checking if you want to link with the GPM mouse library... no
checking for default loader flags... 
checking if rpath option should be used... no
checking if shared libraries should be relinked during install... yes
checking for an rpath option... 
checking if release/abi version should be used for shared libs... auto
checking which i686-pc-mingw32-gcc option to use... -fPIC
configure: error: Shared libraries are not supported in this version

!!! Please attach the following file when seeking support:
!!! /usr/i686-pc-mingw32/tmp/portage/sys-libs/ncurses-5.9-r3/work/ncurses-5.9-.default-narrowc/config.log
 * ERROR: sys-libs/ncurses-5.9-r3::gentoo failed (configure phase):
 *   econf failed
 * 
 * Call stack:
 *          ebuild.sh, line   93:  Called src_configure
 *        environment, line 2723:  Called multilib-minimal_src_configure
 *        environment, line 1883:  Called multilib_foreach_abi 'multilib-minimal_abi_src_configure'
 *        environment, line 2090:  Called multibuild_foreach_variant '_multilib_multibuild_wrapper' 'multilib-minimal_abi_src_configure'
 *        environment, line 1814:  Called _multibuild_run '_multilib_multibuild_wrapper' 'multilib-minimal_abi_src_configure'
 *        environment, line 1812:  Called _multilib_multibuild_wrapper 'multilib-minimal_abi_src_configure'
 *        environment, line  330:  Called multilib-minimal_abi_src_configure
 *        environment, line 1877:  Called multilib_src_configure
 *        environment, line 2312:  Called do_configure 'narrowc'
 *        environment, line  536:  Called econf '--with-terminfo-dirs=/etc/terminfo:/usr/share/terminfo' '--enable-pc-files' '--with-pkg-config=i686-pc-mingw32-pkg-config' 'PKG_CONFIG_LIBDIR=/usr/lib/pkgconfig' '--with-shared' '--without-hashed-db' '--without-ada' '--with-cxx' '--with-cxx-binding' '--without-debug' '--without-profile' '--without-gpm' '--disable-termcap' '--enable-symlinks' '--with-rcs-ids' '--with-manpage-format=normal' '--enable-const' '--enable-colorfgbg' '--enable-echo' '--enable-warnings' '--without-assertions' '--disable-leaks' '--without-expanded' '--with-macros' '--without-trace' '--without-termlib' '--with-chtype=long' '--with-mmask-t=long' '--disable-ext-colors' '--disable-ext-mouse' '--without-pthread' '--without-reentrant'
 *   phase-helpers.sh, line  584:  Called die
 * The specific snippet of code:
 *                      die "econf failed"
Comment 1 Mike Gilbert gentoo-dev 2015-03-03 02:44:45 UTC
The condition to which you refer is only for building some temporary binaries in case ncurses is not up to date on the build system. That's a separate issue.

Perhaps do_configure should not forcably enable shared libs for normal building.
Comment 2 SpanKY gentoo-dev 2015-03-03 03:41:32 UTC
Windows should be able to produce shared libs (dll) for ncurses ...