AppImage build failing #1189
Replies: 10 comments
-
Er, maybe that's not exactly true. The app depends on the mixer, so maybe that's why it's You know, for the longest time, these errors have always been with those darn ui files. |
Beta Was this translation helpful? Give feedback.
-
I'm afraid I'm no expert in this area... |
Beta Was this translation helpful? Give feedback.
-
With -j4 it failed in another place. |
Beta Was this translation helpful? Give feedback.
-
-j2 is failing too. |
Beta Was this translation helpful? Give feedback.
-
Thanks!
Exactly. Except for the AppImage builder ! So... we uh could get away with that here ... he he Glaring omission: Sorry I forgot to mention: Most of the time these problems are I'll check more later tonight. Off to work, that four letter word... |
Beta Was this translation helpful? Give feedback.
-
The AppImage build is not the problem, it doesn't matter if it takes a little longer with only one thread. But it runs in a clean environment so when it fails, it's quite probable that users will have similar problems too. I tried a couple of things, no success (except for my better understanding of cmake perhaps...). |
Beta Was this translation helpful? Give feedback.
-
Hang in there, trying some things. Read this interesting cmake help note for add_subdirectory which is not found for subdirs:
It seems to be having an effect. It seems to demand the correct order - which is good ! Till tomorrow... |
Beta Was this translation helpful? Give feedback.
-
I replaced the subdirs command by add_subdirectory in all relevant cmake files. The syntax and the behaviour are slightly different, but I think it's not related to the sequence of execution. The difference is better described here:
The build problems obviously are caused by the fact that the specific qt files/includes (ui, moc...) do not exist at design time. Being generated dynamically at compile time, cmake is not able to calculate the related dependencies correctly. I added explicit dependency to the mixer cmake file - add_dependency(mixer components). Now the build works again normally, AFAICS (with -j3 too). |
Beta Was this translation helpful? Give feedback.
-
Oh very nice! Good catch. Good work! We may need that add_dependency for some of the other folders, for example the midi editor folder. Will try your fixes tonight... |
Beta Was this translation helpful? Give feedback.
-
I added the dependencies to midiedit and also waveedit (there were 2 open issues about that one). |
Beta Was this translation helpful? Give feedback.
-
It's a pesky dependency thing. It's super 'touchy'. Today it said one ui file then
after simply altering one line of actual code it said another ui file.
Currently, you can see it's trying to compile the mixer, which depends on the routing dialog
found in the components folder, before the components are built.
I hesitate to call it a 'circular' dependency because:
by doing a whole lotta forward referencing in all the header files.
before the components.
in fact, strange, here it builds the mixer before the components:
Scanning dependencies of target mixer
[ 55%] Building CXX object muse/mixer/CMakeFiles/mixer.dir/amixer.o
[ 55%] Generating moc_splitter.cpp
[ 55%] Generating moc_synctoolbar.cpp
[ 55%] Generating moc_tb1.cpp
[ 55%] Generating moc_tools.cpp
[ 55%] Generating moc_trackinfo_layout.cpp
[ 55%] Generating moc_tracks_duplicate.cpp
[ 55%] Generating moc_ttoolbutton.cpp
[ 55%] Generating moc_unusedwavefiles.cpp
[ 56%] Generating moc_view.cpp
[ 56%] Generating moc_visibletracks.cpp
[ 56%] Generating moc_vst_native_editor.cpp
Scanning dependencies of target components
[ 56%] Building CXX object muse/components/CMakeFiles/components.dir/moc_aboutbox_impl.o
[ 56%] Building CXX object muse/components/CMakeFiles/components.dir/moc_appearance.o
[ 56%] Building CXX object muse/mplugins/CMakeFiles/mplugins.dir/mitplugin.o
[ 56%] Building CXX object muse/components/CMakeFiles/components.dir/moc_arrangercolumns.o
[ 56%] Building CXX object muse/mixer/CMakeFiles/mixer.dir/astrip.o
etc...
I've been through this many times, except with actual circular dependencies,
many of which I fixed.
Recall a user's issue (maybe still there) where only -j3 triggered it, but I couldn't reproduce it.
For these reasons, since it seems so 'touchy', and until we can figure out what's going on,
it seems like a fickle race condition so I recommend trying -j1 or -j4 in the AppImage
script instead of -j3. I didn't want to mess with it in case I break something.
Please give it a try, I'll bet that they work.
Beta Was this translation helpful? Give feedback.
All reactions