mincequi / qLouder

A tool to measure and design loudspeakers
GNU General Public License v3.0
15 stars 2 forks source link

Cannot build current master branch on Ubuntu 20.04 (KDE Neon) #2

Closed ariendj closed 1 year ago

ariendj commented 1 year ago

I tried to build qLouder to check out the new features today. Unfortunately, building it does not work on my system. This is what happens:

arien@NBADJ01:~/source/qLouder/build$ make 
[ 64%] Built target cinder
[ 64%] Automatic MOC and UIC for target player
[ 64%] Built target player_autogen
[ 65%] Built target player
[ 66%] Automatic MOC and UIC for target measure
[ 66%] Built target measure_autogen
[ 69%] Built target measure
[ 69%] Automatic MOC and UIC for target qLouder
[ 69%] Built target qLouder_autogen
Consolidate compiler generated dependencies of target qLouder
[ 69%] Building CXX object CMakeFiles/qLouder.dir/src/AudioFilter.cpp.o
/home/arien/source/qLouder/src/AudioFilter.cpp:4:10: fatal error: numbers: No such file or directory
    4 | #include <numbers>
      |          ^~~~~~~~~
compilation terminated.
make[2]: *** [CMakeFiles/qLouder.dir/build.make:346: CMakeFiles/qLouder.dir/src/AudioFilter.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:239: CMakeFiles/qLouder.dir/all] Error 2
make: *** [Makefile:136: all] Error 2
mincequi commented 1 year ago

This header is a C++20 feature. Do you consider an update of your Ubuntu installation?

ariendj commented 1 year ago

Guten Morgen :) I'm on KDE Neon, they have not completed rebasing on 22.04 yet. If not for that I'd be on the current LTS. After a git pull this morning I'm stuck at a different point now, it seems. My gcc version is 9.4.0.

[ 86%] Linking CXX static library ../cinder-src/lib/linux/x86_64/ogl/Debug/libcinder.a
/usr/bin/ar qc ../cinder-src/lib/linux/x86_64/ogl/Debug/libcinder.a CMakeFiles/cinder.dir/src/cinder/Area.cpp.o CMakeFiles/cinder.dir/src/cinder/BandedMatrix.cpp.o CMakeFiles/cinder.dir/src/cinder/Base64.cpp.o CMakeFiles/cinder.dir/src/cinder/BSpline.cpp.o CMakeFiles/cinder.dir/src/cinder/BSplineFit.cpp.o CMakeFiles/cinder.dir/src/cinder/Buffer.cpp.o CMakeFiles/cinder.dir/src/cinder/Camera.cpp.o CMakeFiles/cinder.dir/src/cinder/CameraUi.cpp.o CMakeFiles/cinder.dir/src/cinder/Channel.cpp.o CMakeFiles/cinder.dir/src/cinder/CinderAssert.cpp.o CMakeFiles/cinder.dir/src/cinder/CinderMath.cpp.o CMakeFiles/cinder.dir/src/cinder/Clipboard.cpp.o CMakeFiles/cinder.dir/src/cinder/Color.cpp.o CMakeFiles/cinder.dir/src/cinder/DataSource.cpp.o CMakeFiles/cinder.dir/src/cinder/DataTarget.cpp.o CMakeFiles/cinder.dir/src/cinder/Display.cpp.o CMakeFiles/cinder.dir/src/cinder/Exception.cpp.o CMakeFiles/cinder.dir/src/cinder/Filesystem.cpp.o CMakeFiles/cinder.dir/src/cinder/FileWatcher.cpp.o CMakeFiles/cinder.dir/src/cinder/Font.cpp.o CMakeFiles/cinder.dir/src/cinder/Frustum.cpp.o CMakeFiles/cinder.dir/src/cinder/GeomIo.cpp.o CMakeFiles/cinder.dir/src/cinder/ImageFileTinyExr.cpp.o CMakeFiles/cinder.dir/src/cinder/ImageIo.cpp.o CMakeFiles/cinder.dir/src/cinder/ImageSourceFileRadiance.cpp.o CMakeFiles/cinder.dir/src/cinder/ImageSourceFileStbImage.cpp.o CMakeFiles/cinder.dir/src/cinder/ImageTargetFileStbImage.cpp.o CMakeFiles/cinder.dir/src/cinder/Json.cpp.o CMakeFiles/cinder.dir/src/cinder/Log.cpp.o CMakeFiles/cinder.dir/src/cinder/Matrix.cpp.o CMakeFiles/cinder.dir/src/cinder/MediaTime.cpp.o CMakeFiles/cinder.dir/src/cinder/ObjLoader.cpp.o CMakeFiles/cinder.dir/src/cinder/Path2d.cpp.o CMakeFiles/cinder.dir/src/cinder/Perlin.cpp.o CMakeFiles/cinder.dir/src/cinder/Plane.cpp.o CMakeFiles/cinder.dir/src/cinder/PolyLine.cpp.o CMakeFiles/cinder.dir/src/cinder/Rand.cpp.o CMakeFiles/cinder.dir/src/cinder/Ray.cpp.o CMakeFiles/cinder.dir/src/cinder/Rect.cpp.o CMakeFiles/cinder.dir/src/cinder/Shape2d.cpp.o CMakeFiles/cinder.dir/src/cinder/Signals.cpp.o CMakeFiles/cinder.dir/src/cinder/Sphere.cpp.o CMakeFiles/cinder.dir/src/cinder/Stream.cpp.o CMakeFiles/cinder.dir/src/cinder/Surface.cpp.o CMakeFiles/cinder.dir/src/cinder/System.cpp.o CMakeFiles/cinder.dir/src/cinder/Text.cpp.o CMakeFiles/cinder.dir/src/cinder/Timeline.cpp.o CMakeFiles/cinder.dir/src/cinder/TimelineItem.cpp.o CMakeFiles/cinder.dir/src/cinder/Timer.cpp.o CMakeFiles/cinder.dir/src/cinder/Triangulate.cpp.o CMakeFiles/cinder.dir/src/cinder/TriMesh.cpp.o CMakeFiles/cinder.dir/src/cinder/Tween.cpp.o CMakeFiles/cinder.dir/src/cinder/Unicode.cpp.o CMakeFiles/cinder.dir/src/cinder/Url.cpp.o CMakeFiles/cinder.dir/src/cinder/Utilities.cpp.o CMakeFiles/cinder.dir/src/cinder/Xml.cpp.o CMakeFiles/cinder.dir/src/cinder/Serial.cpp.o CMakeFiles/cinder.dir/src/cinder/app/AppBase.cpp.o CMakeFiles/cinder.dir/src/cinder/app/KeyEvent.cpp.o CMakeFiles/cinder.dir/src/cinder/app/Platform.cpp.o CMakeFiles/cinder.dir/src/cinder/app/Renderer.cpp.o CMakeFiles/cinder.dir/src/cinder/app/RendererGl.cpp.o CMakeFiles/cinder.dir/src/cinder/app/Window.cpp.o CMakeFiles/cinder.dir/src/cinder/audio/ChannelRouterNode.cpp.o CMakeFiles/cinder.dir/src/cinder/audio/Context.cpp.o CMakeFiles/cinder.dir/src/cinder/audio/DelayNode.cpp.o CMakeFiles/cinder.dir/src/cinder/audio/Device.cpp.o CMakeFiles/cinder.dir/src/cinder/audio/FileOggVorbis.cpp.o CMakeFiles/cinder.dir/src/cinder/audio/FilterNode.cpp.o CMakeFiles/cinder.dir/src/cinder/audio/GenNode.cpp.o CMakeFiles/cinder.dir/src/cinder/audio/InputNode.cpp.o CMakeFiles/cinder.dir/src/cinder/audio/Node.cpp.o CMakeFiles/cinder.dir/src/cinder/audio/NodeMath.cpp.o CMakeFiles/cinder.dir/src/cinder/audio/MonitorNode.cpp.o CMakeFiles/cinder.dir/src/cinder/audio/OutputNode.cpp.o CMakeFiles/cinder.dir/src/cinder/audio/PanNode.cpp.o CMakeFiles/cinder.dir/src/cinder/audio/Param.cpp.o CMakeFiles/cinder.dir/src/cinder/audio/SamplePlayerNode.cpp.o CMakeFiles/cinder.dir/src/cinder/audio/SampleRecorderNode.cpp.o CMakeFiles/cinder.dir/src/cinder/audio/Source.cpp.o CMakeFiles/cinder.dir/src/cinder/audio/Target.cpp.o CMakeFiles/cinder.dir/src/cinder/audio/Utilities.cpp.o CMakeFiles/cinder.dir/src/cinder/audio/Voice.cpp.o CMakeFiles/cinder.dir/src/cinder/audio/WaveTable.cpp.o CMakeFiles/cinder.dir/src/cinder/audio/dsp/Biquad.cpp.o CMakeFiles/cinder.dir/src/cinder/audio/dsp/Converter.cpp.o CMakeFiles/cinder.dir/src/cinder/audio/dsp/Dsp.cpp.o CMakeFiles/cinder.dir/src/cinder/audio/dsp/Fft.cpp.o CMakeFiles/cinder.dir/src/cinder/gl/Batch.cpp.o CMakeFiles/cinder.dir/src/cinder/gl/BufferObj.cpp.o CMakeFiles/cinder.dir/src/cinder/gl/BufferTexture.cpp.o CMakeFiles/cinder.dir/src/cinder/gl/ConstantConversions.cpp.o CMakeFiles/cinder.dir/src/cinder/gl/Context.cpp.o CMakeFiles/cinder.dir/src/cinder/gl/draw.cpp.o CMakeFiles/cinder.dir/src/cinder/gl/Environment.cpp.o CMakeFiles/cinder.dir/src/cinder/gl/EnvironmentCore.cpp.o CMakeFiles/cinder.dir/src/cinder/gl/EnvironmentEs.cpp.o CMakeFiles/cinder.dir/src/cinder/gl/Fbo.cpp.o CMakeFiles/cinder.dir/src/cinder/gl/GlslProg.cpp.o CMakeFiles/cinder.dir/src/cinder/gl/Pbo.cpp.o CMakeFiles/cinder.dir/src/cinder/gl/Query.cpp.o CMakeFiles/cinder.dir/src/cinder/gl/scoped.cpp.o CMakeFiles/cinder.dir/src/cinder/gl/Sampler.cpp.o CMakeFiles/cinder.dir/src/cinder/gl/Shader.cpp.o CMakeFiles/cinder.dir/src/cinder/gl/ShaderPreprocessor.cpp.o CMakeFiles/cinder.dir/src/cinder/gl/Sync.cpp.o CMakeFiles/cinder.dir/src/cinder/gl/Texture.cpp.o CMakeFiles/cinder.dir/src/cinder/gl/TextureFont.cpp.o CMakeFiles/cinder.dir/src/cinder/gl/TextureFormatParsers.cpp.o CMakeFiles/cinder.dir/src/cinder/gl/TransformFeedbackObj.cpp.o CMakeFiles/cinder.dir/src/cinder/gl/Ubo.cpp.o CMakeFiles/cinder.dir/src/cinder/gl/Vao.cpp.o CMakeFiles/cinder.dir/src/cinder/gl/VaoImplCore.cpp.o CMakeFiles/cinder.dir/src/cinder/gl/VaoImplEs.cpp.o CMakeFiles/cinder.dir/src/cinder/gl/VaoImplSoftware.cpp.o CMakeFiles/cinder.dir/src/cinder/gl/Vbo.cpp.o CMakeFiles/cinder.dir/src/cinder/gl/VboMesh.cpp.o CMakeFiles/cinder.dir/src/cinder/gl/wrapper.cpp.o CMakeFiles/cinder.dir/src/cinder/gl/nv/Multicast.cpp.o CMakeFiles/cinder.dir/src/cinder/ip/Blend.cpp.o CMakeFiles/cinder.dir/src/cinder/ip/Blur.cpp.o CMakeFiles/cinder.dir/src/cinder/ip/Checkerboard.cpp.o CMakeFiles/cinder.dir/src/cinder/ip/Fill.cpp.o CMakeFiles/cinder.dir/src/cinder/ip/Grayscale.cpp.o CMakeFiles/cinder.dir/src/cinder/ip/Premultiply.cpp.o CMakeFiles/cinder.dir/src/cinder/ip/Threshold.cpp.o CMakeFiles/cinder.dir/src/cinder/ip/EdgeDetect.cpp.o CMakeFiles/cinder.dir/src/cinder/ip/Flip.cpp.o CMakeFiles/cinder.dir/src/cinder/ip/Hdr.cpp.o CMakeFiles/cinder.dir/src/cinder/ip/Resize.cpp.o CMakeFiles/cinder.dir/src/cinder/ip/Trim.cpp.o CMakeFiles/cinder.dir/src/cinder/svg/Svg.cpp.o CMakeFiles/cinder.dir/src/tinyexr/tinyexr.cc.o CMakeFiles/cinder.dir/src/glad/glad.c.o CMakeFiles/cinder.dir/src/jsoncpp/jsoncpp.cpp.o CMakeFiles/cinder.dir/src/linebreak/linebreak.c.o CMakeFiles/cinder.dir/src/linebreak/linebreakdata.c.o CMakeFiles/cinder.dir/src/linebreak/linebreakdef.c.o CMakeFiles/cinder.dir/src/libtess2/bucketalloc.c.o CMakeFiles/cinder.dir/src/libtess2/dict.c.o CMakeFiles/cinder.dir/src/libtess2/geom.c.o CMakeFiles/cinder.dir/src/libtess2/mesh.c.o CMakeFiles/cinder.dir/src/libtess2/priorityq.c.o CMakeFiles/cinder.dir/src/libtess2/sweep.c.o CMakeFiles/cinder.dir/src/libtess2/tess.c.o CMakeFiles/cinder.dir/src/freetype/bdf/bdf.c.o CMakeFiles/cinder.dir/src/freetype/cff/cff.c.o CMakeFiles/cinder.dir/src/freetype/pcf/pcf.c.o CMakeFiles/cinder.dir/src/freetype/pfr/pfr.c.o CMakeFiles/cinder.dir/src/freetype/sfnt/sfnt.c.o CMakeFiles/cinder.dir/src/freetype/truetype/truetype.c.o CMakeFiles/cinder.dir/src/freetype/type1/type1.c.o CMakeFiles/cinder.dir/src/freetype/type42/type42.c.o CMakeFiles/cinder.dir/src/freetype/winfonts/winfnt.c.o CMakeFiles/cinder.dir/src/freetype/base/ftbase.c.o CMakeFiles/cinder.dir/src/freetype/base/ftbbox.c.o CMakeFiles/cinder.dir/src/freetype/base/ftbdf.c.o CMakeFiles/cinder.dir/src/freetype/base/ftbitmap.c.o CMakeFiles/cinder.dir/src/freetype/base/ftcid.c.o CMakeFiles/cinder.dir/src/freetype/base/ftdebug.c.o CMakeFiles/cinder.dir/src/freetype/base/ftfstype.c.o CMakeFiles/cinder.dir/src/freetype/base/ftgasp.c.o CMakeFiles/cinder.dir/src/freetype/base/ftglyph.c.o CMakeFiles/cinder.dir/src/freetype/base/ftgxval.c.o CMakeFiles/cinder.dir/src/freetype/base/ftinit.c.o CMakeFiles/cinder.dir/src/freetype/base/ftmm.c.o CMakeFiles/cinder.dir/src/freetype/base/ftotval.c.o CMakeFiles/cinder.dir/src/freetype/base/ftpatent.c.o CMakeFiles/cinder.dir/src/freetype/base/ftpfr.c.o CMakeFiles/cinder.dir/src/freetype/base/ftstroke.c.o CMakeFiles/cinder.dir/src/freetype/base/ftsynth.c.o CMakeFiles/cinder.dir/src/freetype/base/ftsystem.c.o CMakeFiles/cinder.dir/src/freetype/base/fttype1.c.o CMakeFiles/cinder.dir/src/freetype/base/ftwinfnt.c.o CMakeFiles/cinder.dir/src/freetype/raster/raster.c.o CMakeFiles/cinder.dir/src/freetype/smooth/smooth.c.o CMakeFiles/cinder.dir/src/freetype/autofit/autofit.c.o CMakeFiles/cinder.dir/src/freetype/bzip2/ftbzip2.c.o CMakeFiles/cinder.dir/src/freetype/cache/ftcache.c.o CMakeFiles/cinder.dir/src/freetype/gzip/ftgzip.c.o CMakeFiles/cinder.dir/src/freetype/lzw/ftlzw.c.o CMakeFiles/cinder.dir/src/freetype/gxvalid/gxvalid.c.o CMakeFiles/cinder.dir/src/freetype/otvalid/otvalid.c.o CMakeFiles/cinder.dir/src/freetype/psaux/psaux.c.o CMakeFiles/cinder.dir/src/freetype/pshinter/pshinter.c.o CMakeFiles/cinder.dir/src/freetype/psnames/psnames.c.o CMakeFiles/cinder.dir/src/freetype/cid/type1cid.c.o CMakeFiles/cinder.dir/src/freetype/bdf/bdflib.c.o CMakeFiles/cinder.dir/src/zlib/adler32.c.o CMakeFiles/cinder.dir/src/zlib/compress.c.o CMakeFiles/cinder.dir/src/zlib/crc32.c.o CMakeFiles/cinder.dir/src/zlib/deflate.c.o CMakeFiles/cinder.dir/src/zlib/gzclose.c.o CMakeFiles/cinder.dir/src/zlib/gzlib.c.o CMakeFiles/cinder.dir/src/zlib/gzread.c.o CMakeFiles/cinder.dir/src/zlib/gzwrite.c.o CMakeFiles/cinder.dir/src/zlib/infback.c.o CMakeFiles/cinder.dir/src/zlib/inffast.c.o CMakeFiles/cinder.dir/src/zlib/inflate.c.o CMakeFiles/cinder.dir/src/zlib/inftrees.c.o CMakeFiles/cinder.dir/src/zlib/trees.c.o CMakeFiles/cinder.dir/src/zlib/uncompr.c.o CMakeFiles/cinder.dir/src/zlib/zutil.c.o CMakeFiles/cinder.dir/src/r8brain/r8bbase.cpp.o CMakeFiles/cinder.dir/src/oggvorbis/ogg/bitwise.c.o CMakeFiles/cinder.dir/src/oggvorbis/ogg/framing.c.o CMakeFiles/cinder.dir/src/oggvorbis/vorbis/analysis.c.o CMakeFiles/cinder.dir/src/oggvorbis/vorbis/bitrate.c.o CMakeFiles/cinder.dir/src/oggvorbis/vorbis/block.c.o CMakeFiles/cinder.dir/src/oggvorbis/vorbis/codebook.c.o CMakeFiles/cinder.dir/src/oggvorbis/vorbis/envelope.c.o CMakeFiles/cinder.dir/src/oggvorbis/vorbis/floor0.c.o CMakeFiles/cinder.dir/src/oggvorbis/vorbis/floor1.c.o CMakeFiles/cinder.dir/src/oggvorbis/vorbis/info.c.o CMakeFiles/cinder.dir/src/oggvorbis/vorbis/lookup.c.o CMakeFiles/cinder.dir/src/oggvorbis/vorbis/lpc.c.o CMakeFiles/cinder.dir/src/oggvorbis/vorbis/lsp.c.o CMakeFiles/cinder.dir/src/oggvorbis/vorbis/mapping0.c.o CMakeFiles/cinder.dir/src/oggvorbis/vorbis/mdct.c.o CMakeFiles/cinder.dir/src/oggvorbis/vorbis/psy.c.o CMakeFiles/cinder.dir/src/oggvorbis/vorbis/registry.c.o CMakeFiles/cinder.dir/src/oggvorbis/vorbis/res0.c.o CMakeFiles/cinder.dir/src/oggvorbis/vorbis/sharedbook.c.o CMakeFiles/cinder.dir/src/oggvorbis/vorbis/smallft.c.o CMakeFiles/cinder.dir/src/oggvorbis/vorbis/synthesis.c.o CMakeFiles/cinder.dir/src/oggvorbis/vorbis/vorbisenc.c.o CMakeFiles/cinder.dir/src/oggvorbis/vorbis/vorbisfile.c.o CMakeFiles/cinder.dir/src/oggvorbis/vorbis/window.c.o CMakeFiles/cinder.dir/src/cinder/UrlImplCurl.cpp.o CMakeFiles/cinder.dir/src/glad/glad_glx.c.o CMakeFiles/cinder.dir/src/glfw/src/context.c.o CMakeFiles/cinder.dir/src/glfw/src/init.c.o CMakeFiles/cinder.dir/src/glfw/src/input.c.o CMakeFiles/cinder.dir/src/glfw/src/monitor.c.o CMakeFiles/cinder.dir/src/glfw/src/window.c.o CMakeFiles/cinder.dir/src/glfw/src/glx_context.c.o CMakeFiles/cinder.dir/src/glfw/src/egl_context.c.o CMakeFiles/cinder.dir/src/glfw/src/x11_init.c.o CMakeFiles/cinder.dir/src/glfw/src/x11_monitor.c.o CMakeFiles/cinder.dir/src/glfw/src/x11_window.c.o CMakeFiles/cinder.dir/src/glfw/src/xkb_unicode.c.o CMakeFiles/cinder.dir/src/glfw/src/linux_joystick.c.o CMakeFiles/cinder.dir/src/glfw/src/posix_time.c.o CMakeFiles/cinder.dir/src/glfw/src/posix_tls.c.o CMakeFiles/cinder.dir/src/glfw/src/vulkan.c.o CMakeFiles/cinder.dir/src/cinder/app/linux/AppLinux.cpp.o CMakeFiles/cinder.dir/src/cinder/app/linux/PlatformLinux.cpp.o CMakeFiles/cinder.dir/src/cinder/app/linux/AppImplLinuxGlfw.cpp.o CMakeFiles/cinder.dir/src/cinder/app/linux/RendererGlLinuxGlfw.cpp.o CMakeFiles/cinder.dir/src/cinder/app/linux/WindowImplLinuxGlfw.cpp.o CMakeFiles/cinder.dir/src/cinder/audio/linux/ContextPulseAudio.cpp.o CMakeFiles/cinder.dir/src/cinder/audio/linux/DeviceManagerPulseAudio.cpp.o CMakeFiles/cinder.dir/src/cinder/audio/linux/FileAudioLoader.cpp.o CMakeFiles/cinder.dir/src/cinder/audio/dsp/ooura/fftsg.cpp.o CMakeFiles/cinder.dir/src/cinder/audio/dsp/ConverterR8brain.cpp.o
/usr/bin/ranlib ../cinder-src/lib/linux/x86_64/ogl/Debug/libcinder.a
[ 86%] Built target cinder
make: *** [Makefile:136: all] Error 2
mincequi commented 1 year ago

Using KDE Neon (and using the latest version of Qt) seems like a good idea, though. :)

I fixed the number header issue with the latest commit. Regarding your latest compilation issue: unfortunately, the log does not tell me much. What do the log files tell you? There seems a library to be missing...

mincequi commented 1 year ago

Update: i was able to reduce the requirements to Qt 5.12 and GCC 9.4.0. So, it should now compile on Ubuntu 20.04 (Focal).

ariendj commented 1 year ago

Thanks! I'll be sure to try again ASAP. Been on the road since thursday morning, I'll probably give it another go tomorrow or monday. I've been meaning to do a loopback test on a soundcard that might be defective. Should be interesting to compare distortion on one working and one broken input.

ariendj commented 1 year ago

Just compiled the latest version. It builds and it runs. Thanks!