Skip to content

Conversation

@ericLemanissier
Copy link
Contributor

@ericLemanissier ericLemanissier commented Dec 19, 2025

fixes #29187

Summary

Changes to recipe: bison/*

Motivation

Details

I ran the fix with a test recipe triggering the problem, and it actually fixes the situation for bison 3.8.2
bison < 3.8.2 still fails, it still prefers the system libiconv in spite of the --with-libiconv-prefix argument. I guess we can live with this, and juste upgrade bison where needed. Inspecting the difference in configure script betwwen 3.7.6 and 3.8.2, I can see the following addition, so it's probably related to a gnulib update:

addition

  GL_GNULIB_ICONV=0
















     if test $gl_cv_have_include_next = yes; then
       gl_cv_next_iconv_h='<'iconv.h'>'
     else
       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking absolute name of <iconv.h>" >&5
printf %s "checking absolute name of <iconv.h>... " >&6; }
if test ${gl_cv_next_iconv_h+y}
then :
  printf %s "(cached) " >&6
else $as_nop

             if test $ac_cv_header_iconv_h = yes; then




  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */
#include <iconv.h>
_ACEOF
                case "$host_os" in
    aix*) gl_absname_cpp="$ac_cpp -C" ;;
    *)    gl_absname_cpp="$ac_cpp" ;;
  esac

  case "$host_os" in
    mingw*)
                                          gl_dirsep_regex='[/\\]'
      ;;
    *)
      gl_dirsep_regex='\/'
      ;;
  esac
      gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
  gl_header_literal_regex=`echo 'iconv.h' \
                           | sed -e "$gl_make_literal_regex_sed"`
  gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
      s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
      s|^/[^/]|//&|
      p
      q
    }'

        gl_cv_absolute_iconv_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
  sed -n "$gl_absolute_header_sed"`

           gl_header=$gl_cv_absolute_iconv_h
           gl_cv_next_iconv_h='"'$gl_header'"'
          else
               gl_cv_next_iconv_h='<'iconv.h'>'
             fi


fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_iconv_h" >&5
printf "%s\n" "$gl_cv_next_iconv_h" >&6; }
     fi
     NEXT_ICONV_H=$gl_cv_next_iconv_h

     if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
       gl_next_as_first_directive='<'iconv.h'>'
     else
       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
       gl_next_as_first_directive=$gl_cv_next_iconv_h
     fi
     NEXT_AS_FIRST_DIRECTIVE_ICONV_H=$gl_next_as_first_directive












  • Read the contributing guidelines
  • Checked that this PR is not a duplicate: list of PRs by recipe
  • If this is a bug fix, please link related issue or provide bug details
  • Tested locally with at least one configuration using a recent version of Conan

Add a 👍 reaction to pull requests you find important to help the team prioritize, thanks!

@ericLemanissier
Copy link
Contributor Author

The error on macos with bison 3.7.1 is unrelated to this change (happens already with current recipe). Can we simply remove this version from conan-center-index ? It has a single conumser: https://github.com/search?q=repo%3Aconan-io%2Fconan-center-index%20bison%2F3.7.1&type=code
Is it possible to generate Linux-gcc13-x86_64 binaries for libiconv/1.18 ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[package] bison: does not run on macos in contexts where libiconv is in the graph

1 participant