lilypond-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

MacOS 64-bit build


From: Daniel Johnson
Subject: MacOS 64-bit build
Date: Wed, 13 Feb 2019 14:16:38 -0500
User-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:60.0) Gecko/20100101 Thunderbird/60.5.0

Hi all,

Apologies if this is off-topic or excessively noobish.

As an educational process, I've been working on a script to get Lilypond 2.19.82 to build on MacOS Mojave with dependencies mostly handled by Homebrew. I had to build extractpdfmark by hand, but the rest of the dependency tree is Homebrew. I am using guile 1.8.8, gcc 7.4.0, and flex 2.6.4.  Here's my configure line:

PATH="/usr/local/opt/texinfo/bin:/usr/local/opt/flex/bin:/usr/local/opt/bison/bin:$PATH" \   CC=/usr/local/bin/gcc-7 CXX=/usr/local/bin/gcc-7 CPP=/usr/local/bin/cpp-7 \
  CPPFLAGS="-I/usr/local/include -I/usr/local/opt/flex/include" \
  LDFLAGS="-L/usr/local/lib -L/usr/local/opt/flex/lib -L/usr/local/opt/bison/lib" \   ./configure --with-texgyre-dir=/Library/Fonts --disable-documentation --disable-optimising \
  --disable-pipe --disable-debugging --disable-guile2 --disable-profiling

On build, I get a long string of errors originating in out/lexer.cc:

out/lexer.cc:6272:46: error: cannot convert 'std::istream {aka std::basic_istream<char>}' to 'std::istream* {aka std::basic_istream<char>*}' in assignment
    YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
                                              ^~~~
out/lexer.cc: In constructor 'yyFlexLexer::yyFlexLexer(std::istream*, std::ostream*)': out/lexer.cc:6387:75: error: 'std::basic_istream<_CharT, _Traits>::basic_istream() [with _CharT = char; _Traits = std::char_traits<char>]' is protected within this context  yyFlexLexer::yyFlexLexer( std::istream* arg_yyin, std::ostream* arg_yyout )
^
In file included from /usr/local/Cellar/address@hidden/7.4.0/include/c++/7.4.0/iostream:40:0,
                 from out/lexer.cc:120:
/usr/local/Cellar/address@hidden/7.4.0/include/c++/7.4.0/istream:606:7: note: declared protected here
       basic_istream()
       ^~~~~~~~~~~~~
out/lexer.cc:6387:75: error: 'std::basic_ostream<_CharT, _Traits>::basic_ostream() [with _CharT = char; _Traits = std::char_traits<char>]' is protected within this context  yyFlexLexer::yyFlexLexer( std::istream* arg_yyin, std::ostream* arg_yyout )
^
In file included from /usr/local/Cellar/address@hidden/7.4.0/include/c++/7.4.0/iostream:39:0,
                 from out/lexer.cc:120:
/usr/local/Cellar/address@hidden/7.4.0/include/c++/7.4.0/ostream:384:7: note: declared protected here
       basic_ostream()
       ^~~~~~~~~~~~~
out/lexer.cc:6389:9: error: no match for 'operator=' (operand types are 'std::istream {aka std::basic_istream<char>}' and 'std::istream* {aka std::basic_istream<char>*}')
  yyin = arg_yyin;
         ^~~~~~~~
In file included from /usr/local/Cellar/address@hidden/7.4.0/include/c++/7.4.0/iostream:40:0,
                 from out/lexer.cc:120:
/usr/local/Cellar/address@hidden/7.4.0/include/c++/7.4.0/istream:625:7: note: candidate: std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator=(std::basic_istream<_CharT, _Traits>&&) [with _CharT = char; _Traits = std::char_traits<char>]
       operator=(basic_istream&& __rhs)
       ^~~~~~~~
/usr/local/Cellar/address@hidden/7.4.0/include/c++/7.4.0/istream:625:7: note:   no known conversion for argument 1 from 'std::istream* {aka std::basic_istream<char>*}' to 'std::basic_isttream<char>&&' out/lexer.cc:6390:10: error: no match for 'operator=' (operand types are 'std::ostream {aka std::basic_ostream<char>}' and 'std::ostream* {aka std::basic_ostream<char>*}')
  yyout = arg_yyout;
          ^~~~~~~~~
In file included from /usr/local/Cellar/address@hidden/7.4.0/include/c++/7.4.0/iostream:39:0,
                 from out/lexer.cc:120:
/usr/local/Cellar/address@hidden/7.4.0/include/c++/7.4.0/ostream:402:7: note: candidate: std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator=(std::basic_ostream<_CharT, _Traits>&&) [with _CharT = char; _Traits = std::char_traits<char>]
       operator=(basic_ostream&& __rhs)
       ^~~~~~~~
/usr/local/Cellar/address@hidden/7.4.0/include/c++/7.4.0/ostream:402:7: note:   no known conversion for argument 1 from 'std::ostream* {aka std::basic_ostream<char>*}' to 'std::basic_ostream<char>&&' out/lexer.cc: In member function 'virtual void yyFlexLexer::switch_streams(std::istream*, std::ostream*)': out/lexer.cc:6436:11: error: no match for 'operator=' (operand types are 'std::ostream {aka std::basic_ostream<char>}' and 'std::ostream* {aka std::basic_ostream<char>*}')
   yyout = new_out;
           ^~~~~~~
In file included from /usr/local/Cellar/address@hidden/7.4.0/include/c++/7.4.0/iostream:39:0,
                 from out/lexer.cc:120:
/usr/local/Cellar/address@hidden/7.4.0/include/c++/7.4.0/ostream:402:7: note: candidate: std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator=(std::basic_ostream<_CharT, _Traits>&&) [with _CharT = char; _Traits = std::char_traits<char>]
       operator=(basic_ostream&& __rhs)
       ^~~~~~~~
/usr/local/Cellar/address@hidden/7.4.0/include/c++/7.4.0/ostream:402:7: note:   no known conversion for argument 1 from 'std::ostream* {aka std::basic_ostream<char>*}' to 'std::basic_ostream<char>&&'
out/lexer.cc: At global scope:
out/lexer.cc:32:25: error: prototype for 'size_t yyFlexLexer::LexerInput(char*, size_t)' does not match any in class 'yyFlexLexer'
     #define yyFlexLexer yyFlexLexer
                         ^
out/lexer.cc:6442:8: note: in expansion of macro 'yyFlexLexer'
 size_t yyFlexLexer::LexerInput( char* buf, size_t max_size )
        ^~~~~~~~~~~
In file included from out/lexer.cc:383:0:
/usr/local/opt/flex/include/FlexLexer.h:148:15: error: candidate is: virtual int yyFlexLexer::LexerInput(char*, int)
   virtual int LexerInput( char* buf, int max_size );
               ^~~~~~~~~~
out/lexer.cc:32:25: error: prototype for 'void yyFlexLexer::LexerOutput(const char*, size_t)' does not match any in class 'yyFlexLexer'
     #define yyFlexLexer yyFlexLexer
                         ^
out/lexer.cc:6469:6: note: in expansion of macro 'yyFlexLexer'
 void yyFlexLexer::LexerOutput( const char* buf, size_t size )
      ^~~~~~~~~~~
In file included from out/lexer.cc:383:0:
/usr/local/opt/flex/include/FlexLexer.h:149:16: error: candidate is: virtual void yyFlexLexer::LexerOutput(const char*, int)
   virtual void LexerOutput( const char* buf, int size );
                ^~~~~~~~~~~
out/lexer.cc: In member function 'int yyFlexLexer::yy_get_next_buffer()':
out/lexer.cc:5017:52: warning: conversion to 'int' from 'yy_size_t {aka long unsigned int}' may alter its value [-Wconversion]
  if ( (result = LexerInput( (char *) buf, max_size )) < 0 ) \
                                                    ^
out/lexer.cc:6578:3: note: in expansion of macro 'YY_INPUT'
   YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
   ^~~~~~~~
out/lexer.cc: In member function 'void yyFlexLexer::yyunput(int, char*)':
out/lexer.cc:6693:45: warning: conversion to 'int' from 'yy_size_t {aka long unsigned int}' may alter its value [-Wconversion]
    (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
out/lexer.cc: In member function 'virtual void yyFlexLexer::yyrestart(std::istream*)': out/lexer.cc:6803:48: error: no matching function for call to 'yyFlexLexer::yy_init_buffer(yy_buffer_state*, std::istream*&)'
  yy_init_buffer( YY_CURRENT_BUFFER, input_file );
                                                ^
In file included from out/lexer.cc:383:0:
/usr/local/opt/flex/include/FlexLexer.h:156:8: note: candidate: void yyFlexLexer::yy_init_buffer(yy_buffer_state*, std::istream&)
   void yy_init_buffer( yy_buffer_state* b, std::istream& s );
        ^~~~~~~~~~~~~~
/usr/local/opt/flex/include/FlexLexer.h:156:8: note:   no known conversion for argument 2 from 'std::istream* {aka std::basic_istream<char>*}' to 'std::istream& {aka std::basic_istream<char>&}'
out/lexer.cc: In member function 'void yyFlexLexer::yy_load_buffer_state()':
out/lexer.cc:6852:47: warning: conversion to 'int' from 'yy_size_t {aka long unsigned int}' may alter its value [-Wconversion]
      (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
out/lexer.cc:6854:35: error: no match for 'operator=' (operand types are 'std::istream {aka std::basic_istream<char>}' and 'std::istream* {aka std::basic_istream<char>*}')
  yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
                                   ^~~~~~~~~~~~~
In file included from /usr/local/Cellar/address@hidden/7.4.0/include/c++/7.4.0/iostream:40:0,
                 from out/lexer.cc:120:
/usr/local/Cellar/address@hidden/7.4.0/include/c++/7.4.0/istream:625:7: note: candidate: std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator=(std::basic_istream<_CharT, _Traits>&&) [with _CharT = char; _Traits = std::char_traits<char>]
       operator=(basic_istream&& __rhs)
       ^~~~~~~~
/usr/local/Cellar/address@hidden/7.4.0/include/c++/7.4.0/istream:625:7: note:   no known conversion for argument 1 from 'std::istream* {aka std::basic_istream<char>*}' to 'std::basic_istream<char>&&' out/lexer.cc: In member function 'virtual yy_buffer_state* yyFlexLexer::yy_create_buffer(std::istream*, int)': out/lexer.cc:6887:26: error: no matching function for call to 'yyFlexLexer::yy_init_buffer(yy_buffer_state*&, std::istream*&)'
  yy_init_buffer( b, file );
                          ^
In file included from out/lexer.cc:383:0:
/usr/local/opt/flex/include/FlexLexer.h:156:8: note: candidate: void yyFlexLexer::yy_init_buffer(yy_buffer_state*, std::istream&)
   void yy_init_buffer( yy_buffer_state* b, std::istream& s );
        ^~~~~~~~~~~~~~
/usr/local/opt/flex/include/FlexLexer.h:156:8: note:   no known conversion for argument 2 from 'std::istream* {aka std::basic_istream<char>*}' to 'std::istream& {aka std::basic_istream<char>&}'
out/lexer.cc: At global scope:
out/lexer.cc:32:25: error: prototype for 'void yyFlexLexer::yy_init_buffer(YY_BUFFER_STATE, std::istream*)' does not match any in class 'yyFlexLexer'
     #define yyFlexLexer yyFlexLexer
                         ^
out/lexer.cc:6929:10: note: in expansion of macro 'yyFlexLexer'
     void yyFlexLexer::yy_init_buffer( YY_BUFFER_STATE b, std::istream* file )
          ^~~~~~~~~~~
In file included from out/lexer.cc:383:0:
/usr/local/opt/flex/include/FlexLexer.h:156:8: error: candidate is: void yyFlexLexer::yy_init_buffer(yy_buffer_state*, std::istream&)
   void yy_init_buffer( yy_buffer_state* b, std::istream& s );
        ^~~~~~~~~~~~~~

I have no idea where to go from here. My impulse would be that I have an incompatible version of flex, but I think I was able to build Lilypond on my Gentoo box against this same version. Does anyone have any concrete suggestions?

Cheers,
Daniel



reply via email to

[Prev in Thread] Current Thread [Next in Thread]