Dependencies. Audacity is not running on Slackware
SlackwareThis Forum is for the discussion of Slackware Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Problem:
He complains about dependencies:
libwx_gtk3u_xrc-3.0.so.0
libwx_gtk3u_html-3.0.so.0
I found them in the folder: /usr/lib64/python3.6/site-packages/wx/
I linked them to the folder: /usr/lib64/
so he complains about another dependency: libwx_gtk3u_qa-3.0.so.0
Doesn't have it on my computer
Problem:
I can't find what package there is in slackware
I can't identify which Audacity dependency this exists on
Even knowing which Audacity dependencies is difficult is incomplete information.
If anyone knows and can help to know what is missing on my PC to run Audacity thank you.
i built my own, (its safer that way) but yeah, i have noticed a recent update broke audacity-2.2.2, and it took only a few minutes to rebuild audacity so it would run with the updated packages, i did not investigate what broke it because i just wanted to edit some audio
i agree with USUARIONUEVO that installing pre-built packages from various known websites isnt necessarily dangerous but you could end up with a broken system or broken packages because of version conflict since not everybody has exactly the same setup you have, its always best to build your own because it is made to run on your system with the existing libraries that you have,
the ONLY third party package i use is alien's chromium,
You are mixing packages from different sites, good luck with this.
I have no idea what you mean
As I said in the question, I am trying to install this package.: audacity-2.3.2-x86_64-1cf.txz
I just explained that if I install the AlienBOB package it works without problems. But it is an old package
Then explain to me: Where did you understand that I am mixing packages?
I'm not compiling Source, I always did install ready packages. That can be removed without leaving any system junk
This link you reported from Slackbuild could not download Source, it was giving me invalid site. So when I tried to compile it, it was from Source from Audacity's own site. But it gave numerous errors, starting with the different name in Source that I even corrected in the script but still didn't compile before. Source name on Audacity site was audacity-minsrc-2.3.2.tar.xz
Today, at this very moment the source link you passed was working Audacity-2.3.2.tar.gz
Interestingly the Package was modified 2 days ago, just the day I tried and posted here in the forum. Maybe that's why the link was broken. Maybe bad luck at that moment. https://git.slackbuilds.org/slackbui...udacity?h=14.2
But still it wasn't this time, the mistake is now completely different from the previous ones.
I tried to create the Package, I didn't need to modify anything. I just run slackbuild
And presented the error below, these of course are the last lines
Can you tell me what went wrong this time?
Packages installed on my system:
wxGTK3-3.0.4-x86_64-1_slonly
lame-3.100-x86_64-2
Code:
In file included from prefs/../../lib-src/header-substitutes/allegro.h:15,
from prefs/../AudioIO.h:37,
from prefs/PrefsDialog.cpp:37:
prefs/../../lib-src/header-substitutes/../portsmf/allegro.h: In destructor ‘virtual Alg_track::~Alg_track()’:
prefs/../../lib-src/header-substitutes/../portsmf/allegro.h:672:9: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]
if (time_map) time_map->dereference(); time_map = NULL; }
^~
prefs/../../lib-src/header-substitutes/../portsmf/allegro.h:672:48: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’
if (time_map) time_map->dereference(); time_map = NULL; }
^~~~~~~~
prefs/PrefsDialog.cpp: In constructor ‘PrefsDialog::PrefsDialog(wxWindow*, const wxString&, PrefsDialog::Factories&)’:
prefs/PrefsDialog.cpp:590:36: error: invalid use of incomplete type ‘class wxTreeCtrl’
mCategories->GetTreeCtrl()->SetName(_("Category"));
^~
In file included from /usr/include/wx-3.1/wx/treebook.h:20,
from prefs/PrefsDialog.cpp:35:
/usr/include/wx-3.1/wx/treebase.h:57:35: note: forward declaration of ‘class wxTreeCtrl’
friend class WXDLLIMPEXP_FWD_CORE wxTreeCtrl;
^~~~~~~~~~
prefs/PrefsDialog.cpp:659:33: error: invalid use of incomplete type ‘class wxTreeCtrl’
mCategories->GetTreeCtrl()->EnsureVisible(mCategories->GetTreeCtrl()->GetRootItem());
^~
In file included from /usr/include/wx-3.1/wx/treebook.h:20,
from prefs/PrefsDialog.cpp:35:
/usr/include/wx-3.1/wx/treebase.h:57:35: note: forward declaration of ‘class wxTreeCtrl’
friend class WXDLLIMPEXP_FWD_CORE wxTreeCtrl;
^~~~~~~~~~
prefs/PrefsDialog.cpp:659:75: error: invalid use of incomplete type ‘class wxTreeCtrl’
mCategories->GetTreeCtrl()->EnsureVisible(mCategories->GetTreeCtrl()->GetRootItem());
^~
In file included from /usr/include/wx-3.1/wx/treebook.h:20,
from prefs/PrefsDialog.cpp:35:
/usr/include/wx-3.1/wx/treebase.h:57:35: note: forward declaration of ‘class wxTreeCtrl’
friend class WXDLLIMPEXP_FWD_CORE wxTreeCtrl;
^~~~~~~~~~
make[2]: *** [Makefile:6546: prefs/audacity-PrefsDialog.o] Error 1
make[2]: Leaving directory '/tmp/SBo/audacity-Audacity-2.3.2/src'
make[1]: *** [Makefile:1988: all] Error 2
make[1]: Leaving directory '/tmp/SBo/audacity-Audacity-2.3.2/src'
make: *** [Makefile:819: all-recursive] Error 1
bash-4.4#
installing pre-built packages from various known websites isnt necessarily dangerous but you could end up with a broken system or broken packages because of version conflict since not everybody has exactly the same setup you have, its always best to build your own because it is made to run on your system with the existing libraries that you have,
the ONLY third party package i use is alien's chromium,
Yes I understand that. but I choose packages according to what suits my system the most. When I first chose to use conrad's package it was because his was the most current, while Ponce's was using an older version.
When I went to try the Ponce version I even downloaded all dependencies that it reported only Ponce versions.
Whenever I can, I also prefer to create packages from slackbuilds, because ready-made packges don't always work for that computer due to different versions of installed dependencies. As was my case with Clementine.
My case with Audacity was that no Slackbuild I tried worked, and only found 3 versions of version 2.3.2. I still tried to fix these Slackbuilds but couldn't in any way make them work.
And I'm not an expert on that, I'm still learning. I would love to know how to create a package slackware from source
I think maybe my biggest difficulty is not knowing English correctly, I'm Brazilian. Think how difficult it is to read a text in another language, and this text is complicated even to understand in the language itself
But I haven't given up yet. The day I learn how to create the package I will have no problem looking for packages created by other people that sometimes work, sometimes not. I will not have problems with Slackbuilds that do not work or with older versions of the program ...
Another detail that can help solve my problem.
It shows on the error screen wxWidgets controls.
I want to remember that I use wxWidgets, and the version installed on my system is v.3.1.2
Could it be that?
bash-4.4$ audacity
audacity: relocation error: audacity: symbol _ZThn696_N14wxTextCtrlBase8overflowEi version WXU_3.0 not defined in file libwx_gtk2u_core-3.0.so.0 with link time reference
bash-4.4$
i have link: /usr/lib64/libwx_gtk2u_core-3.0.so.0
FOR: /usr/lib64/libwx_gtk2u_core-3.0.so.0.4.0 (which is the one installed on my system)
Is it because mine is younger?
avoid using packages search engines and then installing packages from different repositories: what has been packaged for repository "foo" most probably has been at a different time than repository "bar", and might use different dependencies and link to different libraries to what you can find on repository "bar".
the moral of the story is, like USUARIONUEVO hints, don't use packages from multiple repositories and for different version of Slackware: yes, it's what you are doing, installing, for example, a package from Conraid's repository for slackware64-current and wxGTK-3.0.4 from the slackonly repository, wxGTK3-3.0.4-x86_64-1_slonly, built for slackware64-14.2 (slackonly doesn't provide version 3.0.4 for current).
Problem:
He complains about dependencies:
libwx_gtk3u_xrc-3.0.so.0
libwx_gtk3u_html-3.0.so.0
I found them in the folder: /usr/lib64/python3.6/site-packages/wx/
the fact that these python modules are in a "python3.6" directory most probably means that they were built for a previous version of current (that ships 3.7 since february)
Quote:
I linked them to the folder: /usr/lib64/
don't do that: creating random symlinks will never help you, it will only break your system.
Quote:
so he complains about another dependency: libwx_gtk3u_qa-3.0.so.0
I wonder why...
Quote:
Doesn't have it on my computer
Problem:
I can't find what package there is in slackware
I can't identify which Audacity dependency this exists on
Even knowing which Audacity dependencies is difficult is incomplete information.
note also that you cannot install multiple versions of the wxwidgets (wxWidgets, wxGTK3, etc.) on your system and hope that they will they work fine together, they just won't.
so you better clean your system from third party packages and decide which binary repository you want to use and use just one, or switch to build the third party packages you need yourself using a SlackBuilds repository for current.
bash-4.4$ audacity
audacity: relocation error: audacity: symbol _ZThn696_N14wxTextCtrlBase8overflowEi version WXU_3.0 not defined in file libwx_gtk2u_core-3.0.so.0 with link time reference
bash-4.4$
i have link: /usr/lib64/libwx_gtk2u_core-3.0.so.0
FOR: /usr/lib64/libwx_gtk2u_core-3.0.so.0.4.0 (which is the one installed on my system)
Is it because mine is younger?
like I wrote before it's because your wxGTK3 package is built for slackware 14.2.
note that if you want to use the packages I provide you have to read the README.txt file in the same directory in which you can find them: I'll paste it here for you, highlighting some important parts
Quote:
personal packages repository for slackware64-current
--------------------------------------------------
this is my personal repository for slackware64-current: these are
the packages I use on my own installations. you are free to use this stuff but there are no guarantees they
will work for you (in particular if used with packages from other
third party repositories), nor I take any responsibility if your
cat is harmed during their use.
if not yet clear, this means this repository is *UNSUPPORTED*.
you can check for dependencies on SlackBuilds.org if you need
single packages (optional dependencies might be also required), but
all you need besides a current full default installation should
be already in this folder. MANDATORY: install the full set, package managers are *UNSUPPORTED*
too
before installing the whole, run these commands to create the
needed users/groups:
Hi Nick-us!
let's go in order
for example, a package from Conraid's repository for slackware64-current and wxGTK-3.0.4 from the slackonly repository, wxGTK3-3.0.4-x86_64-1_slonly, built for slackware64-14.2 (slackonly doesn't provide version 3.0.4 for current).
the fact that these python modules are in a "python3.6" directory most probably means that they were built for a previous version of current (that ships 3.7 since february)
Thanks for your detailed explanation!
Now I understood what they meant by mixing packages.
The problem occurred because the only place I know to find packages for slackware is the website: http://slakfinder.org/
That to my misfortune right now is not working
Only Today I was given a link from your entire repository.
I every time I downloaded from http://slakfinder.org/ site I always worried about downloading packages for current and newer version. Because that's what was informed on the site
This package wxGTK3-3.0.4-x86_64-1_slonly, I installed because it was a Codeblocks dependency when I installed.
Anyway, I see that I have to review everything right now. I think I'll take the opportunity to upgrade slackware to today's version on the site http://www.slackware.no/
And with that update and fix all dependencies that are mixed. And hopefully Codeblocks is compatible with the current version of Audacity, because in Audacity README it says it uses wxWidgets 3.1.1 but I use 3.1.2 I can't downgrade it.
Thanks again for the detailed explanation so I could understand what was wrong first!
And really looking here in my folders, because I save the copy of the site page to know what I did, this package is for slackware 14.2 and not for current.
Repository: slackonly64-14.2 in Fri Nov 16 2018 22:15:03 GMT-0200
Repository description: Some package built from Sbo for slackware64 14.2
I would try with slackbuilds.org instead of doing what you're doing. You might even want to uninstall a bunch of the packs you've installed thus far - or even try slackpkg clean-system if you're feeling adventurous - and start again using slackbuilds.org and sbopkg. The 'sqg' tool is your friend in this instance. You could use it to generate a queuefile for audacity, and then automatically build and install all dependencies in a chain-like manner. It will take a while because some of these sources are quite large and complex, but it should work.
Most of your questions were already answered by ponce and he also provided you with sound advice (and many details) on how to handle external packages on Slackware and keep your system solid, therefore I won't bother with these points anymore.
One thing that concerned me in your replies, was the apparent lack of understanding on how to use www.slackbuilds.org and I'll elaborate a little on the subject.
# you create a folder, say /tmp/kit/
mkdir /tmp/kit/ && cd /tmp/kit/
# then download the wxGTK3 SlackBuild archive and unpack it
wget http://www.slackbuilds.org/slackbuilds/14.2/libraries/wxGTK3.tar.gz
tar -xzpf wxGTK3.tar.gz
cd /tmp/kit/wxGTK3/
# once in /tmp/kit/wxGTK3/, download the wxGTK3 source code archive - the SlackBuild script won't do it for you!
wget https://github.com/wxWidgets/wxWidgets/archive/v3.0.4/wxWidgets-3.0.4.tar.gz
# now you can execute the SlackBuild script and wait for the compilation to finish
./wxGTK3.SlackBuild
# once it finishes, the resulting package will be available in /tmp/ - you'll get this message:
Slackware package /tmp/wxGTK3-3.0.4-arm-2_SBo.tgz created.
# grab that package, save it somewhere for future use and install it:
installpkg wxGTK3-3.0.4-arm-2_SBo.tgz
# it's always recommended to execute a ldconfig -> updating the run-time linker after every installation (some install scripts do it anyways), just run:
/sbin/ldconfig
# clean the temp folder SlackBuild is creating - /tmp/SBo/
rm -rf /tmp/SBo/
Just for the sake of testing, I successfully compiled wxGTK3 from www.slackbuilds.org on Slackware -current (on ARM - it's the only -current I'm using) and also started the audacity compilation, but stopped it - it's huge.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.