Re: [Mingw-w64-public] MinGW-w64 + MSYS: g++ can't include files with unix style prefix?

2014-08-08 Thread Alexpux

08 авг. 2014 г., в 20:06, Richard Shaw hobbes1...@gmail.com написал(а):

 Ok, a bit of an update...
 
 I got MSYS2 installed and after I figured out pacman I got mingw-w64 
 installed. It is nice having it integrated instead of two separate 
 installations. Also, most of my dependencies were available so I didn't have 
 to build as much. One notable exception is sox.
 
 Just for the heck of it I did the sox build with ninja which was interesting. 
 Worked fine.
 
 Now I'm trying to build the final project and I'm guessing this is a cmake 
 bug:
 
 cd /C/Tools/Projects/freedv/src  /C/msys32/mingw32/bin/g++.exe   
 -DHAVE_CONFIG_H -DSVN_REVISION=\1786M\ -DWXUSINGDLL -D_FILE_OFFSET_BITS=64 
 -D_NO_AUTOTOOLS_ -D__WXMSW__ -Wall -mthreads;-fpermissive -g 
 -I/C/Tools/Projects/freedv -I/C/msys32/mingw32/include 
 -I/C/msys32/usr/local/include -isystem 
 /mingw32/lib/wx/include/msw-unicode-3.0 -isystem /mingw32/include/wx-3.0 
 -I/C/msys32/usr/local/include/codec2 
 -I/C/Tools/Projects/svn/freetel/fdmdv2/src-o 
 CMakeFiles/freedv.dir/dlg_about.cpp.obj -c 
 /C/Tools/Projects/svn/freetel/fdmdv2/src/dlg_about.cpp
 g++.exe: fatal error: no input files
 compilation terminated.
 
 There is a ; working it's way in between the -mthreads and -fpermissive 
 option and I don't know where it's coming from. This is with the MSYS 
 makefiles. I tried Ninja but for some reason cmake fails to find wxWidgets 
 which is odd, I would think that would be independent of the generator used.
 
This is known issue. Think this is cmake error parsing flags from wxwidgets 
config file.
Don’t have time yet to fix it.

Regards,
Alexey.

 Thanks,
 Richard
 --
 Want fast and easy access to all the code in your enterprise? Index and
 search up to 200,000 lines of code with a free copy of Black Duck
 Code Sight - the same software that powers the world's largest code
 search on Ohloh, the Black Duck Open Hub! Try it now.
 http://p.sf.net/sfu/bds___
 Mingw-w64-public mailing list
 Mingw-w64-public@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


--
Want fast and easy access to all the code in your enterprise? Index and
search up to 200,000 lines of code with a free copy of Black Duck
Code Sight - the same software that powers the world's largest code
search on Ohloh, the Black Duck Open Hub! Try it now.
http://p.sf.net/sfu/bds
___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


[Mingw-w64-public] MinGW-w64 + MSYS: g++ can't include files with unix style prefix?

2014-08-07 Thread Richard Shaw
I'm working on documenting how to build a project natively in windows,
which first means figuring out the quirks myself and I ran into an issue
with g++ not being able to find headers with unix style paths
/usr/local/include.

My environment:
Windows 7 32bit
mingw-w64 from win-builds.org
MSYS from the MinGW-w64 sourceforge page


The project requires wxWidgets which I have building and installing fine
with no tweaks. In order to determine C/CXX flags, linker requirements,
etc, wxWigets provides a script wx-config that provides them. My project is
cmake based (if it matters) and I'm using the built-in
FindWxWidgets/UseWxWidgets modules for library and inclide directory
detection (which uses wx-config on *nix systems).

The problem occurs when I try to build my project:

cd /C/Tools/Projects/freedv/src  /C/Tools/msys/opt/windows_32/bin/g++.exe
  -D
HAVE_CONFIG_H -DSVN_REVISION=\1786M\ -D_FILE_OFFSET_BITS=64
-D_NO_AUTOTOOLS_ -
D__WXMSW__ -Wall -mthreads -g @CMakeFiles/freedv.dir/includes_CXX.rsp   -o
CMake
Files/freedv.dir/dlg_about.cpp.obj -c
/C/Tools/Projects/svn/freetel/fdmdv2/src/d
lg_about.cpp
c:/Tools/Projects/svn/freetel/fdmdv2/src/dlg_about.cpp:21:22: fatal error:
wx/ff
ile.h: No such file or directory
 #include wx/ffile.h
  ^
compilation terminated.

The contents of includes_CSS.rsp:
-IC:/Tools/Projects/freedv -Ic:/Tools/msys/local/include -isystem
/usr/local/lib/wx/include/msw-unicode-static-3.0 -isystem
/usr/local/include/wx-3.0 -Ic:/Tools/msys/local/include/codec2
-IC:/Tools/Projects/svn/freetel/fdmdv2/src

As you can see, most of the includes use the windows path, C:/Tools/...
except the two wxWidgets entries use the unix style /usr/local, however,
msys doesn't seem to have a problem:
$ file /usr/local/include/wx-3.0/wx/ffile.h
/usr/local/include/wx-3.0/wx/ffile.h: ASCII C++ program text, with CRLF
line terminators

If I change the /usr/local to c;/Tools/msys/local/include/wx-3.0 (and the
same for the other) then compilation completes without error.

Am I missing something obvious here? Isn't the whole point of msys is so
that you can use unix style paths?

Thanks,
Richard
--
Infragistics Professional
Build stunning WinForms apps today!
Reboot your WinForms applications with our WinForms controls. 
Build a bridge from your legacy apps to the future.
http://pubads.g.doubleclick.net/gampad/clk?id=153845071iu=/4140/ostg.clktrk___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


Re: [Mingw-w64-public] MinGW-w64 + MSYS: g++ can't include files with unix style prefix?

2014-08-07 Thread Óscar Fuentes
Richard Shaw hobbes1...@gmail.com
writes:

 I'm working on documenting how to build a project natively in windows,
 which first means figuring out the quirks myself and I ran into an issue
 with g++ not being able to find headers with unix style paths
 /usr/local/include.

[snip]

 If I change the /usr/local to c;/Tools/msys/local/include/wx-3.0 (and the
 same for the other) then compilation completes without error.

 Am I missing something obvious here? Isn't the whole point of msys is so
 that you can use unix style paths?

The compiler does not depend on MSYS, which acts as a POSIX
compatibility layer. MinGW(-w64) compiler, linker, etc don't know about
those fictional paths that MSYS creates. The point of MSYS is to provide
an environment for running sotfware that hasn't been ported to Windows
and requires a POSIX environment, such as configure scripts.


--
Infragistics Professional
Build stunning WinForms apps today!
Reboot your WinForms applications with our WinForms controls. 
Build a bridge from your legacy apps to the future.
http://pubads.g.doubleclick.net/gampad/clk?id=153845071iu=/4140/ostg.clktrk
___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


Re: [Mingw-w64-public] MinGW-w64 + MSYS: g++ can't include files with unix style prefix?

2014-08-07 Thread Ray Donnelly
On Thu, Aug 7, 2014 at 8:42 PM, Richard Shaw hobbes1...@gmail.com wrote:
 I'm working on documenting how to build a project natively in windows, which
 first means figuring out the quirks myself and I ran into an issue with g++
 not being able to find headers with unix style paths /usr/local/include.

 My environment:
 Windows 7 32bit
 mingw-w64 from win-builds.org
 MSYS from the MinGW-w64 sourceforge page


 The project requires wxWidgets which I have building and installing fine
 with no tweaks. In order to determine C/CXX flags, linker requirements, etc,
 wxWigets provides a script wx-config that provides them. My project is cmake
 based (if it matters) and I'm using the built-in FindWxWidgets/UseWxWidgets
 modules for library and inclide directory detection (which uses wx-config on
 *nix systems).

 The problem occurs when I try to build my project:

 cd /C/Tools/Projects/freedv/src  /C/Tools/msys/opt/windows_32/bin/g++.exe
 -D
 HAVE_CONFIG_H -DSVN_REVISION=\1786M\ -D_FILE_OFFSET_BITS=64
 -D_NO_AUTOTOOLS_ -
 D__WXMSW__ -Wall -mthreads -g @CMakeFiles/freedv.dir/includes_CXX.rsp   -o
 CMake
 Files/freedv.dir/dlg_about.cpp.obj -c
 /C/Tools/Projects/svn/freetel/fdmdv2/src/d
 lg_about.cpp
 c:/Tools/Projects/svn/freetel/fdmdv2/src/dlg_about.cpp:21:22: fatal error:
 wx/ff
 ile.h: No such file or directory
  #include wx/ffile.h
   ^
 compilation terminated.

 The contents of includes_CSS.rsp:
 -IC:/Tools/Projects/freedv -Ic:/Tools/msys/local/include -isystem
 /usr/local/lib/wx/include/msw-unicode-static-3.0 -isystem
 /usr/local/include/wx-3.0 -Ic:/Tools/msys/local/include/codec2
 -IC:/Tools/Projects/svn/freetel/fdmdv2/src

 As you can see, most of the includes use the windows path, C:/Tools/...
 except the two wxWidgets entries use the unix style /usr/local, however,
 msys doesn't seem to have a problem:
 $ file /usr/local/include/wx-3.0/wx/ffile.h
 /usr/local/include/wx-3.0/wx/ffile.h: ASCII C++ program text, with CRLF line
 terminators

 If I change the /usr/local to c;/Tools/msys/local/include/wx-3.0 (and the
 same for the other) then compilation completes without error.

 Am I missing something obvious here? Isn't the whole point of msys is so
 that you can use unix style paths?

Yes, you are missing something here, whether it's obvious or not
depends on how long you've spent working with MSYS* and MinGW-w64.

MSYS will convert paths when it gets a chance to and thinks it should,
for example when calling a native Windows program like GCC. At that
time it will look through the command line and environment variables
with knowledge of the mount points and convert things that appear to
be path-y. However, you're using CMake here and it's emitted MSYS
paths into @response files (the .rsp files) and then native GCC has
been told to process those files, so MSYS doesn't get another chance
to transform them. Emitting stuff to a file isn't a good place to
transform paths because it's not known what tool will process those
files and it'd be horribly slow and break in a million different ways
if transformations were applied to all file IO.

My recommendation is to dump MSYS and use MSYS2 as it's way better (if
you do that you can use a huge amount of prebuilt libraries) but
otherwise figure out how to stop whatever version of CMake you are
using from using response files.


 Thanks,
 Richard

 --
 Infragistics Professional
 Build stunning WinForms apps today!
 Reboot your WinForms applications with our WinForms controls.
 Build a bridge from your legacy apps to the future.
 http://pubads.g.doubleclick.net/gampad/clk?id=153845071iu=/4140/ostg.clktrk
 ___
 Mingw-w64-public mailing list
 Mingw-w64-public@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


--
Infragistics Professional
Build stunning WinForms apps today!
Reboot your WinForms applications with our WinForms controls. 
Build a bridge from your legacy apps to the future.
http://pubads.g.doubleclick.net/gampad/clk?id=153845071iu=/4140/ostg.clktrk
___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


Re: [Mingw-w64-public] MinGW-w64 + MSYS: g++ can't include files with unix style prefix?

2014-08-07 Thread LRN
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 08.08.2014 0:29, Ray Donnelly wrote:
 On Thu, Aug 7, 2014 at 8:42 PM, Richard Shaw hobbes1...@gmail.com
 wrote:
 I'm working on documenting how to build a project natively in windows,
 which first means figuring out the quirks myself and I ran into an issue
 with g++ not being able to find headers with unix style paths
 /usr/local/include.
 
 
 My recommendation is to dump MSYS and use MSYS2 as it's way better (if you
 do that you can use a huge amount of prebuilt libraries) but otherwise
 figure out how to stop whatever version of CMake you are using from using
 response files.

CMake is MSYS-aware. It can generate MSYS-make makefile or MINGW-make
makefiles upon request (see the -G option).
However, i don't know about rst files and what tools end up reading stuff
from them.


- -- 
O ascii ribbon - stop html email! - www.asciiribbon.org
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.11 (MingW32)

iQEcBAEBAgAGBQJT4+hbAAoJEOs4Jb6SI2Cwk9sH/2XFHob0w8sQWXMIhL9Buxja
66joryqpfYL5Pg1F25BMDfitwcQr1FyEhX2JdIBQERFC41M7L2tHacmblurQveWK
TlWB/N/FC0pkxJJeQ8NMdwfBFzI+3TJ3y5AD2AhqMCk2xv/Y5QqEENTf9tz6NZ4F
JA4w3ddVXq9jmCp/XWC+GsnQRCht2/jbyiH9IdNsd4Nd7O+lh+5699aXCX3rlWSz
iUzi3MxE9C4Rmt2oNujL+DUBNUs+AkzxEepewGl8ckYwjbenhZnkfggwv538Aabl
i3HFeqvh3kIn27RNO0vWAzqM9uEkAMspORFPz352OozLfObCFaeXAnvuiFsJeoY=
=kaAI
-END PGP SIGNATURE-

--
Infragistics Professional
Build stunning WinForms apps today!
Reboot your WinForms applications with our WinForms controls. 
Build a bridge from your legacy apps to the future.
http://pubads.g.doubleclick.net/gampad/clk?id=153845071iu=/4140/ostg.clktrk
___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


Re: [Mingw-w64-public] MinGW-w64 + MSYS: g++ can't include files with unix style prefix?

2014-08-07 Thread Óscar Fuentes
Richard Shaw hobbes1...@gmail.com
writes:

 I'm using MSYS makefiles, otherwise you don't get very far...

Tell CMake to use ninja (available as a MSYS2 package.)

[snip]


--
Infragistics Professional
Build stunning WinForms apps today!
Reboot your WinForms applications with our WinForms controls. 
Build a bridge from your legacy apps to the future.
http://pubads.g.doubleclick.net/gampad/clk?id=153845071iu=/4140/ostg.clktrk
___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public