On 11 July 2015 at 16:44, Rick Walsh <rickmwa...@gmail.com> wrote:

> Hi Dirk,
>
> On 11 July 2015 at 15:05, Dirk Hohndel <d...@hohndel.org> wrote:
>
>> On Sat, Jul 11, 2015 at 02:59:17PM +1000, Rick Walsh wrote:
>> > On 11 July 2015 at 12:48, Dirk Hohndel <d...@hohndel.org> wrote:
>> >
>> > >
>> > >
>> > > Nope. MarbleDirs.cpp
>> > >
>> > > And actually why don't you use this patch...
>> > >
>> > > diff --git a/src/lib/marble/MarbleDirs.cpp
>> b/src/lib/marble/MarbleDirs.cpp
>> > > index 014ab0582d0b..734107f6536e 100644
>> > > --- a/src/lib/marble/MarbleDirs.cpp
>> > > +++ b/src/lib/marble/MarbleDirs.cpp
>> > > @@ -68,6 +68,7 @@ QString MarbleDirs::path( const QString&
>> relativePath )
>> > >      }
>> > >      QString result = QDir( fullpath ).canonicalPath();
>> > >      if (result.isEmpty()) {
>> > > +           qDebug() << fullpath << "result" << result;
>> > >             if (relativePath.contains("bitmaps") && relativePath !=
>> > > "bitmaps/empty.png")
>> > >                     return path("bitmaps/empty.png");
>> > >  #if defined(DEBUG)
>> > >
>> >
>> > I've just tried that but I'm not sure it's doing much.
>> >
>> >  (gdb) run
>> > Starting program: /home/rick/build/subsurface/build/subsurface
>> > [Thread debugging using libthread_db enabled]
>> > Using host libthread_db library "/lib64/libthread_db.so.1".
>> > Map theme file does not exist: ""
>> > QInotifyFileSystemWatcherEngine::addPaths: inotify_add_watch failed: No
>> > such file or directory
>> > [New Thread 0x7fff81bf9700 (LWP 20213)]
>> > [Thread 0x7fff81bf9700 (LWP 20213) exited]
>> >
>>
>> Umm. Err. What? If the startup used to get you into the infinite recursion
>> (that's what happens in the "return path("bimaps/empty.png");"...)
>>
>> Oh, never mind. I bet your libssrfmarble isn't compiled with debugging
>> enabled, so the qDebug never gets printed for you.
>>
>> Can you replace the qDebug with
>>
>> fprintf(stderr, "fullpath %s results in %s\n", qPrintable(fullpath),
>> qPrintable(result));
>>
>> (completely untested, typos and thinkos included free of charge... but
>> something along those lines should work...)
>>
>
> Now I need a beer and/or coffee.
>
> So after I actually built Subsurface against the Marble libs modified with
> the fprintf(stderr... line., this does do something.
>
> (gdb) run
> Starting program: /home/rick/build/subsurface/build/subsurface
> [Thread debugging using libthread_db enabled]
> Using host libthread_db library "/lib64/libthread_db.so.1".
> fullpath /bitmaps/empty.png results in
> tried to open nonexistent file bitmaps/empty.png
> fullpath /maps/earth/srtm2/srtm2.dgml results in
> tried to open nonexistent file maps/earth/srtm2/srtm2.dgml
> Map theme file does not exist: ""
> fullpath
> /home/rick/build/subsurface/build/marbledata/placemarks/cityplacemarks.kml
> results in
> tried to open nonexistent file placemarks/cityplacemarks.kml
> fullpath
> /home/rick/build/subsurface/build/marbledata/placemarks/cityplacemarks.cache
> results in
> tried to open nonexistent file placemarks/cityplacemarks.cache
>
> etc.
>
> It is looking for the files in the wrong place.  marbledata is a symbolic
> link to:
> /home/rick/build/subsurface/marbledata, when it needs to point to
> /home/rick/build/marble-source/data.
>
> I recreated the link to point where it should, and the error messages go
> away.
>
>
I think line 157 of CMakeLists.txt is guilty:
if(NOT (insource OR insourcedir))
    if(NOT NO_MARBLE)
        add_custom_target(link_marble_data ALL COMMAND rm -f marbledata &&
ln -s ${${PROJECT_NAME}_SOURCE_DIR}/marbledata
${${PROJECT_NAME}_BINARY_DIR}/marbledata)
    endif()
endif()

I'm not sure how to fix this

Rick
_______________________________________________
subsurface mailing list
subsurface@subsurface-divelog.org
http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface

Reply via email to