Bug #18
OSX 10.6 lua/ workspace generation issue
| Status: | Closed | Start: | 11/05/2009 | |
|---|---|---|---|---|
| Priority: | Normal | Due date: | ||
| Assigned to: | - | % Done: | 0% |
|
| Category: | - | |||
| Target version: | - |
Description
Ive been testing the latest version from source and have a couple of issues on a clean install of snow leopard 10.6 :
The wiki docs state that the lua binaries should be placed in bin/<platform>/luaplus/ where as it needs to be bin/<platform>/lua (i would update the wiki page but its not an open one)
Im also having trouble with the project generation script.
Im running :
./jamplus/bin/macosx/jam --workspace -gen=xcode ../Source/Jamfile.jam ../Intermediate/Build
which is generating :
./CreateSolution.sh- JamToWorkspace must be called directly from Jam.
Usage: jam --workspace ...
Looking at the script its failing because neither $OS or $OSPLAT are defined which seems a little odd
Thanks
Steve.
History
Updated by Steve Sharp over 2 years ago
ok ive been digging into this a little further :
OSPLAT is empty
OSMINOR is set to MACOSX
I'll keep digging...
Updated by Steve Sharp over 2 years ago
Ok ive found the first part of the issue, the jam.h is missing the defines for x86_64 :
I added :
#if defined( x86_64 ) || \
defined( amd64 ) || \
defined( _M_AMD64 )
#define OSPLAT "OSPLAT=X86_64"
#endif
and it works fine now.
Index: Build/jamplus/src/jam.h
===================================================================
--- Build/jamplus/src/jam.h (revision 107)
+++ Build/jamplus/src/jam.h (working copy)@ -425,7 +425,13 @
!defined( OS_AS400 )
# define OSPLAT "OSPLAT=X86"
# endif
-# endif
# endif
#if defined( x86_64 ) || \
defined( amd64 ) || \
+ defined( _M_AMD64 )
#define OSPLAT "OSPLAT=X86_64"
#endif
- ifdef sparc
- if !defined( OS_SUNOS )
Updated by Steve Sharp over 2 years ago
ok ive found the last piece to the error :
The create workspace script fails inside ReadTargetInfo because the CreateTargetInfo Files failed due to an incorrect location of the jam executable :
...ild/jamplus/bin/macosx/../scripts/JamToWorkspace.lua:108: in function <...ild/jamplus/bin/macosx/../scripts/JamToWorkspace.lua:84>
[C]: in function 'error'
...ild/jamplus/bin/macosx/../scripts/JamToWorkspace.lua:204: in function 'ReadTargetInfo'
...ild/jamplus/bin/macosx/../scripts/JamToWorkspace.lua:237: in function 'CreateTargetInfoFiles'
...ild/jamplus/bin/macosx/../scripts/JamToWorkspace.lua:720: in function <...ild/jamplus/bin/macosx/../scripts/JamToWorkspace.lua:560>
[C]: in function 'xpcall'
...ild/jamplus/bin/macosx/../scripts/JamToWorkspace.lua:856: in main chunk
[C]: ?
Jam is set to output the executable to : local BIN_PATH = ../bin/$(OSFULL1:L) ; (src/Jamfile.jam, line 307)
However the JamToWorkspace.lua script expects the script to be in : jamExePathNoQuotes = os.path.combine(jamPath, OS:lower() .. OSPLAT:lower(), 'jam')
(bin/scripts/JamToWorkspace.lua, line 800)
So the executable is built to /bin/macosx/jam, however the script is expecting it in /bin/macosxx86_64/jam
locally i have fixed this by changing the jamExePathNoQuotes to : jamExePathNoQuotes = os.path.combine(jamPath, OS:lower() , 'jam')
jamExePathNoQuotes = os.path.combine(jamPath, OS:lower() .. OSPLAT:lower(), 'jam')
Updated by Joshua Jensen over 2 years ago
- Status changed from New to Resolved
Resolved in recent nightlies.
Updated by Joshua Jensen over 2 years ago
- Status changed from Resolved to Closed