I tried to debug, but ended at /usr/src/lyx/lyx-git/src/Exporter.cpp:142
        FileMap::const_iterator cit = externalfiles_.find(format);

Here the log:
gdb) b FileName.cpp:690
Breakpoint 1, lyx::support::FileName::createPath (this=0x7fffe3ffe910) at 
/usr/src/lyx/lyx-git/src/support/FileName.cpp:690
690             LYXERR(Debug::FILES, "creating path '" << *this << "'.");
(gdb) up
#1  0x0000000000c8d270 in lyx::Buffer::doExport (this=0x218a730, target=..., 
put_in_tempdir=false, includeall=false, result_file=...) at 
/usr/src/lyx/lyx-git/src/Buffer.cpp:4154
4154                    fixedFileName.onlyPath().createPath();
...
(gdb) p fixedName
$4 = {
  static npos = <optimized out>,
  _M_dataplus = {
    <std::allocator<char>> = {
      <__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>},
    members of std::basic_string<char, std::char_traits<char>, 
std::allocator<char> >::_Alloc_hider:
    _M_p = 0x7fffdc0e5538 "/usr/src/lyx/lyx-git/lib/images/math-mode.pdf"
  }
}
(gdb) p dest
$2 = {
  static npos = <optimized out>,
  _M_dataplus = {
    <std::allocator<char>> = {
      <__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>},
    members of std::basic_string<char, std::char_traits<char>, 
std::allocator<char> >::_Alloc_hider:
    _M_p = 0x7fffdc0f6688 "/home/kornel/lyx/test/"
  }
}
(gdb) p it->exportName
$5 = {
  static npos = <optimized out>,
  _M_dataplus = {
    <std::allocator<char>> = {
      <__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>},
    members of std::basic_string<char, std::char_traits<char>, 
std::allocator<char> >::_Alloc_hider:
    _M_p = 0x7fffdc0e5538 "/usr/src/lyx/lyx-git/lib/images/math-mode.pdf"
  }
}
(gdb) p format
$7 = {
  static npos = <optimized out>,
  _M_dataplus = {
    <std::allocator<char>> = {
      <__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>},
    members of std::basic_string<char, std::char_traits<char>, 
std::allocator<char> >::_Alloc_hider:
    _M_p = 0x2f955f8 "luatex"
  }
}
(gdb) p fmt
$8 = {
  static npos = <optimized out>,
  _M_dataplus = {
    <std::allocator<char>> = {
      <__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>},
    members of std::basic_string<char, std::char_traits<char>, 
std::allocator<char> >::_Alloc_hider:
    _M_p = 0x7fffdc0fcc18 "pdf6"
  }
}
...

What I do not understand, why it->exportName references (incorrectly in my 
eyes) /usr/src/lyx/lyx-git/lib/images/math-mode.pdf
although dest is set to /home/kornel/lyx/test/. (This is the dir where Math.lyx 
lies)

Next try was to stop at Buffer.cpp:4134 (vector<ExportedFile> const files = ...)
only to stop at above mentioned Exporter.cpp.

Please help.

        Kornel

Am Montag, 30. März 2015 um 11:26:23, schrieb Kornel Benko <kor...@lyx.org>
> Am Sonntag, 29. März 2015 um 23:07:35, schrieb Kornel Benko <kor...@lyx.org>
> > This is a recipe to observe creation of files in lyx-source
> > 
> > 1.) copy {lyx-source}/lib/doc/Math.lyx to a local directory, say 
> > ~/lyx/test/.
> >     This is not needed, but shows that the behaviour does not depend on
> >     the path of Math.lyx
> > 2.) use your lyx from the build directory to open the file
> > 3.) File->Export->LaTeX(LuaLaTeX)
> > 
> > Now go to the lyx-source
> > # git status
> > 
> > You see many untracked .pdf files like e.g. 
> > lib/images/math-macro-remove-greedy-param.pdf
> > 
> > Second scenario with installed lyx. Make sure, the lyx system dirs are not 
> > writeable by you
> > 
> > 2.) open the file
> > 3.) try the export.
> >     Now you are facing a dialog saying some file could not be copied.
> >     Click OK.
> >     Next dialog pops up.
> >     This goes on for 43 files.
> > 
> 
> Apparently nobody seems interested.
> 
> I tried to hunt it down with strace. For each created pdf file there is about 
> 3000 lines trace.
> Too big to send, but some interesting lines are there, like
>       8951  open("/usr/src/lyx/lyx-git/lib/images/qt_temp.wv8939", 
> O_RDWR|O_CREAT|O_EXCL|O_CLOEXEC, 0600) = 12
>       ...
>       8951  rename("/usr/src/lyx/lyx-git/lib/images/qt_temp.wv8939", 
> "/usr/src/lyx/lyx-git/lib/images/math-macro-add-greedy-optional-param.pdf") = > 0
>       ...
>       8951  
> chmod("/usr/src/lyx/lyx-git/lib/images/math-macro-add-greedy-optional-param.pdf",
>  0600) = 0
> 
> Looks like use of qt temporary files in lyx source.
> 
> OK, try to call lyx -dbg files, to hunt the messages in 
> src/support/{TempFile,FileName,filetools}.cpp .
> so here it is:
>       support/FileName.cpp (690): creating path 
> '/usr/src/lyx/lyx-git/lib/images'.
>       support/FileName.cpp (590): Checksumming 
> "/tmp/lyx_tmpdir.jloUpnFT9257/lyx_tmpbuf0/42_usr_src_lyx_lyx-git_lib_images_math-macro-add-greedy-optional-param.pdf"
>  2022594892 lasted 1 ms.
>       support/FileName.cpp (230): Copying 
> /usr/src/lyx/lyx-git/lib/images/math-macro-add-greedy-optional-param.pdf keep 
> symlink: 0
>       support/FileName.cpp (590): Checksumming 
> "/tmp/lyx_tmpdir.jloUpnFT9257/lyx_tmpbuf0/Math.tex" 3063457583 lasted 14 ms.
> 
>       Kornel
>       

Attachment: signature.asc
Description: This is a digitally signed message part.

Reply via email to