Comments (5)
There seems to be some confusion here.
libjack and libjackserver should never be linked against by the same process. libjackserver is specifically intended as a special version of libjack for use by the server (and also by programs that can actually become the server).
I have reviewed the drivers, and they all use libjackserver only. jackd also ONLY links against libjackserver.
Where and/or why do you believe that a process is being linked against both libraries?
from jack1.
Wow, I thought this had gravestoned.
I'll have to scour a little back through that and the code to see what I
was getting at.
Off the top of my head it wasn't so much about what was being linked as the
fact that symbols were present in multiple places, and for some reason I
was seeing C++ things destroyed when they shouldn't be.
Give me a few months .-)
D
On Fri, Jul 3, 2015 at 6:03 PM, Paul Davis [email protected] wrote:
There seems to be some confusion here.
libjack and libjackserver should never be linked against by the same
process. libjackserver is specifically intended as a special version of
libjack for use by the server (and also by programs that can actually
become the server).I have reviewed the drivers, and they all use libjackserver only. jackd
also ONLY links against libjackserver.Where and/or why do you believe that a process is being linked against
both libraries?—
Reply to this email directly or view it on GitHub
#12 (comment).
from jack1.
They should be in multiple places, but those places should never come together in a single process. That's the idea, at least.
from jack1.
Evening Paul,
They should be in multiple places
What is the rational for this? Surely shared libraries are a great thing to
use? The suggested resolution patch was about linking libjackserver.so
against libjack.so and having jackd use both. The motivation was from
skipping some lifecycle issues arising from the duplicated symbols - C++
static lifecycle was how I originally noticed it (IIRC, it's been a while).
Are there perhaps cache coherency issues or having the code in a single
blob dictating this?
The reason I ask is that if there's something I'm missing (eminently
probable) I'll skip on the deeper investigation .-)
D
from jack1.
Your thinking too hard. libjackserver exists to build JACK servers and their backends. libjack exists to build clients. They are not intended to both be used by a single process. libjackserver contains some special extra magic compared to libjack that allows a process linked against it to become a server (even if it is not jackd), and this extra magic requires the use of a different library.
You should probably take the suggestion to jack-devel, where Stephane Letz (who originated the libjackserver idea) might comment on it.
from jack1.
Related Issues (20)
- Possibility of Jackd sink disconnection/re-connection from command line? HOT 4
- Failed to open server from jack_control even though jack and jackdbus are running HOT 1
- jackd server gives reoccurring log message and does not connect
- Missing '-m' ALSA backend option in jackd manual page
- jack server quits after it can't find tmpdir HOT 1
- Unable to compile from source HOT 3
- Installing in catalina but invisible, can't uninstall. HOT 6
- Release new version to include latest bugfixes HOT 1
- Remove example-clients and tools HOT 4
- Tascam US122L, JACK, PulseAudio and OBS HOT 1
- segfault in libjack from incorrect regex in jack_get_ports()
- Promiscuous mode doesn't work
- Unclear how to start and restart an audio output stream HOT 4
- issues with tiny core linux HOT 1
- [REPLACED IN JACK2]Jack for Windows / Problem with PortAudio
- "Jack: data not valid" when NetJack1 using higher channels count (MTU bound?)
- jack Wont Start After arch linux System Upgrade. HOT 5
- Audio from Jack is "Bitcrushed"
- Is it necessary to include the Jack framework in my project? HOT 1
- Possible to get Jack2 to follow changes in bitrate from source? HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from jack1.