I pushed some changes to link oscpack explicitly. Question for Albert or Stéphane : wasn't liboscpack supposed to be linked statically within libOSCFaust.a or is it only true for libOSCFaust.dylib ?
Le 13 nov. 2014 à 21:29, Oliver Larkin a écrit : > thanks that solved it. Finally (i hope) some linker errors when building > faustlive. Seems like oscpack is not linked correctly > > oli > > > > Undefined symbols for architecture x86_64: > "GetHostByName(char const*)", referenced from: > oscfaust::getIP() in libOSCFaust.a(RootNode.o) > "IpEndpointName::GetHostByName(char const*)", referenced from: > oscfaust::OSCStream::setAddress(std::__1::basic_string<char, > std::__1::char_traits<char>, std::__1::allocator<char> > const&) in > libOSCFaust.a(OSCStream.o) > "SocketReceiveMultiplexer::AsynchronousBreak()", referenced from: > oscfaust::OSCListener::~OSCListener() in libOSCFaust.a(OSCListener.o) > oscfaust::OSCListener::~OSCListener() in libOSCFaust.a(OSCListener.o) > non-virtual thunk to oscfaust::OSCListener::~OSCListener() in > libOSCFaust.a(OSCListener.o) > oscfaust::OSCListener::~OSCListener() in libOSCFaust.a(OSCListener.o) > non-virtual thunk to oscfaust::OSCListener::~OSCListener() in > libOSCFaust.a(OSCListener.o) > oscfaust::OSCListener::stop() in libOSCFaust.a(OSCListener.o) > oscfaust::OSCListener::restart(int) in libOSCFaust.a(OSCListener.o) > ... > "SocketReceiveMultiplexer::AttachSocketListener(UdpSocket*, > PacketListener*)", referenced from: > UdpListeningReceiveSocket::UdpListeningReceiveSocket(IpEndpointName > const&, PacketListener*) in libOSCFaust.a(OSCListener.o) > "SocketReceiveMultiplexer::DetachSocketListener(UdpSocket*, > PacketListener*)", referenced from: > UdpListeningReceiveSocket::~UdpListeningReceiveSocket() in > libOSCFaust.a(OSCListener.o) > "SocketReceiveMultiplexer::Run()", referenced from: > oscfaust::OSCListener::run() in libOSCFaust.a(OSCListener.o) > "SocketReceiveMultiplexer::SocketReceiveMultiplexer()", referenced from: > UdpListeningReceiveSocket::UdpListeningReceiveSocket(IpEndpointName > const&, PacketListener*) in libOSCFaust.a(OSCListener.o) > "SocketReceiveMultiplexer::~SocketReceiveMultiplexer()", referenced from: > UdpListeningReceiveSocket::UdpListeningReceiveSocket(IpEndpointName > const&, PacketListener*) in libOSCFaust.a(OSCListener.o) > UdpListeningReceiveSocket::~UdpListeningReceiveSocket() in > libOSCFaust.a(OSCListener.o) > "osc::EndMessage", referenced from: > oscfaust::OSCStream::end() in libOSCFaust.a(OSCStream.o) > oscfaust::OSCStream::send(unsigned long, int) in > libOSCFaust.a(OSCStream.o) > oscfaust::operator<<(oscfaust::OSCStream&, oscfaust::OSCEnd) in > libOSCFaust.a(OSCStream.o) > "osc::ReceivedBundle::ReceivedBundle(osc::ReceivedPacket const&)", > referenced from: > osc::OscPacketListener::ProcessPacket(char const*, int, IpEndpointName > const&) in libOSCFaust.a(OSCListener.o) > "osc::ReceivedBundle::ReceivedBundle(osc::ReceivedBundleElement const&)", > referenced from: > osc::OscPacketListener::ProcessBundle(osc::ReceivedBundle const&, > IpEndpointName const&) in libOSCFaust.a(OSCListener.o) > "osc::ReceivedMessage::ReceivedMessage(osc::ReceivedPacket const&)", > referenced from: > osc::OscPacketListener::ProcessPacket(char const*, int, IpEndpointName > const&) in libOSCFaust.a(OSCListener.o) > "osc::ReceivedMessage::ReceivedMessage(osc::ReceivedBundleElement const&)", > referenced from: > osc::OscPacketListener::ProcessBundle(osc::ReceivedBundle const&, > IpEndpointName const&) in libOSCFaust.a(OSCListener.o) > "osc::OutboundPacketStream::Clear()", referenced from: > oscfaust::OSCStream::start(char const*) in libOSCFaust.a(OSCStream.o) > "osc::OutboundPacketStream::OutboundPacketStream(char*, unsigned long)", > referenced from: > oscfaust::OSCStream::OSCStream() in libOSCFaust.a(OSCStream.o) > oscfaust::OSCStream::start() in libOSCFaust.a(OSCStream.o) > "osc::OutboundPacketStream::~OutboundPacketStream()", referenced from: > oscfaust::OSCStream::OSCStream() in libOSCFaust.a(OSCStream.o) > oscfaust::OSCStream::~OSCStream() in libOSCFaust.a(OSCStream.o) > oscfaust::OSCStream::~OSCStream() in libOSCFaust.a(OSCStream.o) > "osc::OutboundPacketStream::operator<<(char const*)", referenced from: > oscfaust::OSCControler::run() in libOSCFaust.a(OSCControler.o) > oscfaust::operator<<(oscfaust::OSCStream&, std::__1::basic_string<char, > std::__1::char_traits<char>, std::__1::allocator<char> > const&) in > libOSCFaust.a(OSCStream.o) > oscfaust::RootNode::get(unsigned long, std::__1::basic_string<char, > std::__1::char_traits<char>, std::__1::allocator<char> > const&) const in > libOSCFaust.a(RootNode.o) > oscfaust::RootNode::get(unsigned long) const in libOSCFaust.a(RootNode.o) > "osc::OutboundPacketStream::operator<<(osc::BeginMessage const&)", > referenced from: > oscfaust::OSCStream::start(char const*) in libOSCFaust.a(OSCStream.o) > "osc::OutboundPacketStream::operator<<(osc::MessageTerminator const&)", > referenced from: > oscfaust::OSCStream::end() in libOSCFaust.a(OSCStream.o) > oscfaust::OSCStream::send(unsigned long, int) in > libOSCFaust.a(OSCStream.o) > oscfaust::operator<<(oscfaust::OSCStream&, oscfaust::OSCEnd) in > libOSCFaust.a(OSCStream.o) > "osc::OutboundPacketStream::operator<<(bool)", referenced from: > oscfaust::RootNode::get(unsigned long, std::__1::basic_string<char, > std::__1::char_traits<char>, std::__1::allocator<char> > const&) const in > libOSCFaust.a(RootNode.o) > oscfaust::RootNode::get(unsigned long) const in libOSCFaust.a(RootNode.o) > "osc::OutboundPacketStream::operator<<(float)", referenced from: > oscfaust::FaustNode<float>::sendOSC() const in libOSCFaust.a(FaustNode.o) > oscfaust::FaustNode<double>::sendOSC() const in > libOSCFaust.a(FaustNode.o) > oscfaust::FaustNode<float>::get(unsigned long) const in > libOSCFaust.a(FaustNode.o) > oscfaust::FaustNode<double>::get(unsigned long) const in > libOSCFaust.a(FaustNode.o) > oscfaust::RootNode::get(unsigned long) const in libOSCFaust.a(RootNode.o) > "osc::OutboundPacketStream::operator<<(long)", referenced from: > oscfaust::OSCControler::run() in libOSCFaust.a(OSCControler.o) > oscfaust::RootNode::get(unsigned long, std::__1::basic_string<char, > std::__1::char_traits<char>, std::__1::allocator<char> > const&) const in > libOSCFaust.a(RootNode.o) > oscfaust::RootNode::get(unsigned long) const in libOSCFaust.a(RootNode.o) > oscfaust::RootNode::hello(unsigned long) const in > libOSCFaust.a(RootNode.o) > "osc::ReceivedMessageArgumentIterator::Advance()", referenced from: > oscfaust::OSCListener::ProcessMessage(osc::ReceivedMessage const&, > IpEndpointName const&) in libOSCFaust.a(OSCListener.o) > "oscfaust::OSCControler::OSCControler(int, char**, GUI*, oscfaust::OSCIO*, > void (*)(void*), void*, bool)", referenced from: > OSCUI::OSCUI(char const*, int, char**, oscfaust::OSCIO*, void > (*)(void*), void*, bool) in FLWindow.o > "UdpSocket::Bind(IpEndpointName const&)", referenced from: > UdpListeningReceiveSocket::UdpListeningReceiveSocket(IpEndpointName > const&, PacketListener*) in libOSCFaust.a(OSCListener.o) > "UdpSocket::SendTo(IpEndpointName const&, char const*, int)", referenced > from: > oscfaust::OSCStream::end() in libOSCFaust.a(OSCStream.o) > oscfaust::OSCStream::send(unsigned long, int) in > libOSCFaust.a(OSCStream.o) > oscfaust::operator<<(oscfaust::OSCStream&, oscfaust::OSCEnd) in > libOSCFaust.a(OSCStream.o) > "UdpSocket::UdpSocket()", referenced from: > oscfaust::OSCStream::start() in libOSCFaust.a(OSCStream.o) > "UdpSocket::UdpSocket()", referenced from: > UdpListeningReceiveSocket::UdpListeningReceiveSocket(IpEndpointName > const&, PacketListener*) in libOSCFaust.a(OSCListener.o) > "UdpSocket::~UdpSocket()", referenced from: > UdpListeningReceiveSocket::UdpListeningReceiveSocket(IpEndpointName > const&, PacketListener*) in libOSCFaust.a(OSCListener.o) > UdpListeningReceiveSocket::~UdpListeningReceiveSocket() in > libOSCFaust.a(OSCListener.o) > "osc::ReceivedPacket::IsBundle() const", referenced from: > osc::OscPacketListener::ProcessPacket(char const*, int, IpEndpointName > const&) in libOSCFaust.a(OSCListener.o) > "osc::OutboundPacketStream::Data() const", referenced from: > oscfaust::OSCStream::end() in libOSCFaust.a(OSCStream.o) > oscfaust::OSCStream::send(unsigned long, int) in > libOSCFaust.a(OSCStream.o) > oscfaust::operator<<(oscfaust::OSCStream&, oscfaust::OSCEnd) in > libOSCFaust.a(OSCStream.o) > "osc::OutboundPacketStream::Size() const", referenced from: > oscfaust::OSCStream::end() in libOSCFaust.a(OSCStream.o) > oscfaust::OSCStream::send(unsigned long, int) in > libOSCFaust.a(OSCStream.o) > oscfaust::operator<<(oscfaust::OSCStream&, oscfaust::OSCEnd) in > libOSCFaust.a(OSCStream.o) > "osc::OutboundPacketStream::IsReady() const", referenced from: > oscfaust::OSCStream::start(char const*) in libOSCFaust.a(OSCStream.o) > "osc::ReceivedBundleElement::Size() const", referenced from: > osc::OscPacketListener::ProcessBundle(osc::ReceivedBundle const&, > IpEndpointName const&) in libOSCFaust.a(OSCListener.o) > "osc::ReceivedBundleElement::IsBundle() const", referenced from: > osc::OscPacketListener::ProcessBundle(osc::ReceivedBundle const&, > IpEndpointName const&) in libOSCFaust.a(OSCListener.o) > "osc::ReceivedMessageArgument::AsFloatUnchecked() const", referenced from: > oscfaust::OSCListener::ProcessMessage(osc::ReceivedMessage const&, > IpEndpointName const&) in libOSCFaust.a(OSCListener.o) > "osc::ReceivedMessageArgument::AsInt32Unchecked() const", referenced from: > oscfaust::OSCListener::ProcessMessage(osc::ReceivedMessage const&, > IpEndpointName const&) in libOSCFaust.a(OSCListener.o) > "typeinfo for UdpSocket", referenced from: > typeinfo for UdpListeningReceiveSocket in libOSCFaust.a(OSCListener.o) > ld: symbol(s) not found for architecture x86_64 > clang: error: linker command failed with exit code 1 (use -v to see > invocation) > make[2]: *** [FaustLive.app/Contents/MacOS/FaustLive] Error 1 > make[1]: *** [all] Error 2 > make: *** [all] Error 2 > olmbp3:faustlive oli$ > > > > > > > On 13 Nov 2014, at 14:30, Stéphane Letz <l...@grame.fr> wrote: > >> You have to "universal" version of LLVM, like: >> >> "sudo port install llvm-3.4 +universal" >> >> Stéphane >> >> Le 13 nov. 2014 à 15:26, Oliver Larkin <olilar...@googlemail.com> a écrit : >> >>> thanks, >>> >>> I get a bit further with llvm/clang 3.5 from macports.. but have some >>> linker errors. going to try 3.4 next! >>> >>> oli >>> >>> errors... >>> >>> >>> "llvm::Module::getTypeByName(llvm::StringRef) const", referenced from: >>> LLVMTypeHelper::convertFIRType(llvm::Module*, Typed*) in >>> llvm_code_container.o >>> "llvm::Module::dump() const", referenced from: >>> llvm_dsp_factory::initJIT(std::__1::basic_string<char, >>> std::__1::char_traits<char>, std::__1::allocator<char> >&) in llvm_dsp_aux.o >>> "llvm::Module::print(llvm::raw_ostream&, llvm::AssemblyAnnotationWriter*) >>> const", referenced from: >>> generateCode(CTree*, int, int, bool) in libmain.o >>> "llvm::PHINode::allocHungoffUses(unsigned int) const", referenced from: >>> LLVMInstVisitor::visit(ForLoopInst*) in llvm_code_container.o >>> "llvm::Function::getContext() const", referenced from: >>> LLVMInstVisitor::visit(DeclareFunInst*) in llvm_code_container.o >>> "llvm::Function::BuildLazyArguments() const", referenced from: >>> LLVMCodeContainer::generateFillBegin(std::__1::basic_string<char, >>> std::__1::char_traits<char>, std::__1::allocator<char> > const&) in >>> llvm_code_container.o >>> LLVMCodeContainer::generateComputeBegin(std::__1::basic_string<char, >>> std::__1::char_traits<char>, std::__1::allocator<char> > const&) in >>> llvm_code_container.o >>> LLVMCodeContainer::generateGetSampleRate(int) in llvm_code_container.o >>> LLVMCodeContainer::generateClassInitBegin() in llvm_code_container.o >>> LLVMCodeContainer::generateInstanceInitBegin(bool) in >>> llvm_code_container.o >>> LLVMCodeContainer::generateInitFun() in llvm_code_container.o >>> LLVMCodeContainer::generateMetadata(llvm::PointerType*) in >>> llvm_code_container.o >>> ... >>> "typeinfo for llvm::ObjectCache", referenced from: >>> typeinfo for FaustObjectCache in llvm_dsp_aux.o >>> "vtable for llvm::SelectInst", referenced from: >>> llvm::IRBuilder<true, llvm::ConstantFolder, >>> llvm::IRBuilderDefaultInserter<true> >::CreateSelect(llvm::Value*, >>> llvm::Value*, llvm::Value*, llvm::Twine const&) in llvm_code_container.o >>> NOTE: a missing vtable usually means the first non-inline virtual member >>> function has no definition. >>> "vtable for llvm::GetElementPtrInst", referenced from: >>> llvm::GetElementPtrInst::Create(llvm::Value*, >>> llvm::ArrayRef<llvm::Value*>, llvm::Twine const&, llvm::Instruction*) in >>> llvm_code_container.o >>> LLVMTypeInstVisitor::generateMemory(llvm::PointerType*, bool) in >>> llvm_code_container.o >>> NOTE: a missing vtable usually means the first non-inline virtual member >>> function has no definition. >>> "vtable for llvm::raw_string_ostream", referenced from: >>> llvm_dsp_factory::writeDSPFactoryToBitcode() in llvm_dsp_aux.o >>> llvm_dsp_factory::writeDSPFactoryToIR() in llvm_dsp_aux.o >>> _writeCDSPFactoryToBitcode in llvm_dsp_aux.o >>> NOTE: a missing vtable usually means the first non-inline virtual member >>> function has no definition. >>> "vtable for llvm::PHINode", referenced from: >>> LLVMInstVisitor::visit(ForLoopInst*) in llvm_code_container.o >>> NOTE: a missing vtable usually means the first non-inline virtual member >>> function has no definition. >>> "vtable for llvm::CallInst", referenced from: >>> llvm::CallInst::CallInst(llvm::Value*, llvm::ArrayRef<llvm::Value*>, >>> llvm::Twine const&, llvm::Instruction*) in llvm_code_container.o >>> llvm::CallInst::CallInst(llvm::Value*, llvm::ArrayRef<llvm::Value*>, >>> llvm::Twine const&, llvm::BasicBlock*) in llvm_code_container.o >>> NOTE: a missing vtable usually means the first non-inline virtual member >>> function has no definition. >>> "vtable for llvm::FCmpInst", referenced from: >>> llvm::FCmpInst::FCmpInst(llvm::CmpInst::Predicate, llvm::Value*, >>> llvm::Value*, llvm::Twine const&) in llvm_code_container.o >>> NOTE: a missing vtable usually means the first non-inline virtual member >>> function has no definition. >>> "vtable for llvm::ICmpInst", referenced from: >>> llvm::ICmpInst::ICmpInst(llvm::CmpInst::Predicate, llvm::Value*, >>> llvm::Value*, llvm::Twine const&) in llvm_code_container.o >>> NOTE: a missing vtable usually means the first non-inline virtual member >>> function has no definition. >>> ld: symbol(s) not found for architecture i386 >>> clang: error: linker command failed with exit code 1 (use -v to see >>> invocation) >>> >>> >>> On 13 Nov 2014, at 13:54, Stéphane Letz <l...@grame.fr> wrote: >>> >>>> Use older LLVM version: I would say 3.4 or 3.5 >>>> >>>> Stéphane >>>> >>>> >>>> Le 13 nov. 2014 à 14:45, Oliver Larkin <olilar...@googlemail.com> a écrit : >>>> >>>>> i’m trying to build Faustlive which i assume requires the faust2 branch. >>>>> Is that correct? >>>>> >>>>> if so - when i try and call make on the faust2 branch i get an error: >>>>> >>>>> olmbp3:faust oli$ make >>>>> /Applications/Xcode.app/Contents/Developer/usr/bin/make -C compiler -f >>>>> Makefile.unix prefix=/usr/local >>>>> clang++ -O1 -g -Wall -Wuninitialized -Wno-parentheses -I. -Iboxes >>>>> -Ierrors -Ievaluate -Inormalize -Iparser -Ipropagate -Iparallelize >>>>> -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended >>>>> -Ipatternmatcher -Idocumentator -Iutils -I../libraries -Igenerator >>>>> -Igenerator/asmjs -Igenerator/c -Igenerator/cpp -Igenerator/java >>>>> -Igenerator/js -Igenerator/llvm -Igenerator/fir >>>>> -DINSTALL_PREFIX='"/usr/local"' -O3 -Wall -Wuninitialized >>>>> -fvisibility=hidden -Wno-overloaded-virtual -Wno-parentheses -I. -Iboxes >>>>> -Ierrors -Ievaluate -Inormalize -Iparser -Ipropagate -Iparallelize >>>>> -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended >>>>> -Ipatternmatcher -Idocumentator -Iutils -I../libraries -Igenerator >>>>> -Igenerator/asmjs -Igenerator/c -Igenerator/cpp -Igenerator/java >>>>> -Igenerator/js -Igenerator/llvm -Igenerator/fir >>>>> -DINSTALL_PREFIX='"/usr/local"' -I`/opt/local/bin/llvm-config-mp-3.6 >>>>> --includedir` -I../architecture -D3.6.0svn -D__STDC_LIMIT_MACROS >>>>> -D__STDC_CONSTANT_MACROS -arch i386 -arch x86_64 -c -o >>>>> boxes/boxcomplexity.o boxes/boxcomplexity.cpp >>>>> In file included from <built-in>:170: >>>>> <command line>:3:9: error: macro names must be identifiers >>>>> #define 3.6.0svn 1 >>>>> >>>>> any ideas? >>>>> >>>>> thanks >>>>> >>>>> oli >>>>> ------------------------------------------------------------------------------ >>>>> Comprehensive Server Monitoring with Site24x7. >>>>> Monitor 10 servers for $9/Month. >>>>> Get alerted through email, SMS, voice calls or mobile push notifications. >>>>> Take corrective actions from your mobile device. >>>>> http://pubads.g.doubleclick.net/gampad/clk?id=154624111&iu=/4140/ostg.clktrk >>>>> _______________________________________________ >>>>> Faudiostream-devel mailing list >>>>> Faudiostream-devel@lists.sourceforge.net >>>>> https://lists.sourceforge.net/lists/listinfo/faudiostream-devel >>>> >>> >> > > > ------------------------------------------------------------------------------ > Comprehensive Server Monitoring with Site24x7. > Monitor 10 servers for $9/Month. > Get alerted through email, SMS, voice calls or mobile push notifications. > Take corrective actions from your mobile device. > http://pubads.g.doubleclick.net/gampad/clk?id=154624111&iu=/4140/ostg.clktrk > _______________________________________________ > Faudiostream-devel mailing list > Faudiostream-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/faudiostream-devel ------------------------------------------------------------------------------ Comprehensive Server Monitoring with Site24x7. Monitor 10 servers for $9/Month. Get alerted through email, SMS, voice calls or mobile push notifications. Take corrective actions from your mobile device. http://pubads.g.doubleclick.net/gampad/clk?id=154624111&iu=/4140/ostg.clktrk _______________________________________________ Faudiostream-devel mailing list Faudiostream-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/faudiostream-devel