Posted By
Charlemagne on 2024-01-27 09:42:43
| Plus4EMU - how to compile under Linux: Checking for package FLTK... no
Hi Whiz Kids,
Is there anybody to manage to compile "plus4emu" from source under linux?
******* ******* ******* ******* ******* Charlemagne:~/plus4emu$ fltk-config --version 1.3.9
Charlemagne:~/plus4emu$ fltk-config --api-version 1.3
Charlemagne:~/plus4emu$ fltk-config --libs /usr/local/lib/libfltk.a
Charlemagne:~/plus4emu$ fltk-config --prefix /usr/local
Charlemagne:~/plus4emu$ fltk-config --includedir /usr/local/include
Charlemagne:~/plus4emu$ fltk-config --cc gcc
Charlemagne:~/plus4emu$ fltk-config --cxx g++
Charlemagne:~/plus4emu$ fltk-config --optim -Os -Wall -Wunused -Wno-format-y2k -fvisibility=hidden -fPIC -fno-exceptions -fno-strict-aliasing -ffunction-sections -fdata-sections
Charlemagne:~/plus4emu$ fltk-config --cflags -I/usr/local/include -I/usr/include/freetype2 -I/usr/include/libpng16 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_THREAD_SAFE -D_REENTRANT
Charlemagne:~/plus4emu$ fltk-config --cxxflags -I/usr/local/include -I/usr/include/freetype2 -I/usr/include/libpng16 -fvisibility-inlines-hidden -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_THREAD_SAFE -D_REENTRANT
Charlemagne:~/plus4emu$ fltk-config --ldflags -L/usr/local/lib -Wl,-rpath,/usr/local/lib -lfltk -lXrender -lXcursor -lXfixes -lXext -lXft -lfontconfig -lXinerama -lpthread -lm -lX11
Charlemagne:~/plus4emu$ fltk-config --ldstaticflags /usr/local/lib/libfltk.a -lXrender -lXcursor -lXfixes -lXext -lXft -lfontconfig -lXinerama -lpthread -lm -lX11
Charlemagne:~/plus4emu$ scons -j 4 scons: Reading SConscript files ... Checking for package FLTK... no *** error configuring FLTK
Charlemagne:~/plus4emu$
******* ******* ******* ******* *******
YES, I set FLTK configure options before making it...:
Charlemagne:~/fltk-1.3.9# ./configure --enable-threads --enable-shared Charlemagne:~/fltk-1.3.9# make Charlemagne:~/fltk-1.3.9# make install
YES, I tried FLTK 1.3.4, too as IstvanV mentioned in the description on GitHub...
???
|
|
Posted By
SukkoPera on 2024-01-27 12:59:19
| Re: Plus4EMU - how to compile under Linux: Checking for package FLTK... no
I think there's a problem in the SConstruct file but I don't know SCons at all. Anyway I managed to get it to build by replacing the:
raise Exception() at line 90 with
pass It's probably a dirty hack and might break dependency lookup, but I could find no mention of ParseConfig() actually returning a value.
I'm using fltk 1.3.9 and SCons 4.6.0.
|
|
Posted By
gerliczer on 2024-01-27 15:21:13
| Re: Plus4EMU - how to compile under Linux: Checking for package FLTK... no
There is this post. It solved not exactly the same problem but maybe it can give some ideas.
|
|
Posted By
BSZ on 2024-01-27 18:01:07
| Re: Plus4EMU - how to compile under Linux: Checking for package FLTK... no
The author uses a rather strange build system for the project. So far I have only managed to build one way. So I probably used the same distribution as IstvanV. There I was able to install all the dependencies from distro's repositories. After that, the build worked easily. This was a version of openSUSE. In other distributions there was always something that was not good / missing.
But - as gerliczer writes - bubis has also successfully built to exotic targets. We hope will see this thread and give us some tips.
|
|
Posted By
TLC on 2024-01-28 13:59:07
| Re: Plus4EMU - how to compile under Linux: Checking for package FLTK... no
Just made an attempt to compile the emulator on Ubuntu 22.04 (x64). It apparently worked just on the first try.
mkdir tmp cd tmp git clone https://github.com/istvan-v/plus4emu.git cd plus4emu/ sudo apt-get install scons fltk1.3 libfltk1.3-dev portaudio19-dev libsdl1.2-compat libsdl1.2-compat-dev libsndfile1 libsndfile1-dev lua5.3 liblua5.3-dev scons -j 4 mkdir -p ~/.plus4emu/roms cp roms/* ~/.plus4emu/roms/ ./plus4emu
...and off it went.
For me fltk-config --version says 1.3.8 , fltk-config --api-version is 1.3, SCons is v4.0.1.something.
|
|
Posted By
SukkoPera on 2024-01-28 14:37:01
| Re: Plus4EMU - how to compile under Linux: Checking for package FLTK... no
I think the problem is the version of SCons, I'm using a much newer one and there have probably been some changes inbetween.
|
|
Posted By
TLC on 2024-01-28 16:36:30
| Re: Plus4EMU - how to compile under Linux: Checking for package FLTK... no
Yep, looks like. I came over to use my Gentoo box, and the problem did happen at SCons 4.5.2 (the oldest version I could install here from stock Portage repo).
I tried your hack to suppress the exception in SConstruct, and it similarly worked.
As a test, I dug up and installed scons 4.4.1-r1 from the Portage tree archive, and the problem already happened here as well. There had to be something introduced between 4.0 and 4.4 which breaks this construct, but for me wasn't obvious from scons' Changelog.
|
|
Posted By
Charlemagne on 2024-01-28 17:20:28
| Re: Plus4EMU - how to compile under Linux: Checking for package FLTK... no
Thanx U all for this detailed investigation...
Well, as you can see I used the same hack that SukkoPera suggested me, my solution was in the 116 line of "SConstruct": remark (#).
BSZ: "The author uses a rather strange build system for the project. "
"SCons is an Open Source software construction tool. Think of SCons as an improved, cross-platform substitute for the classic Make utility with integrated functionality similar to autoconf/automake and compiler caches such as ccache. In short, SCons is an easier, more reliable and faster way to build software." (https://scons.org/)
...easier, more reliable and faster...
TLC: No way(!)... My favorite linux distribution is Debian (which is also the root (parent) of Ubuntu)
gerliczer: I read the ROM list of ZX Spectrum and the following citation came to my face: "Everything should be made as simple as possible, but not simpler." (Albert Einstein)
|
|
Posted By
TLC on 2024-01-28 17:29:03
| Re: Plus4EMU - how to compile under Linux: Checking for package FLTK... no
re.: "No way(!)...", that is actually my work setup, see also: some local optimum has to look a bit different once you have to take a strongly MS leaning corporate ecosystem into account (...and you're actually happy that you're not explicitly bound to use MS Win in your daily work in the first place ). BTW, once you got rid of some of the idiotic defaults, snapd, and the default UI (gotta love Xfce...), the LTS dist actually behaves quite nicely , at least I had expected much worse. I still don't use it on my own private boxes, though.
|
|