mixxxdj / mixxx

Mixxx is Free DJ software that gives you everything you need to perform live mixes.
http://mixxx.org
Other
4.43k stars 1.27k forks source link

Mixxx Fedora25 Compiling Error fpclassify.h #8704

Closed mixxxbot closed 2 years ago

mixxxbot commented 2 years ago

Reported by: eruguru Date: 2016-12-02T21:38:32Z Status: Invalid Importance: Low Launchpad Issue: lp1646970 Tags: compile, compilling, fpclassify.h Attachments: [Mixxx Compiling Error fpclassify.h undefined.odt](https://bugs.launchpad.net/bugs/1646970/+attachment/4786733/+files/Mixxx Compiling Error fpclassify.h undefined.odt)


I'm attempting to install Mixxx on my laptop running Fedora 25 using this guide: http://mixxx.org/wiki/doku.php/compiling_on_linux

It is after running the "scons prefix=/usr/local -j 8 optimize=native" where the error happens. Get's a fair way through the process then runs into this error:

In file included from src/util/math.h:11:0,
                 from src/util/types.h:4,
                 from src/analyser.h:4,
                 from src/analyserwaveform.h:10,
                 from src/analyserwaveform.cpp:6:
src/util/fpclassify.h:22:20: error: ‘std::util_fpclassify’ has not been declared
 #define fpclassify util_fpclassify
                    ^
src/util/fpclassify.h:23:18: error: ‘std::util_isfinite’ has not been declared
 #define isfinite util_isfinite
                  ^
src/util/fpclassify.h:20:15: error: ‘std::util_isinf’ has not been declared
 #define isinf util_isinf
               ^
src/util/fpclassify.h:19:15: error: ‘std::util_isnan’ has not been declared
 #define isnan util_isnan
               ^
src/util/fpclassify.h:21:18: error: ‘std::util_isnormal’ has not been declared
 #define isnormal util_isnormal
                  ^
In file included from src/util/math.h:11:0,
                 from src/util/types.h:4,
                 from src/analyser.h:4,
                 from src/analyserqueue.h:11,
                 from src/analyserqueue.cpp:8:
src/util/fpclassify.h:22:20: error: ‘std::util_fpclassify’ has not been declared
 #define fpclassify util_fpclassify
                    ^
src/util/fpclassify.h:23:18: error: ‘std::util_isfinite’ has not been declared
 #define isfinite util_isfinite
                  ^
src/util/fpclassify.h:20:15: error: ‘std::util_isinf’ has not been declared
 #define isinf util_isinf
               ^
src/util/fpclassify.h:19:15: error: ‘std::util_isnan’ has not been declared
 #define isnan util_isnan
               ^
src/util/fpclassify.h:21:18: error: ‘std::util_isnormal’ has not been declared
 #define isnormal util_isnormal
                  ^
g++ -o lin64_build/cachingreaderworker.o -c -pipe -Wall -Wextra -g -pthread -O3 -ffast-math -funroll-loops -fomit-frame-pointer -march=native -Dx86_64 -DMIXXX_BUILD_DEBUG -D__LINUX__ -D__UNIX__ -DSETTINGS_PATH=\".mixxx/\" -DSETTINGS_FILE=\"mixxx.cfg\" -DUNIX_SHARE_PATH=\"/usr/local/share/mixxx\" -DUNIX_LIB_PATH=\"/usr/local/lib/mixxx\" -D__PORTAUDIO__ -DQT_SHARED -DQT_TABLET_SUPPORT -DQT_CORE_LIB -DQT_GUI_LIB -DQT_OPENGL_LIB -DQT_XML_LIB -DQT_SVG_LIB -DQT_SQL_LIB -DQT_SCRIPT_LIB -DQT_NETWORK_LIB -DQT_SHARED -D__SNDFILE__ -D__MAD__ -D__HID__ -D__BULK__ -D__VINYLCONTROL__ -D__SHOUTCAST__ -D__VAMP__ -D__AUTODJCRATES__ -D__SQLITE3__ -Ilin64_build -Isrc -Ilib/soundtouch-1.8.0 -Ilib/replaygain -I/usr/include/QtOpenGL -I/usr/include/QtXml -I/usr/include/QtSvg -I/usr/include/QtSql -I/usr/include/QtXmlPatterns -I/usr/include/QtNetwork -I/usr/include/QtTest -I/usr/include/QtScriptTools -I/usr/include/QtGui -I/usr/include/QtScript -I/usr/include/QtCore -Ilib/gtest-1.7.0/include -Ilib/fidlib-0.9.10 -I/usr/include/taglib -Ilib/hidapi-0.8.0-rc1/hidapi -I/usr/include/libusb-1.0 -Ilib/xwax -Ilib/scratchlib src/cachingreaderworker.cpp
scons: *** [lin64_build/analyserwaveform.o] Error 1
scons: *** [lin64_build/analyserqueue.o] Error 1
scons: building terminated because of errors.
[root@localhost mixxx]# 

I can include more of the terminal log if needed. I cannot seem to find any similar issue online with that file except this guy who has posted a similar log, however I don't seem to see a solution: https://gist.github.com/thoraxe/f9c66682c5d68c112800f151af076cb9

Any and all help is much appreciated, thank you!

mixxxbot commented 2 years ago

Commented by: eruguru Date: 2016-12-02T21:40:13Z Attachments: [Mixxx Compiling Error fpclassify.h undefined.odt](https://bugs.launchpad.net/mixxx/+bug/1646970/+attachment/4786733/+files/Mixxx Compiling Error fpclassify.h undefined.odt)


This attached document is more of the same log

mixxxbot commented 2 years ago

Commented by: uklotzde Date: 2016-12-02T21:49:18Z


I already did some clean (re-)builds after upgrading to Fedora 25, but I cannot confirm this error.

mixxxbot commented 2 years ago

Commented by: eruguru Date: 2016-12-02T22:03:22Z


It's a fresh build as of this morning. The only thing I've done is run an update on the system su, added rpm fusion (free&non), and installed my nvidia driver.

I'll do some research on what the to classify.h file is and what it does. When I get back to my computer I'll also upload that specific file so that maybe you can compare it to yours.

mixxxbot commented 2 years ago

Commented by: eruguru Date: 2016-12-03T07:12:56Z


This is what my fpclassify.h file looks like. If you could compare and let me know if they are different that would be wonderful.

ifndef UTIL_FPCLASSIFY_H

define UTIL_FPCLASSIFY_H

ifdef _MSC_VER

// VC++ uses _isnan() instead of isnan() and !_finite instead of isinf.
#include <float.h>
#define isnan(x) _isnan(x)
#define isinf(x) (!_finite(x))

else

// We define 
// these as macros to prevent clashing with c++11 built-ins in the global
// namespace. If you say "using std::isnan;" then this will fail to build with
// std=c++11. See https://bugs.webkit.org/show_bug.cgi?id=59249 for some
// relevant discussion.

define isnan util_isnan

define isinf util_isinf

define isnormal util_isnormal

define fpclassify util_fpclassify

define isfinite util_isfinite

int util_fpclassify(float x);
int util_isfinite(float x);
int util_isnormal(float x);
int util_isnan(float x);
int util_isinf(float x);
int util_fpclassify(double x);
int util_isfinite(double x);
int util_isnormal(double x);
int util_isnan(double x);
int util_isinf(double x);

endif

endif // UTIL_FPCLASSIFY_H

mixxxbot commented 2 years ago

Commented by: uklotzde Date: 2016-12-04T21:53:10Z


Following are my settings for a debug build of branch 'master' on Fedora 25:

scons \
prefix=/usr/local \
qdebug=1 \
optimize=native \
tuned=1 \
debug_assertions_fatal=1 \
faad=1 \
opus=1 \
shoutcast=1 \
modplug=1 \
wv=1 \
ffmpeg=1 \
test=1

Which version or branch are you trying to compile? I strongly recommend to use 'master', which is pretty stable and will become version 2.1 soon (hopefully).

mixxxbot commented 2 years ago

Commented by: eruguru Date: 2016-12-04T22:30:21Z


I just made an attempt to compile off of the master branch a couple hours ago and got a different error: https://bugs.launchpad.net/mixxx/+bug/1647219

How do all of those commands look put together as one line in the terminal? I've never used scons befoere

mixxxbot commented 2 years ago

Commented by: uklotzde Date: 2018-09-21T22:29:57Z


Mixxx 2.1.x compiles without any errors on Fedora 27/28/29/30. Fedora 25 has already reached EOL.

mixxxbot commented 2 years ago

Issue closed with status Invalid.