lilypond-devel
[Top][All Lists]
Advanced

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

Re: make broken on OSX 10.5.8


From: Carl Sorensen
Subject: Re: make broken on OSX 10.5.8
Date: Sun, 30 Oct 2011 04:45:17 +0000
User-agent: Microsoft-MacOutlook/14.13.0.110805


On 10/29/11 9:23 PM, "Graham Percival" <address@hidden> wrote:

>On Sat, Oct 29, 2011 at 11:34:35PM +0000, Carl Sorensen wrote:
>> I think I figured it out.  The OSX compiler doesn't have a built in
>> std::vector namespace, so we use the vector class in flower/.
>
>That sounds weird.  Are you on lion, and does that default to llvm
>instead of gcc ?  If so, you might need to explicitly add -lstdc++
>to the linker stage.  (I discovered that in artifastring; no idea
>if that applies to lilypond as well but I wouldn't be surprised)
>If you're still on gcc, then what version of gcc doesn't supply
>std::vector ?
>
>I really think this can be fixed by explicitly including a header
>and/or linking to a library.

No, I'm on Leopard.

In flower/include/std-vector.hh we see:

70 #if HAVE_STL_DATA_METHOD
 71 #include <vector>
 72 #else /* !HAVE_STL_DATA_METHOD */
 73 #define vector __flower_vector
 74 #include <vector>
 75 #undef vector
 7



In my config.log, I see the following:

347 configure:5124: checking for stl.data () method
 348 configure:5145: g++ -c -I/opt/local/include  -O2 -finline-functions
-g -pipe       conftest.cpp >&5
 349 conftest.cpp:9:1: warning: "PACKAGE_NAME" redefined
 350 conftest.cpp:2:1: warning: this is the location of the previous
definition
 351 conftest.cpp:23: error: 'class std::vector<int, std::allocator<int>
>' has no      member named 'data'
 352 configure:5145: $? = 1
 353 configure: failed program was:
 354 | /* confdefs.h */
 355 | #define PACKAGE_NAME ""
 356 | #define PACKAGE_TARNAME ""
 357 | #define PACKAGE_VERSION ""
 358 | #define PACKAGE_STRING ""
 359 | #define PACKAGE_BUGREPORT ""
 360 | #define PACKAGE_URL ""
 361 | #define PACKAGE "lilypond"
 362 | #define PACKAGE_NAME "LilyPond"
 363 | #define TOPLEVEL_VERSION "2.15.17"
 364 | #define DIRSEP '/'
 365 | #define PATHSEP ':'
 366 | #define DATADIR "/Users/Carl/lilypond/share"
 367 | #define BUILD_PACKAGE_DATADIR
"/Users/Carl/lilypond/out/share/lilypond"
 368 | #define LIBDIR "NONE/lib"
 369 | #define BUILD_PACKAGE_LIBDIR "/Users/Carl/lilypond/out/lib/lilypond"
 370 | #define NDEBUG 1
 371 | /* end confdefs.h.  */
 372 |
 373 | #include <vector>
 374 | using namespace std;
 375 | vector <int> v;
 376 | void *p = v.data ();
 377 |
 378 | int
 379 | main ()
 380 | {
 381 |
 382 |   ;
 383 |   return 0;
 384 | }
 385 configure:5152: result: no

And HAVE_STL_DATA_METHOD is not defined in config.status



So I think my fix is actually correct, although there may be a way to get
my system to have the data method.

Thanks,

Carl





reply via email to

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