Open muni-corn opened 3 years ago
I think it is ok for us to package this, but we need to install some kind of license with the package to note the commerical exception, and potentially add something in INSTALL.msg (probably unnessecary) regarding this.
Okay, I'm at a loss here. I got linuxsampler to compile successfully ONCE and I don't know what I did right. All other times it has ended with this log:
/bin/sh ../libtool --tag=CXX --mode=link g++ -Wreturn-type -ffast-math -fstack-clash-protection -D_FORTIFY_SOURCE=2 -mtune=g
eneric -O2 -pipe -pthread -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -o linuxsampler linuxsampler.o liblinuxsampler.la
libtool: link: g++ -Wreturn-type -ffast-math -fstack-clash-protection -D_FORTIFY_SOURCE=2 -mtune=generic -O2 -pipe -pthread -Wl,
-z -Wl,relro -Wl,-z -Wl,now -Wl,--as-needed -o .libs/linuxsampler linuxsampler.o ./.libs/liblinuxsampler.so -pthread -Wl,-rpath
-Wl,/usr/lib/linuxsampler
/usr/bin/ld: warning: libgig.so.9, needed by ./.libs/liblinuxsampler.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: ./.libs/liblinuxsampler.so: undefined reference to `gig::Sample::LoadSampleDataWithNullSamplesExtension(unsigned in
t)'
/usr/bin/ld: ./.libs/liblinuxsampler.so: undefined reference to `gig::Sample::SetPos(unsigned long, RIFF::stream_whence_t)'
/usr/bin/ld: ./.libs/liblinuxsampler.so: undefined reference to `sf2::Region::GetEG2Decay(sf2::Region*)'
/usr/bin/ld: ./.libs/liblinuxsampler.so: undefined reference to `sf2::Region::GetEG1PreAttackDelay(sf2::Region*)'
/usr/bin/ld: ./.libs/liblinuxsampler.so: undefined reference to `DLS::File::GetExtensionFile(int)'
/usr/bin/ld: ./.libs/liblinuxsampler.so: undefined reference to `sf2::ToRatio(int)'
/usr/bin/ld: ./.libs/liblinuxsampler.so: undefined reference to `sf2::Region::GetEG1Decay(sf2::Region*)'
/usr/bin/ld: ./.libs/liblinuxsampler.so: undefined reference to `sf2::Sample::LoadSampleData(unsigned long)'
/usr/bin/ld: ./.libs/liblinuxsampler.so: undefined reference to `sf2::Region::GetDelayModLfo(sf2::Region*)'
/usr/bin/ld: ./.libs/liblinuxsampler.so: undefined reference to `gig::Instrument::GetRegion(unsigned int)'
/usr/bin/ld: ./.libs/liblinuxsampler.so: undefined reference to `sf2::Region::GetFreqModLfo(sf2::Region*)'
/usr/bin/ld: ./.libs/liblinuxsampler.so: undefined reference to `gig::Instrument::DeleteRegion(gig::Region*)'
/usr/bin/ld: ./.libs/liblinuxsampler.so: undefined reference to `sf2::Region::GetFineTune(sf2::Region*)'
/usr/bin/ld: ./.libs/liblinuxsampler.so: undefined reference to `gig::Instrument::GetFirstRegion()'
/usr/bin/ld: ./.libs/liblinuxsampler.so: undefined reference to `gig::Script::GetScriptAsText[abi:cxx11]()'
/usr/bin/ld: ./.libs/liblinuxsampler.so: undefined reference to `gig::Sample::GetCache()'
/usr/bin/ld: ./.libs/liblinuxsampler.so: undefined reference to `sf2::Sample::GetTotalFrameCount()'
/usr/bin/ld: ./.libs/liblinuxsampler.so: undefined reference to `sf2::Region::GetEG1Release(sf2::Region*)'
/usr/bin/ld: ./.libs/liblinuxsampler.so: undefined reference to `typeinfo for DLS::File'
/usr/bin/ld: ./.libs/liblinuxsampler.so: undefined reference to `sf2::File::~File()'
/usr/bin/ld: ./.libs/liblinuxsampler.so: undefined reference to `typeinfo for gig::MidiRuleCtrlTrigger'
/usr/bin/ld: ./.libs/liblinuxsampler.so: undefined reference to `sf2::Region::GetEG2Attack(sf2::Region*)'
/usr/bin/ld: ./.libs/liblinuxsampler.so: undefined reference to `sf2::Sample::ReadAndLoop(void*, unsigned long, sf2::Sample::Pla
ybackState*, sf2::Region*)'
/usr/bin/ld: ./.libs/liblinuxsampler.so: undefined reference to `gig::Instrument::ScriptSlotCount() const'
/usr/bin/ld: ./.libs/liblinuxsampler.so: undefined reference to `sf2::Sample::LoadSampleDataWithNullSamplesExtension(unsigned in
t)'
/usr/bin/ld: ./.libs/liblinuxsampler.so: undefined reference to `sf2::Query::Query(sf2::InstrumentBase&)'
/usr/bin/ld: ./.libs/liblinuxsampler.so: undefined reference to `gig::Instrument::GetScriptOfSlot(unsigned int)'
/usr/bin/ld: ./.libs/liblinuxsampler.so: undefined reference to `sf2::Sample::GetFrameSize()'
/usr/bin/ld: ./.libs/liblinuxsampler.so: undefined reference to `gig::Sample::DestroyDecompressionBuffer(gig::buffer_t&)'
/usr/bin/ld: ./.libs/liblinuxsampler.so: undefined reference to `gig::Sample::CreateDecompressionBuffer(unsigned long)'
/usr/bin/ld: ./.libs/liblinuxsampler.so: undefined reference to `sf2::Region::GetPan(sf2::Region*)'
/usr/bin/ld: ./.libs/liblinuxsampler.so: undefined reference to `gig::File::GetNextSample()'
/usr/bin/ld: ./.libs/liblinuxsampler.so: undefined reference to `sf2::Region::GetInitialFilterFc(sf2::Region*)'
/usr/bin/ld: ./.libs/liblinuxsampler.so: undefined reference to `sf2::Region::GetEG1Sustain(sf2::Region*)'
/usr/bin/ld: ./.libs/liblinuxsampler.so: undefined reference to `sf2::File::GetPreset(int)'
/usr/bin/ld: ./.libs/liblinuxsampler.so: undefined reference to `gig::Region::GetDimensionRegionByValue(unsigned int const*)'
/usr/bin/ld: ./.libs/liblinuxsampler.so: undefined reference to `sf2::Region::GetDelayVibLfo(sf2::Region*)'
/usr/bin/ld: ./.libs/liblinuxsampler.so: undefined reference to `gig::File::GetNextInstrument()'
/usr/bin/ld: ./.libs/liblinuxsampler.so: undefined reference to `sf2::Region::GetModLfoToFilterFc(sf2::Region*)'
/usr/bin/ld: ./.libs/liblinuxsampler.so: undefined reference to `sf2::Region::GetEG2Hold(sf2::Region*)'
/usr/bin/ld: ./.libs/liblinuxsampler.so: undefined reference to `sf2::Region::GetEG1Attack(sf2::Region*)'
/usr/bin/ld: ./.libs/liblinuxsampler.so: undefined reference to `sf2::Region::GetModEnvToFilterFc(sf2::Region*)'
/usr/bin/ld: ./.libs/liblinuxsampler.so: undefined reference to `gig::File::SetAutoLoad(bool)'
/usr/bin/ld: ./.libs/liblinuxsampler.so: undefined reference to `gig::Instrument::GetNextRegion()'
/usr/bin/ld: ./.libs/liblinuxsampler.so: undefined reference to `RIFF::File::GetFileName[abi:cxx11]() const'
/usr/bin/ld: ./.libs/liblinuxsampler.so: undefined reference to `sf2::Sample::GetCache()'
/usr/bin/ld: ./.libs/liblinuxsampler.so: undefined reference to `gig::File::GetFirstInstrument()'
/usr/bin/ld: ./.libs/liblinuxsampler.so: undefined reference to `RIFF::File::File(std::__cxx11::basic_string<char, std::char_tra
its<char>, std::allocator<char> > const&)'
/usr/bin/ld: ./.libs/liblinuxsampler.so: undefined reference to `sf2::Region::GetCoarseTune(sf2::Region*)'
/usr/bin/ld: ./.libs/liblinuxsampler.so: undefined reference to `sf2::File::DeleteSample(sf2::Sample*)'
/usr/bin/ld: ./.libs/liblinuxsampler.so: undefined reference to `sf2::Sample::SetPos(unsigned long)'
/usr/bin/ld: ./.libs/liblinuxsampler.so: undefined reference to `gig::File::GetFirstSample(RIFF::progress_t*)'
/usr/bin/ld: ./.libs/liblinuxsampler.so: undefined reference to `sf2::Instrument::DeleteRegion(sf2::Region*)'
/usr/bin/ld: ./.libs/liblinuxsampler.so: undefined reference to `typeinfo for gig::File'
/usr/bin/ld: ./.libs/liblinuxsampler.so: undefined reference to `sf2::Query::next()'
/usr/bin/ld: ./.libs/liblinuxsampler.so: undefined reference to `sf2::Region::GetFreqVibLfo(sf2::Region*)'
/usr/bin/ld: ./.libs/liblinuxsampler.so: undefined reference to `sf2::File::GetPresetCount()'
/usr/bin/ld: ./.libs/liblinuxsampler.so: undefined reference to `sf2::Region::GetEG2Sustain(sf2::Region*)'
/usr/bin/ld: ./.libs/liblinuxsampler.so: undefined reference to `sf2::File::HasSamples()'
/usr/bin/ld: ./.libs/liblinuxsampler.so: undefined reference to `gig::Sample::GetPos() const'
/usr/bin/ld: ./.libs/liblinuxsampler.so: undefined reference to `RIFF::progress_t::progress_t()'
/usr/bin/ld: ./.libs/liblinuxsampler.so: undefined reference to `sf2::Sample::GetChannelCount()'
/usr/bin/ld: ./.libs/liblinuxsampler.so: undefined reference to `sf2::File::File(RIFF::File*)'
/usr/bin/ld: ./.libs/liblinuxsampler.so: undefined reference to `gig::Instrument::GetMidiRule(int)'
/usr/bin/ld: ./.libs/liblinuxsampler.so: undefined reference to `sf2::Sample::Read(void*, unsigned long)'
/usr/bin/ld: ./.libs/liblinuxsampler.so: undefined reference to `sf2::Region::GetVibLfoToPitch(sf2::Region*)'
/usr/bin/ld: ./.libs/liblinuxsampler.so: undefined reference to `gig::libraryVersion[abi:cxx11]()'
/usr/bin/ld: ./.libs/liblinuxsampler.so: undefined reference to `sf2::Region::GetEG2PreAttackDelay(sf2::Region*)'
/usr/bin/ld: ./.libs/liblinuxsampler.so: undefined reference to `gig::Sample::ReadAndLoop(void*, unsigned long, gig::playback_st
ate_t*, gig::DimensionRegion*, gig::buffer_t*)'
/usr/bin/ld: ./.libs/liblinuxsampler.so: undefined reference to `sf2::File::DeleteInstrument(sf2::Instrument*)'
/usr/bin/ld: ./.libs/liblinuxsampler.so: undefined reference to `sf2::File::GetSample(int)'
/usr/bin/ld: ./.libs/liblinuxsampler.so: undefined reference to `sf2::InstrumentBase::GetRegionCount()'
/usr/bin/ld: ./.libs/liblinuxsampler.so: undefined reference to `gig::File::DeleteInstrument(gig::Instrument*)'
/usr/bin/ld: ./.libs/liblinuxsampler.so: undefined reference to `sf2::Region::GetEG2Release(sf2::Region*)'
/usr/bin/ld: ./.libs/liblinuxsampler.so: undefined reference to `gig::Region::GetSample()'
/usr/bin/ld: ./.libs/liblinuxsampler.so: undefined reference to `gig::Region::GetDimensionRegionIndexByValue(unsigned int
)'
/usr/bin/ld: ./.libs/liblinuxsampler.so: undefined reference to `sf2::Region::GetModLfoToVolume(sf2::Region*)'
/usr/bin/ld: ./.libs/liblinuxsampler.so: undefined reference to `gig::Sample::ReleaseSampleData()'
/usr/bin/ld: ./.libs/liblinuxsampler.so: undefined reference to `DLS::File::GetFileName[abi:cxx11]()'
/usr/bin/ld: ./.libs/liblinuxsampler.so: undefined reference to `gig::DimensionRegion::GetVelocityRelease(unsigned char)'
/usr/bin/ld: ./.libs/liblinuxsampler.so: undefined reference to `gig::libraryName[abi:cxx11]()'
/usr/bin/ld: ./.libs/liblinuxsampler.so: undefined reference to `typeinfo for DLS::Resource'
/usr/bin/ld: ./.libs/liblinuxsampler.so: undefined reference to `sf2::Region::GetModEnvToPitch(sf2::Region*)'
/usr/bin/ld: ./.libs/liblinuxsampler.so: undefined reference to `sf2::Region::GetUnityNote()'
/usr/bin/ld: ./.libs/liblinuxsampler.so: undefined reference to `sf2::Region::GetEG1Hold(sf2::Region*)'
/usr/bin/ld: ./.libs/liblinuxsampler.so: undefined reference to `gig::Sample::LoadSampleData(unsigned long)'
/usr/bin/ld: ./.libs/liblinuxsampler.so: undefined reference to `sf2::InstrumentBase::GetRegion(int)'
/usr/bin/ld: ./.libs/liblinuxsampler.so: undefined reference to `gig::File::DeleteSample(gig::Sample*)'
/usr/bin/ld: ./.libs/liblinuxsampler.so: undefined reference to `gig::File::File(RIFF::File*)'
/usr/bin/ld: ./.libs/liblinuxsampler.so: undefined reference to `sf2::Sample::GetPos()'
/usr/bin/ld: ./.libs/liblinuxsampler.so: undefined reference to `gig::DimensionRegion::GetParent() const'
/usr/bin/ld: ./.libs/liblinuxsampler.so: undefined reference to `sf2::Region::GetModLfoToPitch(sf2::Region*)'
/usr/bin/ld: ./.libs/liblinuxsampler.so: undefined reference to `gig::Sample::Read(void*, unsigned long, gig::buffer_t*)'
/usr/bin/ld: ./.libs/liblinuxsampler.so: undefined reference to `sf2::File::GetInstrumentCount()'
/usr/bin/ld: ./.libs/liblinuxsampler.so: undefined reference to `gig::File::GetInstrument(unsigned int, RIFF::progress_t*)
/usr/bin/ld: ./.libs/liblinuxsampler.so: undefined reference to `sf2::File::GetInstrument(int)'
/usr/bin/ld: ./.libs/liblinuxsampler.so: undefined reference to `sf2::File::GetSampleCount()'
/usr/bin/ld: ./.libs/liblinuxsampler.so: undefined reference to `gig::DimensionRegion::GetVelocityAttenuation(unsigned cha
/usr/bin/ld: ./.libs/liblinuxsampler.so: undefined reference to `gig::DimensionRegion::GetVelocityCutoff(unsigned char)'
collect2: error: ld returned 1 exit status
make[3]: *** [Makefile:615: linuxsampler] Error 1
make[3]: Leaving directory '/builddir/linuxsampler-2.1.1/src'
make[2]: *** [Makefile:689: all-recursive] Error 1
make[2]: Leaving directory '/builddir/linuxsampler-2.1.1/src'
make[1]: *** [Makefile:509: all-recursive] Error 1
make[1]: Leaving directory '/builddir/linuxsampler-2.1.1'
make: *** [Makefile:414: all] Error 2
=> ERROR: linuxsampler-2.1.1_1: do_build: '${make_cmd} ${makejobs} ${make_build_args} ${make_build_target}' exited with 2
=> ERROR: in do_build() at common/build-style/gnu-configure.sh:13
I've experimented with different dependencies and I still don't know how I got it to work. If anyone can spare a moment, check out the branch at [edit: redacted broken link :(]. I'll continue trying to work on it, but I almost feel like I've tried everything.
Thanks :)
@ericonr @fosslinux Any insight on the above comment?
All I can tell is that it looks to me like you're missing libgig.so.9
from the host system... Might be missing some libraries from the command line as well.
Check that pkg-config
calls were successful, too. Sometimes they fail and then the commandline ends up missing certain elements.
Does that mean libgig needs to be added to hostmakedepends
? But it might already be there iirc
-------- Original Message --------
On Nov 22, 2020, 8:29 PM, Érico Nogueira Rolim wrote:
All I can tell is that it looks to me like you're missing libgig.so.9 from the host system... Might be missing some libraries from the command line as well.
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or unsubscribe.
Try from a clean chroot, run ./xbps-src zap && ./xbps-src binary-bootstrap
and try again.
Open a PR so we can have a look at the actual template.
Trying from clean root now, PR #26677 is open as a draft for review
After adding a few commands I found from the Arch Linux libgig
template, I'm encountering a new error:
****************************************************************
*** LinuxSampler was compiled with instruments DB support and
*** /destdir//linuxsampler-2.1.1/var/lib/linuxsampler/instruments.db
*** doesn't exist yet, creating it now:
/builddir/linuxsampler-2.1.1/src/.libs/lt-linuxsampler: error while loading shared libraries: libgig.so.9: cannot open shared object file: No such file or directory
# ...
=> ERROR: linuxsampler-2.1.1_1: do_install: '${make_cmd} DESTDIR=${DESTDIR} ${make_install_args} ${make_install_target}' exited with 2
=> ERROR: in do_install() at common/build-style/gnu-configure.sh:38
@ericonr:
All I can tell is that it looks to me like you're missing libgig.so.9 from the host system... Might be missing some libraries from the command line as well.
How can I ensure that the needed libraries are being fed to the template/build?
@harrisonthorne any updates?
@uzr123x Unfortunately no. I didn't find a solution with the time I had and have since hopped to NixOS
As a workaround, I know Void provides a nix
package, and the Nix package repository has linuxsampler
. You might consider installing and configuring the Nix package manager on your Void system and installing linuxsampler that way :slightly_smiling_face:
Anyone willing to carry the mantle on this one ?
This is something I'm willing to work on, I just want to know how likely it would be to get it accepted into the main repository :)
The Linux Sampler Project consists of a few different packages that work together to enable musicians to use "soundfonts" and make music. Back when I was on Arch Linux, I used it to make orchestral music with Ardour.
This undertaking would add a number of packages to the Void repositories:
There is also JSampler and jlscp, but I prefer QSampler and will probably save those for later.
All packages have either GPL, GPLv2, or LGPL licenses (see here). The GPL license for LinuxSampler comes with a "commercial exception":