Compilation error on Arch Linux

Post Reply
lukmi15
Posts: 1
Joined: Sun Jul 28, 2024 12:57 pm

Compilation error on Arch Linux

Post by lukmi15 »

Hi,

I followed the guide from here on my Arch Linux box: hxxps[://]wiki[.]mudlet[.]org/w/Compiling_Mudlet#Compiling_on_Arch_Linux (defang cause I am not allowed to post links to different domains)
but ran into the following error at the step

Code: Select all

make -j `nproc`

Code: Select all

g++ -c -pipe -O3 -std=gnu++1z -pthread -flto -fno-fat-lto-objects -Wall -Wextra -D_REENTRANT -fPIC -DBUILD_IRC_CORE -DBUILD_IRC_MODEL -DBUILD_IRC_UTIL -DINCLUDE_VARIABLE_SPLASH_SCREEN -DAPP_VERSION=\"4.18.3\" -DAPP_BUILD=\"-dev-9c921d19\" -DAPP_TARGET=\"mudlet\" -DINCLUDE_FONTS -DINCLUDE_UPDATER -DINCLUDE_3DMAPPER -DINCLUDE_OWN_QT5_KEYCHAIN -DINCLUDE_MAIN_BUILD_SYSTEM -DDEBUG_TELNET=1 -DLUA_DEFAULT_PATH=\"/usr/local/share/mudlet/lua\" -DQS_LOG_LINE_NUMBERS -DQTKEYCHAIN_NO_EXPORT -DLIBSECRET_SUPPORT -DHAVE_LIBSECRET -DKEYCHAIN_DBUS -DQT_NO_DEBUG -DQT_UITOOLS_LIB -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DQT_MULTIMEDIA_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CONCURRENT_LIB -DQT_DBUS_LIB -DQT_CORE_LIB -I../src -I. -I../3rdparty/communi/src/core -I../3rdparty/communi/include/IrcCore -I../3rdparty/communi/src/model -I../3rdparty/communi/include/IrcModel -I../3rdparty/communi/src/util -I../3rdparty/communi/include/IrcUtil -I/usr/include/lua5.1 -I../3rdparty/discord/rpc/include -I../3rdparty/edbee-lib/edbee-lib -I../3rdparty/edbee-lib/vendor/qslog -I../3rdparty/edbee-lib/vendor/onig -I../3rdparty/edbee-lib/vendor/onig/enc/unicode -I../3rdparty -I../3rdparty/qtkeychain -I../3rdparty/dblsqd -I/usr/include/libsecret-1 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/gio-unix-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/sysprof-6 -I/usr/include/tss2 -I/usr/include/qt -I/usr/include/qt/QtUiTools -I/usr/include/qt/QtOpenGL -I/usr/include/qt/QtWidgets -I/usr/include/qt/QtMultimedia -I/usr/include/qt/QtGui -I/usr/include/qt/QtNetwork -I/usr/include/qt/QtConcurrent -I/usr/include/qt/QtDBus -I/usr/include/qt/QtCore -I. -I. -I/usr/lib/qt/mkspecs/linux-g++ -o AliasUnit.o ../src/AliasUnit.cpp
In file included from ../src/TLuaInterpreter.h:31,
                 from ../src/Host.h:35,
                 from ../src/MudletInstanceCoordinator.h:23,
                 from ../src/mudlet.h:30,
                 from ../src/ActionUnit.cpp:31:
../src/TTrigger.h:37:10: fatal error: pcre.h: No such file or directory
   37 | #include <pcre.h>
      |          ^~~~~~~~
compilation terminated.
In file included from ../src/TLuaInterpreter.h:31,
                 from ../src/Host.h:35,
                 from ../src/AliasUnit.cpp:25:
../src/TTrigger.h:37:10: fatal error: pcre.h: No such file or directory
   37 | #include <pcre.h>
      |          ^~~~~~~~
compilation terminated.
make: *** [Makefile:7116: ActionUnit.o] Error 1
make: *** Waiting for unfinished jobs....
make: *** [Makefile:7201: AliasUnit.o] Error 1
I noticed that `pcre` is not installed on my system but `pcre2` is:

Code: Select all

$ pacman -Ss pcre                                                                                                                                                                                                                                                                                        
core/pcre 8.45-4                                                                                                                                                                                                                                                                                                              
    A deprecated library that implements Perl 5-style regular expressions                                                                                                                                                                                                                                                     
core/pcre2 10.44-1 [installed]                                                                                                                                                                                                                                                                                                
    A library that implements Perl 5-style regular expressions. 2nd version
Should it maybe added as dependency in the wiki?

Does anyone know how to fix this and can give me any help?

User avatar
SlySven
Posts: 1028
Joined: Mon Mar 04, 2013 3:40 pm
Location: Deepest Wiltshire, UK
Discord: SlySven#2703

Re: Compilation error on Arch Linux

Post by SlySven »

You do need BOTH the original PCRE (version 8.x) as well as the PCRE2 (version 10.x) one - Mudlet's code uses the original (now unchanging) version whereas the Qt framework and the build process use the later PCRE2 library... I don't know whether ARCH packages the headers separately from the libraries in "development" type packages - if it does you will need the PCRE one as well; OTOH since pacman package search (I - and now Muldlet itself- uses the Windows "MSYS2+Mingw-w64" environment for Windows builds and that also uses "pacman") did not mention any other packages I guess they come in the main package...

Post Reply