Problem running root in a Dropbox directory (input_line_ ... fatal error)

Ciao,

I opened a new topic since this:

cannot be replied anymore. I have the very same issue:

bozzo@MacBookTouchBar-Pro-di-Matteo-Duranti:BeamTestPreparation> root
root [0] .x gaussiansigma.C
input_line_11:1:10: fatal error: '/Volumes/DATI/Dropbox' file not found
#include "/Volumes/DATI/Dropbox"
         ^~~~~~~~~~~~~~~~~~~~~~~

I’m quite sure the problem is due to a stupid space Dropbox inserts in the “sandbox” dir if one uses also a “professional” account. Even trying to cheat him with a symlink doesn’t solve the problem:

bozzo@MacBookTouchBar-Pro-di-Matteo-Duranti:BeamTestPreparation> pwd
/Volumes/DATI/Dropbox/Work/BandoASI_FutureMissioni_2017/BeamTestPreparation
bozzo@MacBookTouchBar-Pro-di-Matteo-Duranti:BeamTestPreparation> ls -ld /Volumes/DATI/Dropbox 
lrwxr-xr-x  1 bozzo  admin  19  2 Apr 17:42 /Volumes/DATI/Dropbox -> Dropbox (Personale)
bozzo@MacBookTouchBar-Pro-di-Matteo-Duranti:BeamTestPreparation> ls -ld /Volumes/DATI/Dropbox*
lrwxr-xr-x   1 bozzo  admin   19  2 Apr 17:42 /Volumes/DATI/Dropbox -> Dropbox (Personale)
drwx------@  9 bozzo  admin  288  7 Dic 08:30 /Volumes/DATI/Dropbox (AMS Perugia)
drwx------@ 18 bozzo  admin  576  1 Apr 15:15 /Volumes/DATI/Dropbox (Personale)

Matteo


_ROOT Version:6.14.06
_Platform:MacOsX
_Compiler:clang


Ciao,
what is this line supposed to do? (you can only #include C++ source files, not directories)

Cheers,
Enrico

Ciao,

you’re right, I didn’t specified: this is a simple MACRO (code between { }) and I’m not including anything!

Matteo

Uhm, I don’t understand where the include error comes from then (ROOT might be trying to #include stuff on its own, but I don’t understand why that would fail).

I tried executing a ROOT macro from a directory with a space in its name, as well as reading ROOT data from a directory with a space in its name, and it worked fine (with latest ROOT master, not v6.14, admittedly).

Can you try to simplify gaussiansigma.C until it contains only the very few lines that cause the problem?

Ciao,

I didn’t provided a minimal example because I was sure was not related to my macro (but I didn’t say it). So:

bozzo@MacBookTouchBar-Pro-di-Matteo-Duranti:BeamTestPreparation> root gaussiansigma_simplified.C 
root [0] 
Processing gaussiansigma_simplified.C...
input_line_11:1:10: fatal error: '/Volumes/DATI/Dropbox' file not found
#include "/Volumes/DATI/Dropbox"
         ^~~~~~~~~~~~~~~~~~~~~~~
root [1] .q

where the macro now is simply:

{

  TH1F* h = new TH1F("h", "h", 10000, -10, 10);

  TCanvas* c_h = new TCanvas("c_h", "c_h");
  c_h->cd();
  h->Draw();

}

Matteo

This definitely looks like a bug, but I can’t reproduce it locally. I put your macro inside file test.C, put that file in my cernbox directory, tried to run it, and it worked.

Maybe @Axel or @dpiparo have a better idea of what cling might be getting wrong.

Otherwise, feel free to open a ticket on https://sft.its.cern.ch/jira/projects/ROOT, possibly specifying a clear sequence of steps to reproduce the problem (including your cernbox setup, because things work fine with mine…?)

I’m sorry I can’t provide better suggestions.
Cheers,
Enrico

What’s the full path to gaussiansigma_simplified.C? Is there a space in the path?

Also, could you elaborate on this:

Ciao,

as reported in the first post:

the macro is in this dir:

bozzo@MacBookTouchBar-Pro-di-Matteo-Duranti:BeamTestPreparation> pwd
/Volumes/DATI/Dropbox/Work/BandoASI_FutureMissioni_2017/BeamTestPreparation 

and this dir (/Volumes/DATI/Dropbox) is a symbolic link since now I have TWO Dropbox directories, one for my “personal” (“Personale”) account and one for my team account (“AMS Perugia”). This is what is explained here and creates this stupid dirs with the spaces:

bozzo@MacBookTouchBar-Pro-di-Matteo-Duranti:BeamTestPreparation> ls -ld /Volumes/DATI/Dropbox*
lrwxr-xr-x   1 bozzo  admin   19  2 Apr 17:42 /Volumes/DATI/Dropbox -> Dropbox (Personale)
drwx------@  9 bozzo  admin  288  7 Dic 08:30 /Volumes/DATI/Dropbox (AMS Perugia)
drwx------@ 18 bozzo  admin  576  1 Apr 15:15 /Volumes/DATI/Dropbox (Personale)

Both if I reach the dir following the path with the symbolic link (i.e. WITHOUT the space), or following the path with the space, the macro has that error.
I didn’t say but should be clear from the “simplified” macro: If, instead, I move the macro in a “normal” dir (for example my Desktop), it works fine.

Matteo

Ciao,

just for clarity:

I’m talking about Dropbox, not Cernbox.

Matteo

Thanks, that’s it:

~/b/r/cmake $ cd ~
~ $ mkdir 'Some (Dir)'
~ $ cd 'Some (Dir)'
~/Some (Dir) $ echo 'int atest() { return 0; }' > atest.C
~/Some (Dir) $ root -l -b -q atest.C

Processing atest.C...
input_line_8:1:10: fatal error: '/Users/axel/Some' file not found
#include "/Users/axel/Some"
         ^~~~~~~~~~~~~~~~~~

As in: cannot use (. I’m debugging why - it’s likely because the parsing misinterprets this as the argument .x foo.C(12). (But I have a huge backlog after vacation, so please ping me next week should you not have heard back from me!) That’s now https://sft.its.cern.ch/jira/browse/ROOT-10097

1 Like

Ciao,

I didn’t think to make such a simple test: so is the “(”, not the space, to create the trouble!

Thanks,
Matteo

As suggested I’m here to ping!

Thanks,
Matteo

Ack! I’ll fix this on Thursday…

Thank God today is Thursday! :slight_smile:

Matteo

There we go, and it’s fixed! :slight_smile: Will be part of the upcoming v6.18.

Thanks really a lot!

Matteo

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.