public inbox for cygwin@cygwin.com
 help / color / mirror / Atom feed
* libtool-2.4.6 needs to be rebuilt for gcc-10
@ 2021-05-29  3:31 Lemures Lemniscati
  2021-05-29  6:07 ` Lemures Lemniscati
  0 siblings, 1 reply; 2+ messages in thread
From: Lemures Lemniscati @ 2021-05-29  3:31 UTC (permalink / raw)
  To: cygwin

[-- Attachment #1: Type: text/plain, Size: 1911 bytes --]

Hi!

libtool needs to be rebuilt for gcc-10,
since libtool-2.4.6-7 (current) is built for gcc-7.4.0.

I tried to rebuild it, but some tests failed on an x86_64 build.


--
Here attached a set of files, which might be a candidate for cygport.
It is also placed at a personal playground [2] forked from [1].

A local build from it is placed at [3].

Release number is set to '9', because it is '8' at a current master
branch (commit 3486306) in the cygwin-packages repository of libtool [1]. 

[1]: https://www.cygwin.com/git/?p=git/cygwin-packages/libtool.git
[2]: https://github.com/cygwin-lem/libtool-cygport/tree/n_2.4.6-9
[3]: https://github.com/cygwin-lem/libtool-cygport/tree/n_2.4.6-9_gh-pages
     or https://cygwin-lem.github.io/libtool-cygport/index.html

--
But in cygport test, an x86_64 build brings unexpected failures as in

  https://ci.appveyor.com/project/cygwin/scallywag/builds/39372313/job/qjaaymd2s4ts9dly#L717

> Linking and loading.
>  27: link against a preloaded static library         ok
>  28: build and dynamically load a module             FAILED (demo.at:406)
>  29: preload static and dynamic module               FAILED (demo.at:423)
>  30: deplibs_check_method                            ok
>  31: disable fast install                            FAILED (demo.at:485)
>  32: force PIC objects                               FAILED (demo.at:501)
>  33: force non-PIC objects                           skipped (demo.at:535)
>  34: hardcoding library path                         FAILED (demo.at:612)
>  35: binary relinking at install time                FAILED (demo.at:720)
>  36: uninstalled libraries have priority             FAILED (demo.at:791)
>  37: linking with long file names                    FAILED (demo.at:978)
>  38: override pic_flag at configure time             ok
>  39: test --with-pic                                 skipped (with-pic.at:39)


Regards,

Lem

[-- Attachment #2: libtool.cygport --]
[-- Type: application/octet-stream, Size: 1159 bytes --]

NAME="libtool"
VERSION=2.4.6
RELEASE=9
CATEGORY="Devel"
SUMMARY="Generic library support script"
DESCRIPTION="GNU libtool is a generic library support script. Libtool hides the
complexity of using shared libraries behind a consistent, portable interface."
HOMEPAGE="https://www.gnu.org/software/libtool/"
SRC_URI="mirror://gnu/${NAME}/${NAME}-${VERSION}.tar.xz
         mirror://gnu/${NAME}/${NAME}-${VERSION}.tar.xz.sig"

PATCH_URI="
	2.4.5-pass-ldflags.patch
	2.4.6-clang.patch
"

BUILD_REQUIRES="\
  gcc-core\
  gcc-fortran\
  help2man\
  texinfo\
"

# Skip cygport test on Scallywag, since it takes a long time.
SCALLYWAG="notest"


PKG_NAMES="${NAME} libltdl7"
libtool_CONTENTS="--exclude=usr/bin/*.dll usr/"
libltdl7_SUMMARY="Libtool dynamic library loader library (runtime)"
libltdl7_CONTENTS="usr/bin/cygltdl-7.dll"

DIFF_EXCLUDES="Makefile.in aclocal.m4 compile config.* configure depcomp ltmain.sh mdate-sh missing *.1 *.tex"
DIFF_EXCLUDES+=" libtool.info* stamp-vti *.texi"

src_compile() {
#	cd ${S}
#	./bootstrap --force --skip-git --skip-po
	cd ${B}
	unset GOC ${ARCH_x86_64+GCJ}
	cygconf
	cygmake -j1
}

DOCS="ChangeLog.*"

KEEP_LA_FILES="all"

[-- Attachment #3: 2.4.5-pass-ldflags.patch --]
[-- Type: application/octet-stream, Size: 919 bytes --]

--- origsrc/libtool-2.4.5/build-aux/ltmain.in	2015-01-16 12:52:04.000000000 -0600
+++ src/libtool-2.4.5/build-aux/ltmain.in	2015-02-07 22:45:14.421079200 -0600
@@ -5356,7 +5356,10 @@ func_mode_link ()
       # -stdlib=*            select c++ std lib with clang
       -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
       -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \
-      -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*)
+      -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \
+      -fopenacc|-fopenmp|-ftree-parallelize-loops=*|-fcilkplus|-fgnu-tm| \
+      -ffast-math|-funsafe-math-optimizations|-fvtable-verify*| \
+      -shared-libgcc|-static-libgcc|-static-libgfortran|-static-libstdc++)
         func_quote_for_eval "$arg"
 	arg=$func_quote_for_eval_result
         func_append compile_command " $arg"

[-- Attachment #4: 2.4.6-clang.patch --]
[-- Type: application/octet-stream, Size: 1337 bytes --]

--- origsrc/libtool-2.4.6/build-aux/ltmain.in	2020-05-12 22:29:57.757206400 -0400
+++ src/libtool-2.4.6/build-aux/ltmain.in	2020-05-12 22:42:27.804017500 -0400
@@ -5853,8 +5853,15 @@ func_mode_link ()
 	  fi
 	  case $linkmode in
 	  lib)
-	    # Linking convenience modules into shared libraries is allowed,
-	    # but linking other static libraries is non-portable.
+	    # Linking convenience modules and compiler provided static libraries
+	    # into shared libraries is allowed, but linking other static
+	    # libraries is non-portable.
+	    case $deplib in
+	      */libgcc*.$libext | */libclang_rt*.$libext)
+		deplibs="$deplib $deplibs"
+		continue
+	      ;;
+	    esac
 	    case " $dlpreconveniencelibs " in
 	    *" $deplib "*) ;;
 	    *)
--- origsrc/libtool-2.4.6/m4/libtool.m4	2015-01-20 11:15:19.000000000 -0500
+++ src/libtool-2.4.6/m4/libtool.m4	2020-05-12 22:43:58.991841900 -0400
@@ -7528,10 +7528,11 @@ if AC_TRY_EVAL(ac_compile); then
   # the conftest object file.
   pre_test_object_deps_done=no
 
+  eval std_shrext=\"$shrext_cmds\"
   for p in `eval "$output_verbose_link_cmd"`; do
     case $prev$p in
 
-    -L* | -R* | -l*)
+    -L* | -R* | -l* | *.${libext} | *${std_shrext})
        # Some compilers place space between "-{L,R}" and the path.
        # Remove the space.
        if test x-L = "$p" ||

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: libtool-2.4.6 needs to be rebuilt for gcc-10
  2021-05-29  3:31 libtool-2.4.6 needs to be rebuilt for gcc-10 Lemures Lemniscati
@ 2021-05-29  6:07 ` Lemures Lemniscati
  0 siblings, 0 replies; 2+ messages in thread
From: Lemures Lemniscati @ 2021-05-29  6:07 UTC (permalink / raw)
  To: cygwin

On Sat, 29 May 2021 12:31:41 +0900, Lemures Lemniscati
> Hi!
> 
> libtool needs to be rebuilt for gcc-10,
> since libtool-2.4.6-7 (current) is built for gcc-7.4.0.
> 
> I tried to rebuild it, but some tests failed on an x86_64 build.
> 
> 
> --
> Here attached a set of files, which might be a candidate for cygport.
> It is also placed at a personal playground [2] forked from [1].
> 
> A local build from it is placed at [3].
> 
> Release number is set to '9', because it is '8' at a current master
> branch (commit 3486306) in the cygwin-packages repository of libtool [1]. 
> 
> [1]: https://www.cygwin.com/git/?p=git/cygwin-packages/libtool.git
> [2]: https://github.com/cygwin-lem/libtool-cygport/tree/n_2.4.6-9
> [3]: https://github.com/cygwin-lem/libtool-cygport/tree/n_2.4.6-9_gh-pages
>      or https://cygwin-lem.github.io/libtool-cygport/index.html
> 
> --
> But in cygport test, an x86_64 build brings unexpected failures as in
> 
>   https://ci.appveyor.com/project/cygwin/scallywag/builds/39372313/job/qjaaymd2s4ts9dly#L717
> 
> > Linking and loading.
> >  27: link against a preloaded static library         ok
> >  28: build and dynamically load a module             FAILED (demo.at:406)
> >  29: preload static and dynamic module               FAILED (demo.at:423)
> >  30: deplibs_check_method                            ok
> >  31: disable fast install                            FAILED (demo.at:485)
> >  32: force PIC objects                               FAILED (demo.at:501)
> >  33: force non-PIC objects                           skipped (demo.at:535)
> >  34: hardcoding library path                         FAILED (demo.at:612)
> >  35: binary relinking at install time                FAILED (demo.at:720)
> >  36: uninstalled libraries have priority             FAILED (demo.at:791)
> >  37: linking with long file names                    FAILED (demo.at:978)
> >  38: override pic_flag at configure time             ok
> >  39: test --with-pic                                 skipped (with-pic.at:39)

I've pushed a cygport working tree on my local machine [4] just after

  PATH=/usr/bin cygport libtool.cygport test

[4]: https://github.com/cygwin-lem/libtool-cygport/tree/n_2.4.6-9_tests

Could anyone help me?

Lem


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2021-05-29  6:07 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-05-29  3:31 libtool-2.4.6 needs to be rebuilt for gcc-10 Lemures Lemniscati
2021-05-29  6:07 ` Lemures Lemniscati

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).