Mixxx Fedora25 Compiling Error fpclassify.h

Bug #1646970 reported by Eru
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Mixxx
Invalid
Low
Unassigned

Bug Description

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!

Revision history for this message
Eru (eruguru) wrote :

This attached document is more of the same log

Revision history for this message
Uwe Klotz (uklotzde-deactivatedaccount) wrote :

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

Revision history for this message
Eru (eruguru) wrote :

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.

Revision history for this message
Eru (eruguru) wrote :

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

Revision history for this message
Uwe Klotz (uklotzde-deactivatedaccount) wrote :

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).

Revision history for this message
Eru (eruguru) wrote :

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

Be (be.ing)
Changed in mixxx:
status: New → Incomplete
RJ Skerry-Ryan (rryan)
Changed in mixxx:
importance: Undecided → Low
Revision history for this message
Uwe Klotz (uklotzde-deactivatedaccount) wrote :

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

Changed in mixxx:
status: Incomplete → Invalid
Revision history for this message
Swiftb0y (swiftb0y) wrote :

Mixxx now uses GitHub for bug tracking. This bug has been migrated to:
https://github.com/mixxxdj/mixxx/issues/8704

lock status: Metadata changes locked and limited to project staff
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.