Error in <TUnixSystem::DynamicPathName>(solved)

Hi!

I’d like to use root with cygwin and windows, but when I start root it says :

[code]*******************************************

  •    W E L C O M E  to  R O O T       
    
  • Version 4.03/02 9 February 2005
  • You are welcome to visit our Web site
  •      http://root.cern.ch                                                     
    

Compiled for win32gcc with thread support.

CINT/ROOT C/C++ Interpreter version 5.15.159, Nov 14 2004
Type ? for help. Commands must be C++ statements.
Enclose multiple statements between { }.
Error in TUnixSystem::DynamicPathName: Minuit[.so | .sl | .dl | .a | .dll] does not exist in .:C:\UTILS\CYGWIN\HOME\synapses\ROOT/lib
Error in TUnixSystem::DynamicPathName: Postscript[.so | .sl | .dl | .a | .dll] does not exist in .:C:\UTILS\CYGWIN\HOME\synapses\ROOT/lib
Error in TUnixSystem::DynamicPathName: Html[.so | .sl | .dl | .a | .dll] does not exist in .:C:\UTILS\CYGWIN\HOME\synapses\ROOT/lib
root[0] [/code]

And when I try the VC++ version I have :

[code]synapses@homer ~
$ root


  •    W E L C O M E  to  R O O T       
    
  • Version 4.03/02 9 February 2005
  • You are welcome to visit our Web site
  •      http://root.cern.ch            
    

Compiled for win32 with thread support.

CINT/ROOT C/C++ Interpreter version 5.15.159, Nov 14 2004
Type ? for help. Commands must be C++ statements.
Enclose multiple statements between { }.[/code]

But there is no prompt and I have to exit with CTRL-C…

Could anybody help me, please? Thanks.

Hi berder,
the win32 build does not work in a bash window, it only works in a windows shell (cmd.exe). For your win32gcc build you’ve set $ROOTSYS in the wrong format (you’ve done it the windows way, it needs to be the unix way: export ROOTSYS=/home/synapses/root/lib). See this page for instructions on how to set win32gcc’s environment.
Axel.

Hi and thanks.

I’ve followed the indications of your website, but I still have problems : I have executed the VC++ version of ROOT in a windows shell as you told me to do, but nothing happen when I try the “hello world” example. With the gcc version, a window opens which says the program doesn’t find the CYGX11-6.DLL file - it exists and is in c:\utils\cygwin\usr\X11R6\bin. And if I type root in a xterm, I get :

[code]synapses@homer ~
$ root

*** Break *** segmentation violation
[/code] and a window opens too, saying “Root_exe caused an error in CYGWIN1.DLL” and I have to exit with CTRL-ALT-DEL…

Hi berder,
might be that your environment variables are causing that, or that something went wrong during the build. Could you send the output of

echo $PATH echo $LD_LIBRARY_PATH cygcheck $ROOTSYS/bin/*.dll when running in a bash window or xterm (i.e. for your win32gcc build) and the output of

echo %PATH% C:\cygwin\bin\cygcheck %ROOTSYS%\bin\*.dll (note that C:\cygwin should point to the location where cygwin was installed).
Axel.

Hi!

Here are the results :

[code]synapses@homer ~
$ echo $PATH
c:/utils/cygwin/home/synapses/root/bin:/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:
c:/utils/cygwin/home/synapses/root/bin:/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:
/HOME/synapses/ROOT/BIN:/cygdrive/c/utils/miktex/miktex/bin:/cygdrive/c/WINDOWS:
/cygdrive/c/WINDOWS/COMMAND:/cygdrive/c/utils/gtk/2.0/bin:
/cygdrive/c/progra~1/fichie~1/gtk/2.0/bin

synapses@homer ~
$ echo $LD_LIBRARY_PATH[/code] I think there should be something in the second one?
The third one is quite long, so I prefer to add it in attachment…
Using a windows shell, I have :

C:\WINDOWS>echo %PATH% C:\UTILS\CYGWIN\HOME\synapses\ROOT\BIN; C:\utils\miktex\miktex\bin; C:\WINDOWS; C:\WINDOWS\COMMAND; c:\utils\gtk\2.0\bin;c:\progra~1\fichie~1\gtk\2.0\bin and cygcheck dispays many and many “error: could not find cygwin1.dll” and some “error: could not find cygcrypt-0.dll” or “[…] cygcrypto-0.9.7.dll”…

(I’ve forgotten to say that “root -b” works with the VC++ version, but without any graphic output, and makes a break segmentation fault with the gcc version.)
cygcheck.txt (25.4 KB)

Berder,
To fix the win32gcc build: as the web site tells you, PATH and ROOTSYS have to be set in linux format; you’ve some half-windows format paths in there (“c:/…”). That’s pretty confusing for cygwin. Try with this PATH:
/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:
/home/synapses/root/bin:/cygdrive/c/utils/miktex/miktex/bin:/cygdrive/c/WINDOWS:
/cygdrive/c/WINDOWS/COMMAND:/cygdrive/c/utils/gtk/2.0/bin:
/cygdrive/c/progra~1/fichie~1/gtk/2.0/bin
The cygcheck output for your win32gcc build in /home/synapses/root looks good, by the way. So with the above PATH win32gcc should work.

Now, to fix your win32 build: sorry, I forgot to write 1/2 a sentence. For the windows command line (cmd.exe) I was trying to ask for the win32 output - so ROOTSYS should not point to c:\utils\cygwin\home\synapses\root for that, but to the win32 %ROOTSYS% which has to be different. So open a cmd.exe, set your %ROOTSYS% and %PATH% as you’d normally do trying to start your win32 root, and run echo %PATH% C:\cygwin\bin\cygcheck %ROOTSYS%\bin\*.dll
Axel.

Hi!

The VC++ version works, that’s enough for me. I will delete the gcc one. Thank you very much another time Axel, I can’t imagine how I would have solved all my problems without your help…

Regards.