-
Notifications
You must be signed in to change notification settings - Fork 15
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
error: no viable overloaded '=' #124
Comments
As we used to quip at work: "It builds on my machiiiiiiiiine." :-) Not quite sure what's going on there, the operator = for the mutegroup/mutegroups are set to "default". I'll have to dig deeper. Might have to install and build using clang, which might take a little while to figure out in Seq66's autoconf system. If you have QtCreator installed, you can create a shadow directory and in it run "qbuild rtmidi", but I suspect the same error will occur. qbuild is in contrib/scripts in the project tree and I use it sometimes. |
Okay, got a clang build going, and am looking at the errors (there are a few!) that clang found. This is clang-10, though. The latest version I have on this Ubuntu box is clang-12. Will ultimately check it out on the Arch box. |
…not yet duplicate the reported error.
Got the build working on Ubuntu with clang-12, fixed all warnings and errors, added Clang instructions to INSTALL, and check it all into the "portfix" branch. Then I pull it to my Arch laptop, which uses clang-16. I run "CC=clang CXX=clang++ ./configure". That fails with an error "Failed to find matching components of a complete Qt installation." Digging deeper is seems that ax_qt_main.o generated for testing Qt yields "file not recognized: file format not recognized". So more digging to do, just wanted to let you know where I was at. |
Actually, my fixes for other errors found when using clang-12 might fix your original problem. If you can do this: $ ./bootstrap --full-clean And try your build again, let me know if that worked. In the meantime I still want to get clang-16 to configure successfully on my Arch box. |
There is still an error and many warnings: https://people.freebsd.org/~yuri/seq66-portfix.log |
I think I got rid of the errors and warnings (pretty obvious fixes). I noticed
that the build was configured for "portmidi". In Seq66v2 (a lonnnng ways off) I
hope to consolidate everything under a refactored "rtmidi" framework, including
Mac OSX. Question: does FreeBSD have a framework to compile Mac apps, i.e.
does it support the CoreMIDI/CoreAudio framework? Just a question for the
future. Thanks again for your help and input!
|
Finally got qseq66 (haven't tried qpseq66) to build on clang-16. Had to disable the paranoid checks for Qt from an m4 macro, and had to remove a linker option. Once I get confidence, I will add checks for clang to make these changes automatic. Also thinking of provisioning a FreeBSD VM with qemu. On your setup, were clang and Qt normal installs? Or did you have to rebuild Qt? |
No, on FreeBSD we have multiple audio backends available: OSS, Jack, PulseAudio, SoundIO, ALSA, etc. |
Qt is built and installed from the port/package. No special rebuild is needed. |
Qt is built and installed from the port/package. No special rebuild is needed.
Is clang the "native" compiler for FreeBSD? Or GCC? -- Thanks!
|
clang is the native compiler. |
I finally got a reasonable FreeBSD virtual machine running via Qemu, and
am now working through getting a clone of the portfix branch to configure.
Can you summarize the steps you took to get to where "make" could be run?
Thanks!
|
You should be able to build the project in a normal way by running ./configure && gmake. |
You should be able to build the project in a normal way by running ./configure && gmake.
I get errors about headers for liblo and libasound, for starters. I installed
liblo, and it looks like alsa is installed. In Debian/Ubuntu, I have to install
the -dev version of these packages; they seem to be included automatically on
Arch Linux when the library itself is installed. Also, isn't gmake a GNU thing?
Ah, puzzles to solve.
|
Still working through build issues on FreeBSD; the VM is slow as hell. Anyway, my current puzzle to solve is the pthreads mutex support on FreeBSD, it is quite a bit different from Linux. The build breaks at the recmutex module. You can see some of the carp I've had to deal with in the latest INSTALL file in the portfix branch. But at least I'm (slowly) moving forward. |
So I got past the recmutex and the build now fails in seq_qt5 at the first qt file with "QBrush: file not found". And, indeed, even with the qt5-gui package installed, there's no such file, not even qbrush.h, anywhere in /usr. The only thing found is a html file in the doc area. Mayhaps my FreeBSD vm is too new? Sigh. |
qbrush.h is installed by QtGui (either from Qt5 or Qt6):
|
The qt5-gui package *is* installed, but there is no qt5/QtGui directory. For
the heck of it I installed qtcreator, which installed Qt6, and that version
does have qt6/QtGui (and the QBrush file). So I think this is a bug, and will
report it as such.
For now, I'm building the command-line version of Seq66 to flush out other
errors (many due to testing for LINUX instead of UNIX in macros).
|
|
The command is actually "pkg info -l qt5-gui". Anyway, the pkg upgrade command
worked! Many thanks, I can move forward again.
Heh, can't resist including this output from fortune:
Connection reset by some moron with a backhoe
|
Well dang! The Qt m4 macro is setting all the QT variables except for
QT_CXXFLAGS and QT_LIBS. Will keep on trudgin'.
|
I also had to reinstall the Qt Core and Widgets packages. I finally gave up on digging into what configure was doing (or not doing) to get QT_CXXFLAGS and QT_LIBS defined. Instead, I used the qmake method mentioned in INSTALL. I installed bash so I could use the qbuild script in contrib/scripts, and that worked. I have a preliminary dash/sh script called qbuild.sh, but haven't tested it in FreeBSD yet. Now I have a runtime error running the qseq66 application from the shadow directory for the build: |
The bugzilla bug number for having for force package upgrades is 275893. There is a long discussion of the xcb bug at 214340, which is closed. My guess is a dependency of libxcb on FreeBSD is not getting installed, so that the plugin can be found, but not be loaded. |
Oh, forgot to mention that I wrote a new shell script, contrib/scripts/qbuild.sh to be portable between shells. It runs qmake and then make. It has options for various things, see qbuild.sh --help. |
No, this xcb problem is an old, closed bug. I am not aware of any current xcb-related problem. Can you share your current branch that you are working on? |
Can you share your current branch that you are working on?
I'm thinking I'm missing a dependency of libxcb. Have not taken the time yet
to check all the shared libraries that "ldd" notes in libxcb.
The current branch is "portfix". It includes a new script in contrib/scripts,
called qbuild.sh. I copy it to my personal ~/bin and run it in a Qt shadow
directory. It's an alternative to automake, which has been driving me crazy in
FreeBSD. Good ol' M4.
|
Have been working on other issues.... Have you gotten the code to build? And run? I will eventually try to solve the libxcb-related error. |
So I ditched the VM and instead installed the release of FreeBSD before version 14 on a spare SSD in a USB box. Took awhile to get stuff installed. But I got the code to build using qbuild.sh (qmake), and it actually runs! I still have to figure out some issues with ALSA and JACK detection and also give the automake build another run-through. Much more pleasant to work on a native build! |
- Fixed clang support and FreeBSD builds. - Using clang-12 and clang-16 to find errors and warnings that g++ did not detect, re issue #124. - Modifying configure.ac and make-files to support this compiler. However, it does not define QT_CXXFLAGS and QT_LIBS in FreeBSD. Therefore... - ... Added a qbuild.sh script to replace the old qbuild (bash) script and to be used instead of autotools in FreeBSD. - Seq66 builds and runs, but currently detects only software MIDI ports running under JACK. - Added an autogen.sh script to use with basic UNIX shells like dash. - Fixed the processing of SysEx and Meta events. - Reading and writing in the MIDI file upgraded. - Display SysEx and text in the event editor. - Added new 'rc' option to skip, recover, or abort from bad running status in MIDI files. See the trilogy.mid contributed file. - Handle unterminated SysEx messages (Dixie04.mid). - Fixed issue with building the command-line version with "portmidi". - Fixed a one-character buffer overflow in portmidi.c. Thanks, valgrind! - Fixed bugs in --option log=file. - Fixed Q button not working to set keep-queue status. - Fixed queued-solo functionality. - Upgraded the Event editor Dump output. - Disabled the grid-solo option as redundant. See NEWS for more details, and ChangeLog.
Check the master branch. I got the code to build (read the FreeBSD section of INSTALL) and play to qsynth using qjacktrl to start JACK (with qseq66 --jack). Also read contrib/notes/freebsd.text. Still can't see the USB MIDI devices, though, either in ALSA or JACK. Any insight you have would be appreciated. Thanks! |
Build fails:
Version: 0.99.11
clang-16
FreeBSD 13.2
The text was updated successfully, but these errors were encountered: