'makedir' is not recognized

General questions regarding the usage of CodeLite
wittend
CodeLite Enthusiast
Posts: 44
Joined: Thu Oct 09, 2008 9:11 pm
Contact:

'makedir' is not recognized

Post by wittend » Thu Oct 09, 2008 9:24 pm

I have installed release 1.0.2247 of the IDE on WinXP but I am having difficulty getting rid of the Error:

'makedir' is not recognized as an internal or external command,
operable program or batch file.

I have created several projects, checked configuration and environment variables, and grepped through both the project and program installation directories looking for references to to this string. The program makedir.exe does exist in the Codelite installation directory, but all references to it seem to embedded in executable binaries. I'm sure that this is some simple configuration issue, but I don't know how to resolve it.

Codelite is installed at "E:\Program Files\Codelite" and MinGW is installed at "E:\bin\MinGW".

-- Dave

User avatar
eranif
CodeLite Plugin
Posts: 6110
Joined: Wed Feb 06, 2008 9:29 pm
Genuine User: Yes
IDE Question: C++
Contact:

Re: 'makedir' is not recognized

Post by eranif » Thu Oct 09, 2008 9:32 pm

Did you modify environment variables inside CL? from 'Settings -> Environment variables'

If you did, please specify them here (especially if u modified PATH variable)

Eran
Make sure you have read the HOW TO POST thread

wittend
CodeLite Enthusiast
Posts: 44
Joined: Thu Oct 09, 2008 9:11 pm
Contact:

Re: 'makedir' is not recognized

Post by wittend » Thu Oct 09, 2008 11:18 pm

Thanks for the quick reply! I really like your tools - I just can't wait to get them to work.

Yes, I did modify environment variables inside CL. At least I modified WXCFG and WXWIN as described on the website page Documentation -> Getting Ready for wxWidgets development under Windows. I did not set a PATH variable from that dialog.

I did find that if I move the makedir.exe and wxmsw28u_gcc_custom.dll files into the MinGW/bin folder the problem I described goes away. That suggests to me that I need to have the CodeLite package in the PATH variable.

After moving these files I get a whole raft of new errors, basically the ones you expect when the system cannot find the wxWidgets setup.h file. This is a chronic irritation that I have encountered over and over with various wxWidgets tools & installations. Getting these paths right is always *the* biggest obstacle to working productively. At present my environment variables (set in 'Settings -> Environment variables' are:

WXWIN=E:\bin\wxWidgets-2.8.9
WXCFG=gcc_dll\mswud

The one place these packages will never live is something like 'C:\WxWidgets\...' . If I did that my machines would be so screwed up that they would be unusable within a month. But this is what so many these packages *still* seem to assume.

User avatar
eranif
CodeLite Plugin
Posts: 6110
Joined: Wed Feb 06, 2008 9:29 pm
Genuine User: Yes
IDE Question: C++
Contact:

Re: 'makedir' is not recognized

Post by eranif » Thu Oct 09, 2008 11:28 pm

wittend wrote:That suggests to me that I need to have the CodeLite package in the PATH variable.
this is strange since CodeLite does that for you on startup
wittend wrote:After moving these files I get a whole raft of new errors, basically the ones you expect when the system cannot find the wxWidgets setup.h file.
I suggest that you do the following:
- add CodeLite installation path to PATH environment variable
- once done, open a new cmd.exe window, and type:
wx-config --libs
Print the output here

If the output looks valid to you e.g. you get something like this:

Code: Select all

-mthreads -DHAVE_W32API_H -D__WXMSW__ -D_UNICODE -IC:\wxWidgets-2.8.7\lib\gcc_dll\mswu -IC:\wxWidgets-2.8.7\include -DWXUSINGDLL -Wno-ctor-dtor-privacy -pipe -fmessage-length=0
Open CodeLite, create empty workspace and then create a new wxWidgets project (from the 'Gizmos' toolbar)

Eran
Make sure you have read the HOW TO POST thread

wittend
CodeLite Enthusiast
Posts: 44
Joined: Thu Oct 09, 2008 9:11 pm
Contact:

Re: 'makedir' is not recognized

Post by wittend » Thu Oct 09, 2008 11:56 pm

Thanks!

It does look as though something has recently well and truly trashed both my system and user paths (I'm running as administrator). I installed a bunch of Microchip compilers last night, which may be the culprit. Or the massive Xylinx toolchain a few days ago. Those are the only other PATH variables left!

But did you mean to enter the PATH using the Windows mechanism (I restarted everything afterwards) or via 'Settings -> Environment variables' ? After a restart, I tried a simple wxWidgets GUI and got the same errors. A non-wx console app compiles fine.

What I am seeing is:

Building:
"E:\bin\MinGW\bin\mingw32-make.exe" -j 1 -f "kReX_wsp.mk"
----------Building project:[ ktest - DebugUnicode ]----------
process_begin: CreateProcess(NULL, wx-config --cxxflags --unicode=yes --debug=yes, ...) failed.
process_begin: CreateProcess(NULL, wx-config --rcflags, ...) failed.
process_begin: CreateProcess(NULL, wx-config --debug=yes --libs --unicode=yes, ...) failed.
In file included from E:/bin/wxWidgets-2.8.9/include/wx/defs.h:21,
from E:/bin/wxWidgets-2.8.9/include/wx/event.h:15,
from E:/bin/wxWidgets-2.8.9/include/wx/app.h:20,
from E:/Work/Commercial/kReX/ktest_app.h:4,
from E:/Work/Commercial/kReX/ktest_app.cpp:1:
E:/bin/wxWidgets-2.8.9/include/wx/platform.h:196:22: wx/setup.h: No such file or directory
In file included from E:/bin/wxWidgets-2.8.9/include/wx/platform.h:293,
from E:/bin/wxWidgets-2.8.9/include/wx/defs.h:21,
from E:/bin/wxWidgets-2.8.9/include/wx/event.h:15,
from E:/bin/wxWidgets-2.8.9/include/wx/app.h:20,
from E:/Work/Commercial/kReX/ktest_app.h:4,
from E:/Work/Commercial/kReX/ktest_app.cpp:1:
E:/bin/wxWidgets-2.8.9/include/wx/chkconf.h:103:9: #error "wxUSE_DYNLIB_CLASS must be defined."
E:/bin/wxWidgets-2.8.9/include/wx/chkconf.h:111:9: #error "wxUSE_EXCEPTIONS must be defined."
E:/bin/wxWidgets-2.8.9/include/wx/chkconf.h:119:9: #error "wxUSE_FILESYSTEM must be defined."
E:/bin/wxWidgets-2.8.9/include/wx/chkconf.h:127:9: #error "wxUSE_FS_ARCHIVE must be defined."
E:/bin/wxWidgets-2.8.9/include/wx/chkconf.h:140:9: #error "wxUSE_DYNAMIC_LOADER must be defined."
E:/bin/wxWidgets-2.8.9/include/wx/chkconf.h:148:9: #error "wxUSE_LOG must be defined."
E:/bin/wxWidgets-2.8.9/include/wx/chkconf.h:156:9: #error "wxUSE_LONGLONG must be defined."
E:/bin/wxWidgets-2.8.9/include/wx/chkconf.h:164:9: #error "wxUSE_MIMETYPE must be defined."
E:/bin/wxWidgets-2.8.9/include/wx/chkconf.h:180:9: #error "wxUSE_PRINTF_POS_PARAMS must be defined."
E:/bin/wxWidgets-2.8.9/include/wx/chkconf.h:188:9: #error "wxUSE_PROTOCOL must be defined."
E:/bin/wxWidgets-2.8.9/include/wx/chkconf.h:230:9: #error "wxUSE_REGEX must be defined."

...

E:/bin/wxWidgets-2.8.9/include/wx/chkconf.h:968:9: #error "wxUSE_XRC must be defined."
E:/bin/wxWidgets-2.8.9/include/wx/chkconf.h:1765:9: #error "wxMessageBox is always needed"
mingw32-make[1]: *** [DebugUnicode/ktest_app.o.d] Error 1
mingw32-make: *** [All] Error 2
100 errors, 0 warnings, total time: 00:00:01 seconds
----------Build Ended----------

-- Dave

wittend
CodeLite Enthusiast
Posts: 44
Joined: Thu Oct 09, 2008 9:11 pm
Contact:

Re: 'makedir' is not recognized

Post by wittend » Fri Oct 10, 2008 12:04 am

Also I forgot - the output of wx-config --libs is:

E:\Program Files\CodeLite>wx-config --libs
-mthreads -LE:\bin\wxWidgets-2.8.9\lib\gcc_dll -lwxmsw28ud -lwxtiffd -lwxjpegd -lwxpngd -lwxzlibd -lwxregexud -lwxexpatd -lkernel32 -luser32 -lgdi32 -lcomdlg32 -lwxregexud -lwinspool -lwinmm -lshell32 -lcomctl32 -lole32 -loleaut32 -luuid -lrpcrt4 -ladvapi32 -lwsock32

Not the same as:
-mthreads -DHAVE_W32API_H -D__WXMSW__ -D_UNICODE -IC:\wxWidgets-2.8.7\lib\gcc_dll\mswu -IC:\wxWidgets-2.8.7\include -DWXUSINGDLL -Wno-ctor-dtor-privacy -pipe -fmessage-length=0

User avatar
eranif
CodeLite Plugin
Posts: 6110
Joined: Wed Feb 06, 2008 9:29 pm
Genuine User: Yes
IDE Question: C++
Contact:

Re: 'makedir' is not recognized

Post by eranif » Fri Oct 10, 2008 9:00 am

wittend wrote:---------Building project:[ ktest - DebugUnicode ]----------
process_begin: CreateProcess(NULL, wx-config --cxxflags --unicode=yes --debug=yes, ...) failed.
Well, the problem seems obvious: CodeLite can not find wx-config tool

I suggest you do this:
From within CodeLite:
- settings -> environment variables
- create new environment variable:
Variable name: PATH
Variable value: $(PATH);E:\Program Files\CodeLite

Click OK and close the dialog.

Make sure you copy the variable name and value exactly as I typed it.

try again, and let me know.
Eran
Make sure you have read the HOW TO POST thread

wittend
CodeLite Enthusiast
Posts: 44
Joined: Thu Oct 09, 2008 9:11 pm
Contact:

Re: 'makedir' is not recognized

Post by wittend » Fri Oct 10, 2008 7:58 pm

Sorry to be so difficult, but I am still having problems. I uninstalled the program and re-installed it completely, and then verified all of the changes so far discussed. Here is where things stand now.


in Settings -> Environment Variables
------------------------------------------------
WXCFG E:\bin\wxWidgets-2.8.9\lib\gcc_dll\mswud
WXWIN E:\bin\wxWidgets-2.8.9
PATH $(PATH);E:\Program Files\CodeLite

in Settings -> Build Settings
------------------------------------------------
no changes, except:
Include Path: E:\bin\wxWidgets-2.8.9\include
Libraries Path: E:\bin\wxWidgets-2.8.9\lib\gcc_dll

though at one point I was getting a full compile and partial link using something more like:

Libraries Path: E:\bin\wxWidgets-2.8.9\lib\gcc_dll -lwxmsw28ud -lwxtiffd -lwxjpegd -lwxpngd -lwxzlibd -lwxregexud -lwxexpatd -lkernel32 -luser32 -lgdi32 -lcomdlg32 -lwxregexud -lwinspool -lwinmm -lshell32 -lcomctl32 -lole32 -loleaut32 -luuid -lrpcrt4 -ladvapi32 -lwsock32

The build output that I get is:
------------------------------------------------

Building:
"mingw32-make.exe" -j 1 -f "TestProjects_wsp.mk"
----------Building project:[ wxTestProject001 - DebugUnicode ]----------

Please use the --wxcfg flag (as in wx-config --wxcfg=gcc_dll\mswud)
or set the environment variable WXCFG (as in WXCFG=gcc_dll\mswud)
to specify which configuration exactly you want to use.

Please use the --wxcfg flag (as in wx-config --wxcfg=gcc_dll\mswud)
or set the environment variable WXCFG (as in WXCFG=gcc_dll\mswud)
g++ -c "E:/Program Files/CodeLite/TestProjects/wxtestproject001_app.cpp" -g wx-config Error: No valid setup.h of wxWidgets has been found at location: E:\bin\wxWidgets-2.8.9\lib\E:\bin\wxWidgets-2.8.9\lib\gcc_dll\mswud\wx\setup.h -D__WX__ -o ./DebugUnicode/wxtestproject001_app.o -IE:/bin/wxWidgets-2.8.9/include -IE:/bin/wxWidgets-2.8.9/lib/gcc_dll
to specify which configuration exactly you want to use.

Please use the --wxcfg flag (as in wx-config --wxcfg=gcc_dll\mswud)
or set the environment variable WXCFG (as in WXCFG=gcc_dll\mswud)
to specify which configuration exactly you want to use.
In file included from E:/bin/wxWidgets-2.8.9/include/wx/defs.h:21,
from E:/bin/wxWidgets-2.8.9/include/wx/event.h:15,
from E:/bin/wxWidgets-2.8.9/include/wx/app.h:20,
from E:/Program Files/CodeLite/TestProjects/wxtestproject001_app.h:4,
from E:/Program Files/CodeLite/TestProjects/wxtestproject001_app.cpp:1:
E:/bin/wxWidgets-2.8.9/include/wx/platform.h:196:22: wx/setup.h: No such file or directory
In file included from E:/bin/wxWidgets-2.8.9/include/wx/platform.h:293,
from E:/bin/wxWidgets-2.8.9/include/wx/defs.h:21,
from E:/bin/wxWidgets-2.8.9/include/wx/event.h:15,
from E:/bin/wxWidgets-2.8.9/include/wx/app.h:20,
from E:/Program Files/CodeLite/TestProjects/wxtestproject001_app.h:4,
from E:/Program Files/CodeLite/TestProjects/wxtestproject001_app.cpp:1:
E:/bin/wxWidgets-2.8.9/include/wx/chkconf.h:103:9: #error "wxUSE_DYNLIB_CLASS must be defined."
E:/bin/wxWidgets-2.8.9/include/wx/chkconf.h:111:9: #error "wxUSE_EXCEPTIONS must be defined."
E:/bin/wxWidgets-2.8.9/include/wx/chkconf.h:119:9: #error "wxUSE_FILESYSTEM must be defined."
E:/bin/wxWidgets-2.8.9/include/wx/chkconf.h:127:9: #error "wxUSE_FS_ARCHIVE must be defined."
E:/bin/wxWidgets-2.8.9/include/wx/chkconf.h:140:9: #error "wxUSE_DYNAMIC_LOADER must be defined."
E:/bin/wxWidgets-2.8.9/include/wx/chkconf.h:148:9: #error "wxUSE_LOG must be defined."

... etc.

E:/bin/wxWidgets-2.8.9/include/wx/chkconf.h:776:9: #error "wxUSE_PRINTING_ARCHITECTURE must be defined."
E:/bin/wxWidgets-2.8.9/include/wx/chkconf.h:784:9: #error "wxUSE_RADIOBOX must be defined."
E:/bin/wxWidgets-2.8.9/include/wx/chkconf.h:792:9: #error "wxUSE_RADIOBTN must be defined."
E:/bin/wxWidgets-2.8.9/include/wx/chkconf.h:800:9: #error "wxUSE_SASH must be defined."
E:/bin/wxWidgets-2.8.9/include/wx/chkconf.h:808:9: #error "wxUSE_SCROLLBAR must be defined."
E:/bin/wxWidgets-2.8.9/include/wx/chkc
onf.h:816:9: #error "wxUSE_SLIDER must be defined."
E:/bin/wxWidgets-2.8.9/include/wx/chkconf.h:824:9: #error "wxUSE_SOUND must be defined."
E:/bin/wxWidgets-2.8.9/include/wx/chkconf.h:832:9: #error "wxUSE_SPINBTN must be defined."
E:/bin/wxWidgets-2.8.9/include/wx/chkconf.h:840:9: #error "wxUSE_SPINCTRL must be defined."
E:/bin/wxWidgets-2.8.9/include/wx/chkconf.h:848:9: #error "wxUSE_SPLASH must be defined."

... etc.

E:/bin/wxWidgets-2.8.9/include/wx/chkconf.h:952:9: #error "wxUSE_VALIDATORS must be defined."
E:/bin/wxWidgets-2.8.9/include/wx/chkconf.h:960:9: #error "wxUSE_WXHTML_HELP must be defined."
E:/bin/wxWidgets-2.8.9/include/wx/chkconf.h:968:9: #error "wxUSE_XRC must be defined."
E:/bin/wxWidgets-2.8.9/include/wx/chkconf.h:1765:9: #error "wxMessageBox is always needed"
In file included from E:/bin/wxWidgets-2.8.9/include/wx/region.h:222,
from E:/bin/wxWidgets-2.8.9/include/wx/window.h:26,
from E:/bin/wxWidgets-2.8.9/include/wx/toplevel.h:21,
from E:/bin/wxWidgets-2.8.9/include/wx/frame.h:19,
from E:/Program Files/CodeLite/TestProjects/wxtestproject001_frame.h:4,
from E:/Program Files/CodeLite/TestProjects/wxtestproject001_app.cpp:5:
E:/bin/wxWidgets-2.8.9/include/wx/msw/region.h: In constructor `wxRegion::wxRegion(const wxBitmap&, const wxColour&, int)':
E:/bin/wxWidgets-2.8.9/include/wx/msw/region.h:31: error: no matching function for call to `wxRegion::Union(const wxBitmap&, const wxColour&, int&)'
E:/bin/wxWidgets-2.8.9/include/wx/region.h:128: note: candidates are: bool wxRegionBase::Union(wxCoord, wxCoord, wxCoord, wxCoord)
E:/bin/wxWidgets-2.8.9/include/wx/region.h:130: note: bool wxRegionBase::Union(const wxRect&)
E:/bin/wxWidgets-2.8.9/include/wx/region.h:132: note: bool wxRegionBase::Union(const wxRegion&)
E:/Program Files/CodeLite/TestProjects/wxtestproject001_app.cpp: In member function `virtual bool Wxtestproject001App::OnInit()':
E:/Program Files/CodeLite/TestProjects/wxtestproject001_app.cpp:20: error: `SetOption' is not a member of `wxSystemOptions'
E:/Program Files/CodeLite/TestProjects/wxtestproject001_app.cpp:21: error: `wxXmlResource' has not been declared
E:/Program Files/CodeLite/TestProjects/wxtestproject001_app.cpp:21: error: `Get' was not declared in this scope
E:/Program Files/CodeLite/TestProjects/wxtestproject001_app.cpp:22: error: incomplete type `wxImage' used in nested name specifier
E:/Program Files/CodeLite/TestProjects/wxtestproject001_app.cpp:22: error: `wxPNGHandler' has not been declared
E:/Program Files/CodeLite/TestProjects/wxtestproject001_app.cpp:23: error: incomplete type `wxImage' used in nested name specifier
E:/Program Files/CodeLite/TestProjects/wxtestproject001_app.cpp:23: error: `wxCURHandler' has not been declared
E:/Program Files/CodeLite/TestProjects/wxtestproject001_app.cpp:24: error: incomplete type `wxImage' used in nested name specifier
E:/Program Files/CodeLite/TestProjects/wxtestproject001_app.cpp:24: error: `wxICOHandler' has not been declared
E:/Program Files/CodeLite/TestProjects/wxtestproject001_app.cpp:25: error: incomplete type `wxImage' used in nested name specifier
E:/Program Files/CodeLite/TestProjects/wxtestproject001_app.cpp:25: error: `wxXPMHandler' has not been declared
E:/Program Files/CodeLite/TestProjects/wxtestproject001_app.cpp:26: error: incomplete type `wxImage' used in nested name specifier
E:/Program Files/CodeLite/TestProjects/wxtestproject001_app.cpp:26: error: `wxGIFHandler' has not been declared
g++: wx-config: No such file or directory
g++: Error:: Invalid argument
g++: No: No such file or directory
g++: valid: No such file or directory
g++: setup.h: No such file or directory
g++: of: No such file or directory
g++: wxWidgets: No such file or directory
g++: has: No such file or directory
g++: been: No such file or directory
g++: found: No such file or directory
g++: at: No such file or directory
g++: location:: Invalid argument
g++: E:\bin\wxWidgets-2.8.9\lib\E:\bin\wxWidgets-2.8.9\lib\gcc_dll\mswud\wx\setup.h: Invalid argument
mingw32-make.exe[1]: *** [DebugUnicode/wxtestproject001_app.o] Error 1
mingw32-make.exe: *** [All] Error 2
104 errors, 0 warnings, total time: 00:00:03 seconds
----------Build Ended----------

I am especially perplexed by two lines. Near the beginning of the build:

g++ -c "E:/Program Files/CodeLite/TestProjects/wxtestproject001_app.cpp" -g wx-config Error: No valid setup.h of wxWidgets has been found at location: E:\bin\wxWidgets-2.8.9\lib\E:\bin\wxWidgets-2.8.9\lib\gcc_dll\mswud\wx\setup.h -D__WX__ -o ./DebugUnicode/wxtestproject001_app.o -IE:/bin/wxWidgets-2.8.9/include -IE:/bin/wxWidgets-2.8.9/lib/gcc_dll

Nowhere in my configuration does the concatented string (or all of its components) occur: "E:\bin\wxWidgets-2.8.9\lib\E:\bin\wxWidgets-2.8.9\lib\gcc_dll\mswud\wx\setup.h".
No matter which parameters I alter, this does not change.

The same is true for (near the bottom):

g++: E:\bin\wxWidgets-2.8.9\lib\E:\bin\wxWidgets-2.8.9\lib\gcc_dll\mswud\wx\setup.h: Invalid argument

Do some or all of these get defined in stone when a project is first created, or are the parameters alterable once a build ahs failed (as I would expect)?

Also, do the environment variables defined in the application always overrtide those provided by the OS, or is there some more nuanced interaction?

I do not seem to be able to influence these parameters no matter what I do.

Thanks,

-- Dave

User avatar
eranif
CodeLite Plugin
Posts: 6110
Joined: Wed Feb 06, 2008 9:29 pm
Genuine User: Yes
IDE Question: C++
Contact:

Re: 'makedir' is not recognized

Post by eranif » Fri Oct 10, 2008 8:06 pm

The main problem is that CodeLite can not find executables which are under the installation directory of CodeLite, in this case: wx-config tool which exists under E:\Program Files\CodeLite

In addition, CodeLite does not seem to affect the PATH variable.

To solve this, either add E:\Program Files\CodeLite to PATH from the windows settings OR
copy makedir.exe, wx-config.exe, rm.exe, which.exe and le_exe.exe into somewhere in your system which is in the PATH (like C:\WINDOWS)

I believe that this will solve your problems.

Eran
Make sure you have read the HOW TO POST thread

wittend
CodeLite Enthusiast
Posts: 44
Joined: Thu Oct 09, 2008 9:11 pm
Contact:

Re: 'makedir' is not recognized

Post by wittend » Fri Oct 10, 2008 8:30 pm

Hmmm, ok.

I'm not so sure, though. Here is my complete path statement (at the OS level):

PATH=C:\WINDOWS;C:\WINDOWS\system32;E:\Program Files\CodeLite;D:\Program Files\Microchip\MPLAB C24\bin;D:\Program Files\Microchip\MPLAB
C30\bin;C:\WINDOWS;C:\WINDOWS\system32;D:\Program Files\Microchip\MCC18\bin;E:\bin\WinCUPL\WINCUPL\EXE;E:\bin\WinCUPL\WINCUPL\FITTERS;
E:\Program Files\SystemDesigner\bin;E:\Program Files\SystemDesigner\Mentorgraphics\cve_home.ixn\bin;E:\Program Files\SystemDesigner\Men
torgraphics\cve_home.ixn\lib;E:\Program Files\GDCM 2.0\bin;C:\Program Files\CVSNT\;C:\WINDOWS;C:\WINDOWS\system32;E:\Program Files\Code
Lite;D:\Program Files\Microchip\MPLAB C24\bin;D:\Program Files\Microchip\MPLAB C30\bin;;E:\Program Files\SystemDesigner\bin;E:\Program
Files\SystemDesigner\Mentorgraphics\cve_home.ixn\bin;E:\Program Files\SystemDesigner\Mentorgraphics\cve_home.ixn\lib

I added CodeLite in yesterday and that fixed *some* things. I also realized that the windows folders had gotten whacked out of the PATH and added them in later. As indicated above, I also have the path variable registered (exactly as you showed) under Settings->Environment Variables.

I am concerned at least in part that I don't know where '-D' command line parameters should be specified, and what is controlling where the program is looking for the setup.h file for wxWidgets.

Thanks,

-- Dave

Post Reply