PDA

View Full Version : Unable to build showeq-6.4.0



np78
08-23-2024, 09:36 AM
I have been running showeq-6.3.16 until now and was trying to install version 6.4.0.
I checked out the svn version and ran

make -f Makefile.dist build
./configure

Without any problems.
When I run make I get these errors:


mv -f .deps/netdiag.Tpo .deps/netdiag.Po
g++ -DHAVE_CONFIG_H -I. -I.. -I/usr/include -I/usr/include/Qt -I/usr/include/Qt3Support -I/usr/include/QtCore -I/usr/include/QtDBus -I/usr/include/QtDeclarative -I/usr/include/QtDesigner -I/usr/include/QtGui -I/usr/include/QtHelp -I/usr/include/QtMultimedia -I/usr/include/QtNetwork -I/usr/include/QtOpenGL -I/usr/include/QtScript -I/usr/include/QtScriptTools -I/usr/include/QtSql -I/usr/include/QtSvg -I/usr/include/QtTest -I/usr/include/QtUiTools -I/usr/include/QtXml -I/usr/include/QtXmlPatterns -I. -DPKGDATADIR=\"/usr/local/share/showeq/\" -I/usr/include/pcap -D_REENTRANT -O2 -Wall -g -ggdb -DDEBUG -finline-functions -DQT_THREAD_SUPPORT=1 -DDISPLAY_ICONS=false -DICON_DIR=\"/eq-icons/\" -std=c++11 -fPIC -DQT_NO_VERSION_TAGGING -MT netstream.o -MD -MP -MF .deps/netstream.Tpo -c -o netstream.o netstream.cpp
mv -f .deps/netstream.Tpo .deps/netstream.Po
g++ -DHAVE_CONFIG_H -I. -I.. -I/usr/include -I/usr/include/Qt -I/usr/include/Qt3Support -I/usr/include/QtCore -I/usr/include/QtDBus -I/usr/include/QtDeclarative -I/usr/include/QtDesigner -I/usr/include/QtGui -I/usr/include/QtHelp -I/usr/include/QtMultimedia -I/usr/include/QtNetwork -I/usr/include/QtOpenGL -I/usr/include/QtScript -I/usr/include/QtScriptTools -I/usr/include/QtSql -I/usr/include/QtSvg -I/usr/include/QtTest -I/usr/include/QtUiTools -I/usr/include/QtXml -I/usr/include/QtXmlPatterns -I. -DPKGDATADIR=\"/usr/local/share/showeq/\" -I/usr/include/pcap -D_REENTRANT -O2 -Wall -g -ggdb -DDEBUG -finline-functions -DQT_THREAD_SUPPORT=1 -DDISPLAY_ICONS=false -DICON_DIR=\"/eq-icons/\" -std=c++11 -fPIC -DQT_NO_VERSION_TAGGING -MT packetcapture.o -MD -MP -MF .deps/packetcapture.Tpo -c -o packetcapture.o packetcapture.cpp
mv -f .deps/packetcapture.Tpo .deps/packetcapture.Po
g++ -DHAVE_CONFIG_H -I. -I.. -I/usr/include -I/usr/include/Qt -I/usr/include/Qt3Support -I/usr/include/QtCore -I/usr/include/QtDBus -I/usr/include/QtDeclarative -I/usr/include/QtDesigner -I/usr/include/QtGui -I/usr/include/QtHelp -I/usr/include/QtMultimedia -I/usr/include/QtNetwork -I/usr/include/QtOpenGL -I/usr/include/QtScript -I/usr/include/QtScriptTools -I/usr/include/QtSql -I/usr/include/QtSvg -I/usr/include/QtTest -I/usr/include/QtUiTools -I/usr/include/QtXml -I/usr/include/QtXmlPatterns -I. -DPKGDATADIR=\"/usr/local/share/showeq/\" -I/usr/include/pcap -D_REENTRANT -O2 -Wall -g -ggdb -DDEBUG -finline-functions -DQT_THREAD_SUPPORT=1 -DDISPLAY_ICONS=false -DICON_DIR=\"/eq-icons/\" -std=c++11 -fPIC -DQT_NO_VERSION_TAGGING -MT packetcaptureprovider.o -MD -MP -MF .deps/packetcaptureprovider.Tpo -c -o packetcaptureprovider.o packetcaptureprovider.cpp
packetcaptureprovider.cpp: In constructor ‘PacketCaptureProviderThread::PacketCaptureProvide rThread()’:
packetcaptureprovider.cpp:31:5: error: ‘pthread_mutex_init’ was not declared in this scope; did you mean ‘pthread_mutex_t’?
31 | pthread_mutex_init(&m_pcache_mutex, NULL);
| ^~~~~~~~~~~~~~~~~~
| pthread_mutex_t
packetcaptureprovider.cpp: In destructor ‘virtual PacketCaptureProviderThread::~PacketCaptureProvide rThread()’:
packetcaptureprovider.cpp:37:5: error: ‘pthread_mutex_lock’ was not declared in this scope; did you mean ‘pthread_mutex_t’?
37 | pthread_mutex_lock (&m_pcache_mutex);
| ^~~~~~~~~~~~~~~~~~
| pthread_mutex_t
packetcaptureprovider.cpp:54:5: error: ‘pthread_mutex_unlock’ was not declared in this scope; did you mean ‘pthread_mutex_t’?
54 | pthread_mutex_unlock (&m_pcache_mutex);
| ^~~~~~~~~~~~~~~~~~~~
| pthread_mutex_t
packetcaptureprovider.cpp:56:5: error: ‘pthread_mutex_destroy’ was not declared in this scope; did you mean ‘pthread_mutexattr_t’?
56 | pthread_mutex_destroy(&m_pcache_mutex);
| ^~~~~~~~~~~~~~~~~~~~~
| pthread_mutexattr_t
packetcaptureprovider.cpp: In member function ‘virtual uint16_t PacketCaptureProviderThread::getPacket(unsigned char*)’:
packetcaptureprovider.cpp:65:5: error: ‘pthread_mutex_lock’ was not declared in this scope; did you mean ‘pthread_mutex_t’?
65 | pthread_mutex_lock (&m_pcache_mutex);
| ^~~~~~~~~~~~~~~~~~
| pthread_mutex_t
packetcaptureprovider.cpp:79:5: error: ‘pthread_mutex_unlock’ was not declared in this scope; did you mean ‘pthread_mutex_t’?
79 | pthread_mutex_unlock (&m_pcache_mutex);
| ^~~~~~~~~~~~~~~~~~~~
| pthread_mutex_t
make[2]: *** [Makefile:911: packetcaptureprovider.o] Error 1
make[2]: Leaving directory '/seq/showeq-6.4.0/src'
make[1]: *** [Makefile:454: all-recursive] Error 1
make[1]: Leaving directory '/seq/showeq-6.4.0'
make: *** [Makefile:386: all] Error 2

Do I need to update some libraries to make this build?

I am running on Fedora Linux 36 (Workstation Edition)

cn187
08-23-2024, 01:57 PM
Hmm... I think I see the problem. Though it's odd that it's working for so many others... so something on Fedora may just be more strict (or at least, doing things in a different order).

Please try this patch (apply with "patch -p1 < /path/to/pthread_include_fix.txt" from the root of the source tree) and report back as to whether or not it fixes it. I think it should.

cn187
08-23-2024, 02:37 PM
Actually I was able to test this with a Fedora 36 docker container. Apparently it only affects qt4, not qt5. But the patch appears to fix it so I went ahead and committed it to trunk.

You can just run svn update, make -f Makefile.dist build, etc. and you should be good to go.

np78
08-24-2024, 02:22 AM
Using svn update gave me the same err, so tried deleting my folder and do a fresh svn checkout, but with same error.
However, patching with the pthread_include_fix.txt made the build work.

Thanks a lot for a quick response!