It looks like you're new here. If you want to get involved, click one of these buttons!
A note for users trying to build KLayout on MacOS 10.9: this system uses the clang compiler which has some trouble building the current source code (0.23.1).
Apparently there is a patch which fixes build issues on MacOS 10.9:
In gsiExpression.cc, replace all occurrences of
out.back () = *i;
with
out.back () = (const R &) *i;
There are four places where this patch must be applied.
That patch will be included in the next version's source code.
Matthias
Comments
I have a MacOS 10.9 system, and I have both XCode and Qt 5.2.0 (Clang 4.2 (Apple), 64 bit) installed.
Would you please help me to build KLayout on my system?
Thanks,
Geev
Hi Matthias,
I tried to build KLayout in MacOS 10.9.
First I modified gsiExpression.cc as you suggested.
Then I modified the build script as:
./build.sh -platform mac-leopard-gcc-release \
-qtbin /Users/geevy/Qt5.2.0/5.2.0/clang_64/bin \
-qtlib /Users/geevy/Qt5.2.0/5.2.0/clang_64/lib \
-rblib /usr/lib/libruby.2.0.0.dylib \
-rbinc /usr/lib/ruby/2.0.0/universal-darwin13
I got this result:
Error: -rbinc /usr/lib/ruby/2.0.0/universal-darwin13/ruby.h does not exist
I found such file in eclipse ruby and I copied in /usr/lib/ruby/2.0.0/universal-darwin13
Then I ran again the build script. the script ran with few message and one error:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/ext/hash_map:209:2: warning:
Use of the header <ext/hash_map> is deprecated. Migrate to <unordered_map> [-W#warnings]
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/ext/hash_set:202:2: warning:
Use of the header <ext/hash_set> is deprecated. Migrate to <unordered_set> [-W#warnings]
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/ext/hash_map:209:2: warning:
Use of the header <ext/hash_map> is deprecated. Migrate to <unordered_map> [-W#warnings]
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/ext/hash_set:202:2: warning:
Use of the header <ext/hash_set> is deprecated. Migrate to <unordered_set> [-W#warnings]
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/ext/hash_map:209:2: warning:
Use of the header <ext/hash_map> is deprecated. Migrate to <unordered_map> [-W#warnings]
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/ext/hash_set:202:2: warning:
Use of the header <ext/hash_set> is deprecated. Migrate to <unordered_set> [-W#warnings]
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/ext/hash_map:209:2: warning:
Use of the header <ext/hash_map> is deprecated. Migrate to <unordered_map> [-W#warnings]
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/ext/hash_set:202:2: warning:
Use of the header <ext/hash_set> is deprecated. Migrate to <unordered_set> [-W#warnings]
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/ext/hash_map:209:2: warning:
Use of the header <ext/hash_map> is deprecated. Migrate to <unordered_map> [-W#warnings]
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/ext/hash_set:202:2: warning:
Use of the header <ext/hash_set> is deprecated. Migrate to <unordered_set> [-W#warnings]
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/ext/hash_map:209:2: warning:
Use of the header <ext/hash_map> is deprecated. Migrate to <unordered_map> [-W#warnings]
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/ext/hash_set:202:2: warning:
Use of the header <ext/hash_set> is deprecated. Migrate to <unordered_set> [-W#warnings]
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/ext/hash_map:209:2: warning:
Use of the header <ext/hash_map> is deprecated. Migrate to <unordered_map> [-W#warnings]
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/ext/hash_set:202:2: warning:
Use of the header <ext/hash_set> is deprecated. Migrate to <unordered_set> [-W#warnings]
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/ext/hash_map:209:2: warning:
Use of the header <ext/hash_map> is deprecated. Migrate to <unordered_map> [-W#warnings]
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/ext/hash_set:202:2: warning:
Use of the header <ext/hash_set> is deprecated. Migrate to <unordered_set> [-W#warnings]
And at the end I got this error:
gtfUiDialog_moc.cc:13:2: error: "The header file 'gtfUiDialog.h' doesn't include <QObject>."
#error "The header file 'gtfUiDialog.h' doesn't include <QObject>."
^
1 error generated.
make[1]: *** [gtfUiDialog.dm] Error 1
/Users/geevy/desktop/klayout/src/Makefile.body:729: .dep: No such file or directory
gcc -DQT_THREAD_SUPPORT -DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_TO_ASCII -DHAVE_RUBY -DHAVE_RUBY_VERSION_CODE=20000 -MM -MG gtfUiDialog_moc.cc -I/Users/geevy/desktop/klayout/src -I/Users/geevy/desktop/klayout/src -I. -I/usr/include/qt4 -FQtGui -FQtCore -FQtXML -I/usr/lib/ruby/2.0.0/universal-darwin13 -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/include/ruby-2.0.0/universal-darwin13 >gtfUiDialog.dm || (rm -rf gtfUiDialog.dm; exit 1)
gtfUiDialog_moc.cc:13:2: error: "The header file 'gtfUiDialog.h' doesn't include <QObject>."
#error "The header file 'gtfUiDialog.h' doesn't include <QObject>."
^
1 error generated.
make[1]: *** [gtfUiDialog.dm] Error 1
make: *** [all] Error 1
At the end I got an extra folder named: build.mac-leopard-gcc-release
inside of it a folder named main, and a bunch of make files.
Thanks,
Geev
Hi Geev,
KLayout is on Qt4 still. Qt5 is a major step and not necessarily compatible with Qt4. I did not port the code yet and would rather wait it to become somewhat more stable.
Apart of that I know of some build issues with the clang compiler version used by MacOS. They will be fixed in the next minor release.
Matthias
The reason I tried Qt5 was because I was hoping to build the app for apple retina display screen. In current version of KLayout some of the menus are a bit blurred and hard to read.
Thank you again for your comments.