Open hselasky opened 2 years ago
Isn't it because the programs are installed in /usr/local on freebsd, no?
locate Xlib.h /usr/local/include/X11/Xlib.h
Yes, that's correct.
Try running cmake with these options:
CFLAGS="-I/usr/local/include" CXXFLAGS="-I/usr/local/include" LDFLAGS="-L/usr/local/lib" cmake ..
That should get you headed in the right direction....
Can we solve this by modifying the file deps/juce/extras/Build/juceaide/CMakeLists.txt ?
From what I can see, FreeBSD sets a variable called CMAKE_PREFIX_PATH. If you could use that, would be great!
/usr/ports/Mk/Uses/localbase.mk:CONFIGURE_ENV+= CMAKE_PREFIX_PATH="${LOCALBASE}"
Ok, when I make with these flags, I obtain these errors
CFLAGS="-I/usr/local/include" CXXFLAGS="-I/usr/local/include" LDFLAGS="-L/usr/local/lib" cmake ..
[ 72%] Building CXX object CMakeFiles/SonoBus.dir/Source/SonobusPluginProcessor.cpp.o
/usr/home/phil/work/sonobus-1.5.1/Source/SonobusPluginEditor.cpp:2471:14: warning: 'replaceWith' is deprecated: Use the replaceAll method instead, which will
also replace the data when numBytes == 0. [-Wdeprecated-declarations]
data.replaceWith(filtxml.toUTF8(), filtxml.getNumBytesAsUTF8());
^
/usr/home/phil/work/sonobus-1.5.1/deps/juce/modules/juce_core/memory/juce_MemoryBlock.h:273:7: note: 'replaceWith' has been explicitly marked deprecated here
[[deprecated ("Use the replaceAll method instead, which will also replace the data when numBytes == 0.")]]
^
/usr/home/phil/work/sonobus-1.5.1/Source/SonobusPluginEditor.cpp:2471:14: warning: 'replaceWith' is deprecated: Use the replaceAll method instead, which will
also replace the data when numBytes == 0. [-Wdeprecated-declarations]
data.replaceWith(filtxml.toUTF8(), filtxml.getNumBytesAsUTF8());
^
/usr/home/phil/work/sonobus-1.5.1/deps/juce/modules/juce_core/memory/juce_MemoryBlock.h:273:7: note: 'replaceWith' has been explicitly marked deprecated here
[[deprecated ("Use the replaceAll method instead, which will also replace the data when numBytes == 0.")]]
^
/usr/home/phil/work/sonobus-1.5.1/Source/SonobusPluginProcessor.cpp:159:43: error: member access into incomplete type 'struct sockaddr_in'
return &(((struct sockaddr_in)sa)->sin_addr);
^
/usr/home/phil/work/sonobus-1.5.1/Source/SonobusPluginProcessor.cpp:159:27: note: forward declaration of 'sockaddr_in'
return &(((struct sockaddr_in)sa)->sin_addr);
^
/usr/home/phil/work/sonobus-1.5.1/Source/SonobusPluginProcessor.cpp:160:40: error: member access into incomplete type 'struct sockaddr_in6'
return &(((struct sockaddr_in6)sa)->sin6_addr);
^
/usr/home/phil/work/sonobus-1.5.1/Source/SonobusPluginProcessor.cpp:160:23: note: forward declaration of 'sockaddr_in6'
return &(((struct sockaddr_in6)sa)->sin6_addr);
^
/usr/home/phil/work/sonobus-1.5.1/Source/SonobusPluginProcessor.cpp:166:42: error: member access into incomplete type 'struct sockaddr_in'
return (((struct sockaddr_in)sa)->sin_port);
^
/usr/home/phil/work/sonobus-1.5.1/Source/SonobusPluginProcessor.cpp:166:26: note: forward declaration of 'sockaddr_in'
return (((struct sockaddr_in)sa)->sin_port);
^
/usr/home/phil/work/sonobus-1.5.1/Source/SonobusPluginProcessor.cpp:168:39: error: member access into incomplete type 'struct sockaddr_in6'
return (((struct sockaddr_in6)sa)->sin6_port);
^
/usr/home/phil/work/sonobus-1.5.1/Source/SonobusPluginProcessor.cpp:168:22: note: forward declaration of 'sockaddr_in6'
return (((struct sockaddr_in6)sa)->sin6_port);
^
/usr/home/phil/work/sonobus-1.5.1/Source/SonobusPluginProcessor.cpp:392:101: error: invalid application of 'sizeof' to an incomplete type 'struct sockaddr_in'
result = (int) ::sendto(endpoint->owner->getRawSocketHandle(), data, (size_t)size, 0, addr, sizeof(struct sockaddr_in));
^ ~~~~
/usr/home/phil/work/sonobus-1.5.1/Source/SonobusPluginProcessor.cpp:392:115: note: forward declaration of 'sockaddr_in'
result = (int) ::sendto(endpoint->owner->getRawSocketHandle(), data, (size_t)size, 0, addr, sizeof(struct sockaddr_in));
^
/usr/home/phil/work/sonobus-1.5.1/Source/SonobusPluginProcessor.cpp:8824:63: warning: 'createInputStream' is deprecated: New code should use the method which
takes an InputStreamOptions argument instead. [-Wdeprecated-declarations]
reader = mFormatManager.createReaderFor (audioURL.createInputStream (false));
^
/usr/home/phil/work/sonobus-1.5.1/deps/juce/modules/juce_core/network/juce_URL.h:669:7: note: 'createInputStream' has been explicitly marked deprecated here
[[deprecated ("New code should use the method which takes an InputStreamOptions argument instead.")]]
^
1 warning and 5 errors generated.
gmake[2]: [CMakeFiles/SonoBus.dir/build.make:528 : CMakeFiles/SonoBus.dir/Source/SonobusPluginProcessor.cpp.o] Erreur 1
gmake[2]: Attente des tâches non terminées....
[ 72%] Building CXX object CMakeFiles/SonoBusInst.dir/Source/SonobusPluginProcessor.cpp.o
1 warning generated.
gmake[1]: [CMakeFiles/Makefile2:161 : CMakeFiles/SonoBus.dir/all] Erreur 2
gmake[1]: Attente des tâches non terminées....
[ 72%] Building CXX object CMakeFiles/SonoBusInst.dir/Source/VersionInfo.cpp.o
1 warning generated.
[ 73%] Building CXX object CMakeFiles/SonoBusInst.dir/deps/aoo/lib/src/client.cpp.o
/usr/home/phil/work/sonobus-1.5.1/Source/VersionInfo.cpp:30:54: warning: 'createInputStream' is deprecated: New code should use the method which takes an Inpu
tStreamOptions argument instead. [-Wdeprecated-declarations]
return std::unique_ptr
^
/usr/home/phil/work/sonobus-1.5.1/deps/juce/modules/juce_core/network/juce_URL.h:669:7: note: 'createInputStream' has been explicitly marked deprecated here
[[deprecated ("New code should use the method which takes an InputStreamOptions argument instead.")]]
^
/usr/home/phil/work/sonobus-1.5.1/Source/VersionInfo.cpp:78:61: warning: 'createInputStream' is deprecated: New code should use the method which takes an Inpu
tStreamOptions argument instead. [-Wdeprecated-declarations]
std::unique_ptr
^
/usr/home/phil/work/sonobus-1.5.1/deps/juce/modules/juce_core/network/juce_URL.h:669:7: note: 'createInputStream' has been explicitly marked deprecated here
[[deprecated ("New code should use the method which takes an InputStreamOptions argument instead.")]]
^
2 warnings generated.
[ 73%] Building CXX object CMakeFiles/SonoBusInst.dir/deps/aoo/lib/src/codec_opus.cpp.o
[ 73%] Building CXX object CMakeFiles/SonoBusInst.dir/deps/aoo/lib/src/codec_pcm.cpp.o
/usr/home/phil/work/sonobus-1.5.1/Source/SonobusPluginProcessor.cpp:159:43: error: member access into incomplete type 'struct sockaddr_in'
return &(((struct sockaddr_in)sa)->sin_addr);
^
/usr/home/phil/work/sonobus-1.5.1/Source/SonobusPluginProcessor.cpp:159:27: note: forward declaration of 'sockaddr_in'
return &(((struct sockaddr_in)sa)->sin_addr);
^
/usr/home/phil/work/sonobus-1.5.1/Source/SonobusPluginProcessor.cpp:160:40: error: member access into incomplete type 'struct sockaddr_in6'
return &(((struct sockaddr_in6)sa)->sin6_addr);
^
/usr/home/phil/work/sonobus-1.5.1/Source/SonobusPluginProcessor.cpp:160:23: note: forward declaration of 'sockaddr_in6'
return &(((struct sockaddr_in6)sa)->sin6_addr);
^
/usr/home/phil/work/sonobus-1.5.1/Source/SonobusPluginProcessor.cpp:166:42: error: member access into incomplete type 'struct sockaddr_in'
return (((struct sockaddr_in)sa)->sin_port);
^
/usr/home/phil/work/sonobus-1.5.1/Source/SonobusPluginProcessor.cpp:166:26: note: forward declaration of 'sockaddr_in'
return (((struct sockaddr_in)sa)->sin_port);
/usr/home/phil/work/sonobus-1.5.1/Source/SonobusPluginProcessor.cpp:168:39: error: member access into incomplete type 'struct sockaddr_in6'
return (((struct sockaddr_in6)sa)->sin6_port);
^
/usr/home/phil/work/sonobus-1.5.1/Source/SonobusPluginProcessor.cpp:168:22: note: forward declaration of 'sockaddr_in6'
return (((struct sockaddr_in6)sa)->sin6_port);
^
/usr/home/phil/work/sonobus-1.5.1/Source/SonobusPluginProcessor.cpp:392:101: error: invalid application of 'sizeof' to an incomplete type 'struct sockaddr_in'
result = (int) ::sendto(endpoint->owner->getRawSocketHandle(), data, (size_t)size, 0, addr, sizeof(struct sockaddr_in));
^ ~~~~
/usr/home/phil/work/sonobus-1.5.1/Source/SonobusPluginProcessor.cpp:392:115: note: forward declaration of 'sockaddr_in'
result = (int) ::sendto(endpoint->owner->getRawSocketHandle(), data, (size_t)size, 0, addr, sizeof(struct sockaddr_in));
^
/usr/home/phil/work/sonobus-1.5.1/Source/SonobusPluginProcessor.cpp:8824:63: warning: 'createInputStream' is deprecated: New code should use the method which takes an InputStreamOptions argument instead. [-Wdeprecated-declarations]
reader = mFormatManager.createReaderFor (audioURL.createInputStream (false));
^
/usr/home/phil/work/sonobus-1.5.1/deps/juce/modules/juce_core/network/juce_URL.h:669:7: note: 'createInputStream' has been explicitly marked deprecated here
[[deprecated ("New code should use the method which takes an InputStreamOptions argument instead.")]]
^
/usr/home/phil/work/sonobus-1.5.1/deps/aoo/lib/src/codec_pcm.cpp:56:25: warning: implicit conversion from 'int' to 'float' changes value from 2147483647 to 2147483648 [-Wimplicit-const-int-float-conversion]
int32_t temp = in * 0x7fffffff + 0.5f;
~ ^~~~~~
/usr/home/phil/work/sonobus-1.5.1/deps/aoo/lib/src/codec_pcm.cpp:106:32: warning: implicit conversion from 'int' to 'float' changes value from 2147483647 to 2147483648 [-Wimplicit-const-int-float-conversion]
return (aoo_sample)c.i32 / 0x7fffffff;
~ ^~~~~~
[ 74%] Building CXX object CMakeFiles/SonoBusInst.dir/deps/aoo/lib/src/common.cpp.o
2 warnings generated.
[ 74%] Building CXX object CMakeFiles/SonoBusInst.dir/deps/aoo/lib/src/net_utils.cpp.o
[ 74%] Building CXX object CMakeFiles/SonoBusInst.dir/deps/aoo/lib/src/server.cpp.o
[ 75%] Building CXX object CMakeFiles/SonoBusInst.dir/deps/aoo/lib/src/sink.cpp.o
1 warning and 5 errors generated.
gmake[2]: [CMakeFiles/SonoBusInst.dir/build.make:528 : CMakeFiles/SonoBusInst.dir/Source/SonobusPluginProcessor.cpp.o] Erreur 1
gmake[2]: Attente des tâches non terminées....
gmake[1]: [CMakeFiles/Makefile2:294 : CMakeFiles/SonoBusInst.dir/all] Erreur 2
gmake: [Makefile:136 : all] Erreur 2
Try to add:
#include <netinet/in.h>
To resolve the missing sockaddr_in/in6 structure.
Yesss!
Now I have this " #error To build JUCE VST3 plug-ins on BSD you must use an external BSD-compatible VST3 SDK with JUCE_CUSTOM_VST3_SDK=1"
audio/vst3sdk is built, but I don't know where I should put JUCE_CUSTOM_VST3_SDK=1
Hi,
I'm trying to build SonoBus under FreeBSD, but it fails.
The reason is that many headers and libraries are installed under /usr/local/include and /usr/local/lib, instead of /usr/include and /usr/lib.
Anyone knows how I can patch those directories into the build system?
--HPS