unknown project file: "gtkada" - ada

I got GPS community edition, but it can't create GtkADA projects. So I cloned and built GtkADA using the GPR projects, but when I try to open a GtkADA example or start a new GtkADA project from GPS, I get the error:
unknown project file: "gtkada"
Edit:
Windows 10 x64, trying to "get into" Ada.
Edit2: Got farther.
I tried setting GPR_PROJECT_PATH to include the following paths:
drive:\gitrepos\gtkada\src
drive:\gitrepos\gtkada\src\lib
drive:\gitrepos\gtkada\src\lib\gtkada\relocatable
drive:\gitrepos\gtkada\src\obj
I am trying to run the base widget example, downloaded from https://www.adacore.com/code-samples for GtkAda.
Now I get:
file "gdk-gc.ads" not found
Indeed I cannot find this file in either the GNAT or GtkAda repo.
Edit2: I am still having difficulty.
Edit3: Other people on freenode#ada were saying the OpenGL part of GtkAda is broken, and many people simply disable it.

I had the same problem and couldn't find Gtkada (about gdk-gc.ads I can't help you).
Therefore I wrote the relative path from my project file to GtkAda.gpr
with "../../lib/gnat/gtkada"; -- on linux (I installed my gtkada into my gnat folder)
In your case, if you installed it on C:\GtkAda you should search for GtkAda.gpr, then copy paste its path.
(Not sure if absolute path works. You will maybe need to tell your project to search outside of its folders by using ".." until you are in C:, then paste your path.)
PS: Adacore provides a GtkAda installer for windows: https://www.adacore.com/download/more
Edit: On my windows, I simply used the installer then
with "gtkada" worked.

Related

Codelite compiling issues (mingw32-make.exe *** [ALL] Error 2)

I'm having serious issues with Codelight. It has been working for days now, maybe even weeks but after today when I took my project to school to work on it there something happened. My workspace is in a onedrive folder so that I can work on it wherever I am. I have reinstalled codelight and reinstalled MinGW and set it up according to my school's instructions but right now I can't build anything at all (see attached image). I have been looking at other threads but none of them have helped so far. Error
What do you think happened?
Edit: I seem to have fixed the issue. When you let codelite search for a compiler, as it does the first time you launch it, you mess up the directories of things completely. So for example the directory for the C compiler should be $(CodeLiteDir)/tools/gcc-arm/bin/arm-none-eabi-gcc.exe instead of C:\MinGW or wherever it may be installed. Also, we use a patched version of codelite with 'added debugging support' for the md407 so you really don't want to update codelite. There were more issues, for example the C compiler options for my project, so when I built the project it complained about all sorts of things and the cursor wouldn't show up so debugging was impossible, but I managed to fix that too.
In conclusion: this was not fun to fix and codelite is sensitive.
I use Dev-C++ I got similiar 'Mingw32-make.exe' errors. When installing Mingw you will notice there is another directory 'c:\Mingw32\MSYS\1.0\bin'. Within MSYS this directory is global and it has some very important binary files like its own 'make.exe' file. 'Mingw32-make.exe' uses files from this directory. Because the IDE will not know about this directory you will need to include this in your system/environment path because outside of MSYS this directory is not global and 'ming32-make.exe' will not be able to access those binary files.
Regardless of your compiler if your 'make' is Mingw32 that path must be set.

GLEW program can't find libglew.so even when file exists

I am trying to set up an OpenGL development environment on a Linux machine (Mint 17). I have just installed GLEW from the source on the GLEW source forge page (Downloaded source; extracted; make install).
I want to check that everything is set up correctly and am trying to run a test program. My program compiles and links but when I try to run it I get the error "error while loading shared libraries: libGLEW.so.1.12: cannot open shared object file: No such file or directory"
libGLEW.so.1.12 exists; from what I read I think I have a 32bit executable and the SO is 64bit. However I can't find a solution to this problem; I know I need to create a 32bit library but I can't find any instructions for doing this.
Can someone please provide instructions to either (or preferably both):
Install 32bit libraries for GLEW
Link with GLEW statically
Preferably I'd like to link statically for now (I find it far more convenient for testing) but the instructions on the GLEW website only say how to do this for windows. Eventually I do plan to link everything dynamically.

WinPython with PyQt5

I'm trying to get PyQt5 working with WinPython. PyQt5 comes with a readme file for installation, and I have unsuccessfully tried a few combinations of what I thought the first part of the readme tells me to do.
I have:
Windows 7 Home Premium 64-bit
WinPython-64bit-2.7.9.1
Qt 5.4
PyQt-gpl-5.4
PyQt-gpl-5.4 is in the folder (only partially sure that this is where I should have put it)
C:\WinPython-64bit-2.7.9.1\python-2.7.9.amd64\Lib\site-packages\PyQt-gpl-5.4
My current attempt at getting everything working is: I'm trying to run the configure.py file in PyQt-gpl-5.4, but when I do so I consistently get the following error:
Error: PyQt5 requires Qt v5.0 or later. You seem to be using v4.8.6.
Make sure the correct version of qmake is on your PATH.
What I think is the required version of qmake being referred to is in the folder
C:\Qt\5.4\mingw491_32\bin
However, I have no idea how to fix the error by adding the qmake in this folder to PATH. My most recent attempt was to add the folder using Spyder's Tools->PYTHONPATH manager, but this made no difference. I also tried adding it using sys.path.append('C:\Qt\5.4\mingw491_32\bin'), but this didn't work either. I have since removed the folder name from both of these locations.
How do I get PyQt5 working with WinPython-64bit-2.7.9.1, or I think equivalently, how to I get the configure.py file in the PyQt-gpl-5.4 folder to run?
Thanks.
You definitely don't want the source code (i.e. PyQt-gpl-5.4) in the site-packages folder, because that's where the compiled modules will end up. Instead, it should just go in a temporary folder whilst you compile it.
When you run configure.py, you must take care to use the executable for the specific python that you are targeting. I do not know anything about WinPython, but for a normal python installation this means doing something like this:
C:\Python34\python configure.py
As a first step, before attempting to actually compile anything, it would be advisable to take at look at all the configuration options that are available, like this:
C:\Python34\python configure.py --help
(There's also the Installing PyQt5 section in the PyQt Docs).
This will tell you, for instance, that the simplest way to specify the Qt installation you are targeting would be something like this:
C:\Python34\python configure.py --qmake C:\Qt\5.4\mingw491_32\bin\qmake
EDIT:
Sorry, that last part is wrong: the --qmake option isn't available on Windows, so you have to add the directory containing the qmake executable to your PATH. This can be done with the following command:
set PATH=%PATH%;C:\Qt\5.4\mingw491_32\bin

Setup of Qt Creator to debug into Qt classes

I want to setup Qt Creator (3.0) in a way, that I can debug into the Qt classes. So I download the corresponding src code (http://gitorious.org/qt/qt5) and install it in a directory (e.g. c:\Qt5\src).
Then I have my own project. Where do I need to set the source code path of Qt (c:\Qt5\src), so I can debug my code, but also into a Qt class where necessary.
-- Edit:Pavel's comment --
Pavel has given a good hint: But I am using a precompiled version of Qt/Qt Creator. So I am basically looking for a solution which does not require me to compile from source. Nevertheless a useful hint. Thanks.
If you are using a prebuilded version just remap the source code location as described in http://doc.qt.io/qtcreator/creator-debugger-engines.html
Mapping Source Paths
To enable the debugger to step into the code and display the source
code when using a copy of the source tree at a location different from
the one at which the libraries where built, map the source paths to
target paths:
Select Tools > Options > Debugger > General > Add.
In the Source path field, specify the source path in the debug information of the executable as reported by the debugger.
In the Target path field, specify the actual location of the source tree on the local machine.
To get "the source path in the debug information of the executable as reported by the debugger", you can activate the "Use Tooltips in Stack-View when Debugging" option by right-clicking in the Stack View and move the mouse over a specific function call.
If you look into the tooltips, you will see references to /Users/qt/work, the Mac deployed debug symbols are pointing there. Of course, this is not documented, as these folks want you to buy enterprise.
If you create the /Users/qt/work directory (as root), then make a soft link to your source directory named qt, everything will work. No need to build anything from source (under Mac that would result in tens of gigs wasted). Same considerations about plugins
Example:
sudo -s
mkdir /Users/qt
cd /Users/qt
mkdir work
cd work
ln -s /Users/your_user_name/Qt/your_qt_release/Src qt
Everything will work. Any source mapping failed here, so leave those alone.
Hope this helps
With Xcode, before you step into the Qt library the first time, enter the following command in the LLDB window:
settings set target.source-map /Users/qt/work/qt /path/to/Qt/5.10.1/Src
(Obviously you'll want to change the version number, as relevant).
But suppose Trolltech changes its build directory, what to do then? (Or, how did the community wiki that gave the /Users/qt/work/qt path find it?) You can guess what the path needs to be by editing /path/to/Qt/5.10.1/clang_64/lib/QtCore.framework.dSYM/Contents/Resources/DWARF/QtCore_debug (or any other Qt library) and searching for some paths. "/Users" seems like a good guess. About 2% into the library you'll start seeing sections with a lot of paths like:
../../include/QtCore/../../src/corelib/kernel^#../../include/QtCore
/../../src/corelib/tools^#global^#/Users/qt/work/qt/qtbase/src/corelib
/../../include/QtCore/../../src/corelib/arch^#/Applications/Xcode.app
/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/<etc>
Look for an absolute path that looks like it could be writable. (/Applications/... would not be a likely build path, for example)
In recent Qt creator (v 4.11) press button "Add Qt Sources"
in Tools > Options > Debugger > General
and select Qt sources file.
Qt5 should be installed by online installer with checked "Qt Debug Information files".
Follow the instructions from Qt here:
"In the run configuration, select Use debug version of frameworks."

Cant use shared libraries in Qt project

I created a C++ library project in Qt creator. After building the project I have the libMylib.so, .so.1, .so.1.0, .so.1.0.0, Makefile and mylib.o files. I added the library headers to my other project and added the path to my .pro file like this:
LIBS += "/home/peter/Workspace/build-Libtester-Desktop-Release/libMyLib.so"
When building the application I don't get no such file error, but when running it I get this:
/home/peter/Workspace/build-Libtester-Desktop-Debug/Libtester: error while loading shared libraries: libMyLib.so.1: cannot open shared object file: No such file or directory
which I can't understand, because it's right there next to the .so which it seem to find, because when the path is wrong I get a no such file or directory error when trying to build the project.
Could someone explain what I'm missing here?
Thanks for your time.
Fortunately, your problem has nothing to do with both Qt and Qt Creator. The error simply boils down to how shared libraries are searched by LD for dynamic linking on Unix OS family.
Today, I've answered similar question, have a look, please. This question was asked in regard to Mac OS X. However, Linux and Mac OS X are the same in the context of your problem. I've provided additional explanation for Linux at the bottom, so pay attention to it. "it's right there next to the .so" - you seem to have Windows background if you make this assumption, but it is wrong for Unix OS family altogether (as stated in the answer too). If you have further questions, just ask.
You are adding the library incorrectly. You are doing:
LIBS += "/home/peter/Workspace/build-Libtester-Desktop-Release/libMyLib.so"
instead of:
LIBS += -L"/home/peter/Workspace/build-Libtester-Desktop-Release" -lMyLib
The first version works on windows, but not linux.
Basically, you create a library, which will be named "libMyLib.so", and then you specify the path to its folder, prepended by "-L" and then do "-lMyLib" at the end, note that it's not "-llibMyLib", but just "-lMyLib", despite the fact that the .so name is "libMyLib".
Look here: https://wiki.qt.io/How_to_create_a_library_with_Qt_and_use_it_in_an_application for more info.

Resources