How to compile without ALSA
I am on FreeBSD, and there is no ALSA.
Could there be a switch to discard ALSA, as it is only needed for MIDI input?
How do I compile without ALSA?
thanks
I am on FreeBSD, and there is no ALSA.
Could there be a switch to discard ALSA, as it is only needed for MIDI input?
How do I compile without ALSA?
thanks
Do you still have an unanswered question? Please log in first to post your question.
Comments
I hacked as far as getting ALSA disabled.
Please, the code should be somehow portable. I have no /proc/cpuinfo on FreeBSD
next:
- I have zip.h in /usr/local/include which is loaded before your zip.h
- I have no log2 function, please add
double log2(double d) {return log(d)/log(2)}
somewhere
In reply to portability by kjhdsifd
I cannot port MuseScore to FreeBSD or other systems because i have no access to these systems and therefore cannot test any change. But if you have any patches that allow this i will happily apply them.
Requirement for this patch is that they have no negative effects on the current system.
For example removing the cpuinfo thing and alway compile with one cpu is not acceptable. Also replacing the buildin log2 function by a (less efficient) macro is not acceptable because it is used in a performace critical path.
Missing ALSA is treated as a fatal bug on unix systems. This should be changed for BSD to no fatal (like for APPLE or MINGW).
In reply to Porting to FreeBSD by [DELETED] 3
that's ok, I was trying to prepare a FreeBSD port which would include the patches. That could also include a log2 function or some other cpu detection.
But now I run into bigger problems it seems:
[ 9%] Built target fluid
[ 9%] Building CXX object mscore/CMakeFiles/mscore.dir/harmony.o
/data/compile/musescore/port/work/mscore-0.9.3/mscore/mscore/harmony.cpp: In member function 'void Harmony::buildText()':
/data/compile/musescore/port/work/mscore-0.9.3/mscore/mscore/harmony.cpp:770: error: expected primary-expression before 'static'
/data/compile/musescore/port/work/mscore-0.9.3/mscore/mscore/harmony.cpp:770: error: expected `;' before 'static'
gmake[2]: *** [mscore/CMakeFiles/mscore.dir/harmony.o] Error 1
[ 9%] Building CXX object mscore/CMakeFiles/mscore.dir/pa.o
/data/compile/musescore/port/work/mscore-0.9.3/mscore/mscore/pa.cpp:43: error: expected ',' or '...' before '*' token
/data/compile/musescore/port/work/mscore-0.9.3/mscore/mscore/pa.cpp:43: error: ISO C++ forbids declaration of 'PaStreamCallbackTimeInfo' with no type
These errors I don't really understand (yet?).
And why does it include alsa.h despite I have ALSA disabled already?
(have (APPLE OR MINGW OR FREEBSD) in mscore/CMakeLists.txt)
[ 9%] Building CXX object mscore/CMakeFiles/mscore.dir/jackaudio.o
In file included from /data/compile/musescore/port/work/mscore-0.9.3/mscore/mscore/jackaudio.cpp:29:
/data/compile/musescore/port/work/mscore-0.9.3/mscore/mscore/alsa.h:38:28: error: alsa/asoundlib.h: No such file or directory
I have jack, but no ALSA. I guess this combination is not provided for...
It seems that I probably will have to give up.
In reply to that's ok, I was trying to by kjhdsifd
What compiler you are using?
The second compiler bug probably means that portaudio.h is wrong (has wrong version?) and does not declare PaStreamCallbackTimeInfo.
Unfortunately JACK works only with ALSA (for midi). This is a bug and i will change that in a later version (probably with JACK midi support).
BTW. you should try to compile the latest svn version.
In reply to What compiler you are by [DELETED] 3
I have
gcc (GCC) 4.2.1 20070719 [FreeBSD]
I could get 4.4.0 for FreeBSD... maybe I need to?
so I would have to disable jack as well
Of course it would be better to take the svn version but I can't make a FreeBSD package out of it
...ok, with gcc 4.4.0 and portaudio 1.9 only one error is left:
mscore/harmony.cpp:770: error: expected primary-expression before 'static'
...I have Qt 4.4.1 btw.
In reply to I havegcc (GCC) 4.2.1 by kjhdsifd
I checked compiling 0.9.3 with qt4.0.0 and gcc 4.3.2 and had no problem. I cannot see from here what may be wrong with
static const QChar majorSym(0x25b3);
in harmony.cpp. Maybe some macro madness?
In reply to I checked compiling 0.9.3 by [DELETED] 3
funny, but it compiles when I take out minor, like this:
void Harmony::buildText()
{
static const QChar majorSym(0x25b3);
/* static const QChar minor(0x2d);*/
static const QChar augmented(0x2b);
static const QChar diminished(0xb0);
In reply to funny, but it compiles when I by kjhdsifd
so there would be 2 final questions:
- How do I avoid conflict with the zip.h in /usr/local/include (where is the include dir sequence set)?
- What files will be installed where, I didn't find a 0.9.3 package for linux to compare