Hi,
I've tried to install geopsy on a Fedora 17 64-bit system, however I can't compile nor the testing 2.5.0 version nor the current development package.
The Qt version is:
qmake -v
QMake version 2.01a
Using Qt version 4.8.4 in /usr/lib64
With the testing version I got the following error:
g++ -c -pipe -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -O2 -Wall -W -D_REENTRANT -fPIC -DMAKE_QGPCORETOOLS_DLL -DQT_NO_DEBUG -DQT_CORE_LIB -DQT_SHARED -I/usr/lib64/qt4/mkspecs/linux-g++ -I. -I/usr/include/QtCore -I/usr/include -Isrc -Iui -I../include -Irelease -o release/Leds.o src/Leds.cpp
src/Leds.cpp: In member function ‘bool QGpCoreTools::Leds::test(int)’:
src/Leds.cpp:82:26: error: ‘read’ was not declared in this scope
src/Leds.cpp:83:15: error: ‘close’ was not declared in this scope
src/Leds.cpp:86:13: error: ‘close’ was not declared in this scope
src/Leds.cpp: In member function ‘void QGpCoreTools::Leds::setTrigger(int, const char*)’:
src/Leds.cpp:128:33: error: ‘write’ was not declared in this scope
src/Leds.cpp:129:13: error: ‘close’ was not declared in this scope
src/Leds.cpp: In member function ‘void QGpCoreTools::Leds::powerInternal(int, bool)’:
src/Leds.cpp:140:32: error: ‘write’ was not declared in this scope
src/Leds.cpp:141:13: error: ‘close’ was not declared in this scope
src/Leds.cpp: In member function ‘void QGpCoreTools::Leds::setDelayOn(int, int)’:
src/Leds.cpp:154:31: error: ‘write’ was not declared in this scope
src/Leds.cpp:155:13: error: ‘close’ was not declared in this scope
src/Leds.cpp: In member function ‘void QGpCoreTools::Leds::setDelayOff(int, int)’:
src/Leds.cpp:168:31: error: ‘write’ was not declared in this scope
src/Leds.cpp:169:13: error: ‘close’ was not declared in this scope
make[2]: *** [release/Leds.o] Error 1
make[2]: Leaving directory `/home/data/geopsy/src/geopsypack-57items-src-2.5.0/QGpCoreTools'
make[1]: *** [release] Error 2
make[1]: Leaving directory `/home/data/geopsy/src/geopsypack-57items-src-2.5.0/QGpCoreTools'
make: *** [sub-QGpCoreTools-make_default-ordered] Error 2
with the development version this one:
g++ -c -pipe -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -O2 -Wall -W -fPIC -DMAKE_GPCORETOOLS_DLL -I/usr/lib64/qt4/mkspecs/linux-g++ -I. -Isrc -Iui -I../include -o release/CoreApplication.o src/CoreApplication.cpp
src/CoreApplication.cpp: In static member function ‘static void GpCoreTools::CoreApplication::osSignal(int)’:
src/CoreApplication.cpp:137:16: error: ‘sleep’ was not declared in this scope
src/CoreApplication.cpp: In member function ‘void GpCoreTools::CoreApplication::terminalSize() const’:
src/CoreApplication.cpp:357:14: error: ‘STDOUT_FILENO’ was not declared in this scope
src/CoreApplication.cpp:358:14: error: ‘STDERR_FILENO’ was not declared in this scope
src/CoreApplication.cpp:359:14: error: ‘STDIN_FILENO’ was not declared in this scope
src/CoreApplication.cpp:363:7: error: ‘::close’ has not been declared
make[2]: *** [release/CoreApplication.o] Error 1
make[2]: Leaving directory `/home/data/geopsy/src/geopsypack-66items-src-0.0.0-snapshot-20130122/GpCoreTools'
make[1]: *** [release] Error 2
make[1]: Leaving directory `/home/data/geopsy/src/geopsypack-66items-src-0.0.0-snapshot-20130122/GpCoreTools'
make: *** [sub-GpCoreTools-make_default-ordered] Error 2
Does anybody know, where the problem is?
Thank you.
compilation on fedora 64-bit
Re: compilation on fedora 64-bit
For the testing release, I remember to have fix this issue a week or two ago. This is ready for release 2.6.0 to be publish soon.
For the development tree, I've never encounter this error. Can you tell me which gcc release you are running?
Just a try.
Can you edit file GpCoreTools/src/CoreApplication.cpp?
Insert
at line 27 before:
If it does not work, you can run the following commands and post the results:
It will dump all macro definitions in release/CoreApplication.o, you can post this file.
Can you tell me it is solved or not?
For the development tree, I've never encounter this error. Can you tell me which gcc release you are running?
Just a try.
Can you edit file GpCoreTools/src/CoreApplication.cpp?
Insert
Code: Select all
# include <unistd.h>
Code: Select all
#include <string.h>
#include <unistd.h>
#include <stdlib.h>
#include <sys/ioctl.h>
#include <fcntl.h>
#include <signal.h>
Code: Select all
cd GpCoreTools
g++ -dD -E -pipe -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -O2 -Wall -W -fPIC -DMAKE_GPCORETOOLS_DLL -I/usr/lib64/qt4/mkspecs/linux-g++ -I. -Isrc -Iui -I../include -o release/CoreApplication.o src/CoreApplication.cpp
Can you tell me it is solved or not?
Re: compilation on fedora 64-bit
Thank you. I came to the same solution and just have been writing the answer
I'm running gcc 4.7.2. With this (including unistd.h) I was able to compile the devel version, however, the test 2.5.0 version failed from different reason:
After some googling, I've found a solution for the current devel version (20130122). I had to include the unistd.h header file to followings:
GpCoreTools/CoreApplication.cpp
GpCoreTools/DaemonApplication.cpp
GpCoreTools/EventStream.cpp
then the devel version compiled fine.
However, this is only the devel version. In the 2.5.0. test version, I had to include unistd.h to the following file:
QGpCoreTools/Leds.cpp
Nevertheless, the compilation failed on the GeopsyGui/DirectoryMonitor.cpp file with the following error:
g++ -c -pipe -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -O2 -Wall -W -D_REENTRANT -fPIC -DMAKE_GEOPSYGUI_DLL -DQT_NO_DEBUG -DQT_SCRIPT_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/lib64/qt4/mkspecs/linux-g++ -I. -I/usr/include/QtCore -I/usr/include/QtGui -I/usr/include/QtScript -I/usr/include -Isrc -Iui -I../include -Irelease -Iui -o release/DirectoryMonitor.o src/DirectoryMonitor.cpp
src/DirectoryMonitor.cpp: In member function ‘void GeopsyGui::DirectoryMonitor::checkForNewFiles()’:
src/DirectoryMonitor.cpp:152:47: error: redeclaration of ‘QMap<QString, GeopsyCore::SignalFile*>::iterator it’
src/DirectoryMonitor.cpp:149:33: error: ‘QList<QString>::iterator it’ previously declared here
make[2]: *** [release/DirectoryMonitor.o] Error 1
make[2]: Leaving directory `/home/data/geopsy/src/geopsypack-57items-src-2.5.0/GeopsyGui'
make[1]: *** [release] Error 2
make[1]: Leaving directory `/home/data/geopsy/src/geopsypack-57items-src-2.5.0/GeopsyGui'
make: *** [sub-GeopsyGui-make_default-ordered] Error 2
I've checked the same file from the devel version, and the it iterator is renamed to itmap. What is wrong with the 2.5.0 version?

After some googling, I've found a solution for the current devel version (20130122). I had to include the unistd.h header file to followings:
GpCoreTools/CoreApplication.cpp
GpCoreTools/DaemonApplication.cpp
GpCoreTools/EventStream.cpp
then the devel version compiled fine.
However, this is only the devel version. In the 2.5.0. test version, I had to include unistd.h to the following file:
QGpCoreTools/Leds.cpp
Nevertheless, the compilation failed on the GeopsyGui/DirectoryMonitor.cpp file with the following error:
g++ -c -pipe -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -O2 -Wall -W -D_REENTRANT -fPIC -DMAKE_GEOPSYGUI_DLL -DQT_NO_DEBUG -DQT_SCRIPT_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/lib64/qt4/mkspecs/linux-g++ -I. -I/usr/include/QtCore -I/usr/include/QtGui -I/usr/include/QtScript -I/usr/include -Isrc -Iui -I../include -Irelease -Iui -o release/DirectoryMonitor.o src/DirectoryMonitor.cpp
src/DirectoryMonitor.cpp: In member function ‘void GeopsyGui::DirectoryMonitor::checkForNewFiles()’:
src/DirectoryMonitor.cpp:152:47: error: redeclaration of ‘QMap<QString, GeopsyCore::SignalFile*>::iterator it’
src/DirectoryMonitor.cpp:149:33: error: ‘QList<QString>::iterator it’ previously declared here
make[2]: *** [release/DirectoryMonitor.o] Error 1
make[2]: Leaving directory `/home/data/geopsy/src/geopsypack-57items-src-2.5.0/GeopsyGui'
make[1]: *** [release] Error 2
make[1]: Leaving directory `/home/data/geopsy/src/geopsypack-57items-src-2.5.0/GeopsyGui'
make: *** [sub-GeopsyGui-make_default-ordered] Error 2
I've checked the same file from the devel version, and the it iterator is renamed to itmap. What is wrong with the 2.5.0 version?
Re: compilation on fedora 64-bit
Hello. I've the same problem with the compilation. In this case I'm using Debian Linux 64 bits too.
I did the same tests and the outputs in the terminal were the same.
It takes a lot of time to get the 2.6.0 version?
Thank you.
rizhu
I did the same tests and the outputs in the terminal were the same.
It takes a lot of time to get the 2.6.0 version?
Thank you.
rizhu
Re: compilation on fedora 64-bit
I compiled sources from general download link on Suse x64 and had same problems. What is the stable working distribution?
Re: compilation on fedora 64-bit
I tried previous version and had exactly the same problem. However using include<uistd.h> gave me chance to compile further. I had problem with dfft pack where make failed saying there is no make all rule. I had to runmanually just make command without all. Finally I stacked at
make -f Makefile.Release
make[2]: Entering directory `/home/alexei/Downloads/geopsypack-57items-src-2.4.4/GeopsyGui'
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -fPIC -DMAKE_GEOPSYGUI_DLL -DQT_NO_DEBUG -DQT_SCRIPT_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/default -I. -I/usr/include/QtCore -I/usr/include/QtGui -I/usr/include/QtScript -I/usr/include -Isrc -Iui -I../include -Irelease -Iui -o release/DirectoryMonitor.o src/DirectoryMonitor.cpp
src/DirectoryMonitor.cpp: In member function ‘void GeopsyGui::DirectoryMonitor::checkForNewFiles()’:
src/DirectoryMonitor.cpp:150:47: error: redeclaration of ‘QMap<QString, GeopsyCore::SignalFile*>::iterator it’
QMap<QString, SignalFile *>::iterator it = _fileMap.find(filePath);
^
src/DirectoryMonitor.cpp:147:33: error: ‘QList<QString>::iterator it’ previously declared here
for(QStringList::iterator it = currentFileList.begin(); it!=currentFileList.end();++it) {
^
make[2]: *** [release/DirectoryMonitor.o] Error 1
make[2]: Leaving directory `/home/alexei/Downloads/geopsypack-57items-src-2.4.4/GeopsyGui'
make[1]: *** [release] Error 2
make[1]: Leaving directory `/home/alexei/Downloads/geopsypack-57items-src-2.4.4/GeopsyGui'
make: *** [sub-GeopsyGui-make_default-ordered] Error 2
make -f Makefile.Release
make[2]: Entering directory `/home/alexei/Downloads/geopsypack-57items-src-2.4.4/GeopsyGui'
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -fPIC -DMAKE_GEOPSYGUI_DLL -DQT_NO_DEBUG -DQT_SCRIPT_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/default -I. -I/usr/include/QtCore -I/usr/include/QtGui -I/usr/include/QtScript -I/usr/include -Isrc -Iui -I../include -Irelease -Iui -o release/DirectoryMonitor.o src/DirectoryMonitor.cpp
src/DirectoryMonitor.cpp: In member function ‘void GeopsyGui::DirectoryMonitor::checkForNewFiles()’:
src/DirectoryMonitor.cpp:150:47: error: redeclaration of ‘QMap<QString, GeopsyCore::SignalFile*>::iterator it’
QMap<QString, SignalFile *>::iterator it = _fileMap.find(filePath);
^
src/DirectoryMonitor.cpp:147:33: error: ‘QList<QString>::iterator it’ previously declared here
for(QStringList::iterator it = currentFileList.begin(); it!=currentFileList.end();++it) {
^
make[2]: *** [release/DirectoryMonitor.o] Error 1
make[2]: Leaving directory `/home/alexei/Downloads/geopsypack-57items-src-2.4.4/GeopsyGui'
make[1]: *** [release] Error 2
make[1]: Leaving directory `/home/alexei/Downloads/geopsypack-57items-src-2.4.4/GeopsyGui'
make: *** [sub-GeopsyGui-make_default-ordered] Error 2
Re: compilation on fedora 64-bit
Just in case someone is still interested in getting version 2.5.0 running on some Linux 64 bit systems [Debian Wheezy here, but others should work too]:
I needed to do 5 changes to the source code:
1. + 2. + 3. Include the unistd.h header in these three files:
QGpCoreTools/src/Leds.cpp
GpCoreTools/src/CoreApplication.cpp
GpCoreTools/src/EventStream.cpp
4. Change the iterator's name (e.g. 'it' to 'xxx') in a loop in lines 150-153 of this file:
GeopsyGui/src/DirectoryMonitor.cpp
5. A function declaration seems to be missing in this file:
QGpCoreTools/src/Curve.h
I put it right after the very similar 'append()' declaration in line 78. QVector has both these operations and the 'prepend' was apparently just forgotten here.
---
Changes 1 to 4 seem to be due to the 'new' gcc compiler version 4.7:
http://gcc.gnu.org/gcc-4.7/porting_to.html
This should work (it did for me, anyway). This is for all the people who can't wait for version 2.6.0.
I needed to do 5 changes to the source code:
1. + 2. + 3. Include the unistd.h header in these three files:
QGpCoreTools/src/Leds.cpp
GpCoreTools/src/CoreApplication.cpp
GpCoreTools/src/EventStream.cpp
Code: Select all
#include <unistd.h>
GeopsyGui/src/DirectoryMonitor.cpp
Code: Select all
QMap<QString, SignalFile *>::iterator xxx = _fileMap.find(filePath); // changed
QFileInfo fi(filePath);
if (fi.lastModified()>_startTime) {
if(xxx==_fileMap.end() || xxx.value()==0) { // changed
QGpCoreTools/src/Curve.h
Code: Select all
void prepend( const pointType& p ) { QVector<pointType>::prepend(p); }
---
Changes 1 to 4 seem to be due to the 'new' gcc compiler version 4.7:
http://gcc.gnu.org/gcc-4.7/porting_to.html
This should work (it did for me, anyway). This is for all the people who can't wait for version 2.6.0.
Re: compilation on fedora 64-bit
The five steps suggested by tsonne work also
on ubuntu 13.10 64bit (saucy)
for the installation of geopsypackage 2.5.0
Regards
Giuseppe Di Giulio
on ubuntu 13.10 64bit (saucy)
for the installation of geopsypackage 2.5.0
Regards
Giuseppe Di Giulio
Giuseppe Di Giulio
Re: compilation on fedora 64-bit
All these errors have been implemented under current "testing" release (2.7.0). The snapshots of "devel" release have all these fixes implemented for a long time.