Skip to content
This repository has been archived by the owner on Sep 16, 2021. It is now read-only.

Missing source file #1

Closed
PoroCYon opened this issue Dec 21, 2017 · 13 comments
Closed

Missing source file #1

PoroCYon opened this issue Dec 21, 2017 · 13 comments

Comments

@PoroCYon
Copy link
Collaborator

Hi, I wanted to try it out, but this happened when I tried using CMake to generate a Makefile:

CMake Error at CMakeLists.txt:32 (add_executable):
  Cannot find source file:

    src/widgets/node/NodeItem.cpp

  Tried extensions .c .C .c++ .cc .cpp .cxx .m .M .mm .h .hh .h++ .hm .hpp
  .hxx .in .txx

This file doesn't seem to exist in the repo. Forgot to git add it? (Happens with me, too.)

FYI, I'm on Linux-libre-hardened 4.13.13 x86_64, but that shouldn't matter.

@cpdt cpdt closed this as completed in 440cb08 Dec 21, 2017
@cpdt
Copy link
Member

cpdt commented Dec 21, 2017

Hi @PoroCYon, thanks for your interest in the project! Thanks for catching that, I've added in the missing file now.

It's worth mentioning that Axiom is currently in super-early development, so there's not really anything to try out yet, nor can you necessarily expect for the main branch to actually be buildable. It's in active development, so expect things soon!

@PoroCYon
Copy link
Collaborator Author

Thanks! It actually builds perfectly now, even though it segfaults immediately when I try to click something:

Thread 1 "axiom" received signal SIGSEGV, Segmentation fault.
0x00007ffff5aaf496 in __strlen_sse2 () from /usr/lib/libc.so.6
(gdb) bt
#0  0x00007ffff5aaf496 in __strlen_sse2 () from /usr/lib/libc.so.6
#1  0x00007ffff695b2ed in QCoreApplication::arguments() () from /usr/lib/libQt5Core.so.5
#2  0x00007fffef1f56c2 in ?? () from /usr/lib/libQt5XcbQpa.so.5
#3  0x00007fffef1f5be7 in QXcbIntegration::wmClass() const () from /usr/lib/libQt5XcbQpa.so.5
#4  0x00007fffef20d4a5 in QXcbWindow::create() () from /usr/lib/libQt5XcbQpa.so.5
#5  0x00007fffef1f6d22 in QXcbIntegration::createPlatformWindow(QWindow*) const () from /usr/lib/libQt5XcbQpa.so.5
#6  0x00007ffff6ed2ece in QWindowPrivate::create(bool, unsigned long long) () from /usr/lib/libQt5Gui.so.5
#7  0x00007ffff7703d88 in QWidgetPrivate::create_sys(unsigned long long, bool, bool) ()
   from /usr/lib/libQt5Widgets.so.5
#8  0x00007ffff7704430 in QWidget::create(unsigned long long, bool, bool) () from /usr/lib/libQt5Widgets.so.5
#9  0x00007ffff771187a in QWidget::setVisible(bool) () from /usr/lib/libQt5Widgets.so.5
#10 0x00007ffff7857312 in QMenu::popup(QPoint const&, QAction*) () from /usr/lib/libQt5Widgets.so.5
#11 0x00007ffff786389c in ?? () from /usr/lib/libQt5Widgets.so.5
#12 0x00007ffff7865a28 in ?? () from /usr/lib/libQt5Widgets.so.5
#13 0x00007ffff78663a2 in QMenuBar::mousePressEvent(QMouseEvent*) () from /usr/lib/libQt5Widgets.so.5
#14 0x00007ffff77127bf in QWidget::event(QEvent*) () from /usr/lib/libQt5Widgets.so.5
#15 0x00007ffff786768c in QMenuBar::event(QEvent*) () from /usr/lib/libQt5Widgets.so.5
#16 0x00007ffff76d1e3c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5
#17 0x00007ffff76d9d91 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5
#18 0x00007ffff69571e0 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/libQt5Core.so.5
#19 0x00007ffff76d8d1a in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /usr/lib/libQt5Widgets.so.5
#20 0x00007ffff772d289 in ?? () from /usr/lib/libQt5Widgets.so.5
#21 0x00007ffff772f9a0 in ?? () from /usr/lib/libQt5Widgets.so.5
#22 0x00007ffff76d1e3c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5
#23 0x00007ffff76d9816 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5
#24 0x00007ffff69571e0 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/libQt5Core.so.5
#25 0x00007ffff6ec8634 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) ()
   from /usr/lib/libQt5Gui.so.5
#26 0x00007ffff6eca186 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) () from /usr/lib/libQt5Gui.so.5
#27 0x00007ffff6ea1bbc in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
   from /usr/lib/libQt5Gui.so.5
#28 0x00007fffef27615d in ?? () from /usr/lib/libQt5XcbQpa.so.5
#29 0x00007ffff695582b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#30 0x00007ffff695eb18 in QCoreApplication::exec() () from /usr/lib/libQt5Core.so.5
#31 0x0000000100010ed0 in main (argc=1, argv=0x7fffffffd1f8) at src/main.cpp:8

This looks like an internal Qt error, probably my bad for using an experimental window manager.

And don't worry about me stealing it, I'm currently working on a 4k intro, and I don't think this would fit in the size limit.

@cpdt
Copy link
Member

cpdt commented Dec 22, 2017

Yup, this looks like something in Qt... not something I can help with, sorry.

Don't worry, I wouldn't have open-source and MIT-licensed this project if I was worried about people 'stealing' it -- although Axiom is designed to be usable in both 4k and 64k projects (just depends on the complexity of the instruments you create), as I said above it's so early in development that literally nothing actually works yet. I'm still in the process of hammering down a good UI, haven't even started the sound engine or VST stuff yet. In the future when it's more feature-complete, feel free to use it for whatever! That's why it's open-source 😄

@PoroCYon
Copy link
Collaborator Author

PoroCYon commented Dec 22, 2017

The problem seems to have fixed itself ¯\_(ツ)_/¯, but not everything seems to react to my mouse clicks. Oh well.

Also, you broke the build :P (it's all platform- or compiler-dependent things, I think)

diff --git a/src/model/Schematic.cpp b/src/model/Schematic.cpp
index 750a714..6340d6f 100644
--- a/src/model/Schematic.cpp
+++ b/src/model/Schematic.cpp
@@ -11,7 +11,7 @@ void Schematic::setPan(QPointF pan) {
 }
 
 void Schematic::serialize(QDataStream &stream) const {
-    stream << pan() << m_nodes.size();
+    stream << pan() << static_cast<qint32>(m_nodes.size());
     for (const auto &node : m_nodes) {
         //node.serialize(stream);
     }

Without the static_cast, the << is ambiguous. MinGW must be doing naughty things, then. (I'm using GCC 7.2.1, fyi.)

diff --git a/src/widgets/node/NodeItem.cpp b/src/widgets/node/NodeItem.cpp
index 76c169e..ff034b9 100644
--- a/src/widgets/node/NodeItem.cpp
+++ b/src/widgets/node/NodeItem.cpp
@@ -5,8 +5,8 @@
 #include <QtWidgets/QGraphicsSceneMouseEvent>
 #include <QtWidgets/QStyleOptionGraphicsItem>
 
-#include "noderesizer.h"
-#include "nodeitemcontent.h"
+#include "NodeResizer.h"
+#include "NodeItemContent.h"
 #include "../schematic/SchematicCanvas.h"
 #include "src/model/Node.h"

Paths are case-sensitive on non-Windows.

cpdt added a commit that referenced this issue Dec 23, 2017
@cpdt
Copy link
Member

cpdt commented Dec 23, 2017

Oops! Not sure how that case insensitivity crept in there, must be old coding habits 🙂

As for the <<, I don't think that should be ambiguous? m_nodes.size() is an unsigned int, there is an overload for << that accepts a quint32 (which is just a typedef for unsigned int). Works fine on GCC 7.1.0, perhaps could be a difference in Qt versions? (I'm using Qt 5.9.3) Either way, I've put a cast into 67ac15b, let me know if that fixes it for you.

Regarding reacting to mouse clicks, that's probably because most things don't have any click behaviour yet. As I said, everything's still super-early-progress, most things won't work.

@PoroCYon
Copy link
Collaborator Author

PoroCYon commented Dec 23, 2017

Oops! Not sure how that case insensitivity crept in there, must be old coding habits 🙂

I'm lazy and use lowercase everywhere ヽ( 。ヮ゚)ノ.

As for the <<, I don't think that should be ambiguous? m_nodes.size() is an unsigned int, there is an overload for << that accepts a quint32 (which is just a typedef for unsigned int).

std::vector.size is a size_t, whose size depends on the platform. I guess you're using a 32-bit compiler? (qt5-base here is 5.10.0)

Regarding reacting to mouse clicks, that's probably because most things don't have any click behaviour yet. As I said, everything's still super-early-progress, most things won't work.

I expected that, don't worry :P. (Even though this behaviour is quite common with my broken WM, too. I usually put Vim keybindings on everything as a 'solution'...)

@cpdt
Copy link
Member

cpdt commented Dec 23, 2017

Ah, good point, completely forgot it'd be a size_t... I looked at the return value in my IDE and it said unsigned int and just went with that %). But yes, it is a 32-bit compiler. I'm clearly used to doing C++ in an environment where I don't have to worry if it works on any other architectures hehe (i.e demoscene productions).

@PoroCYon
Copy link
Collaborator Author

I'm clearly used to doing C++ in an environment where I don't have to worry if it works on any other architectures hehe (i.e demoscene productions).

I don't have much to say in that regard, I'm "linking" stuff using gcc -S and awk...

Also, this conversation has evolved in something "real-time". Do you happen to be on IRC? I'm "PoroCYon" (what a surprise!) on most networks.

@cpdt
Copy link
Member

cpdt commented Dec 23, 2017

Sure am! I only really frequent #revision on IRCnet (demoscene-related channel), as.. you guessed it.. 'cpdt' 🙂

@PoroCYon
Copy link
Collaborator Author

PoroCYon commented Jan 2, 2018

diff --git a/src/widgets/schematic/SchematicPanel.cpp b/src/widgets/schematic/SchematicPanel.cpp
index 664cb9c..f539f1f 100644
--- a/src/widgets/schematic/SchematicPanel.cpp
+++ b/src/widgets/schematic/SchematicPanel.cpp
@@ -3,7 +3,7 @@
 #include "src/util.h"
 #include "src/AxiomApplication.h"
 #include "SchematicView.h"
-#include "src/model/schematic.h"
+#include "src/model/Schematic.h"
 
 using namespace AxiomGui;
 

Been naughty again? :P

@cpdt
Copy link
Member

cpdt commented Jan 3, 2018

Dammit... I blame my IDE 😛 Thanks for all the sanity checking though!
Would you be happy if I gave you contributor rights so you can fix these kinds of things when they come up? It would definitely be helpful having someone testing everything on a unix-like OS to make sure I don't continuously fall into these traps.

cpdt added a commit that referenced this issue Jan 3, 2018
it haunts my dreams
@PoroCYon
Copy link
Collaborator Author

PoroCYon commented Jan 3, 2018

Sure, if you don't mind. I won't be able to check a lot, though, as I'm currently studying for the exams.

Dammit... I blame my IDE 😛

It would definitely be helpful having someone testing everything on a unix-like OS to make sure I don't continuously fall into these traps.

Install Gentoo and use Vim! :P

@cpdt
Copy link
Member

cpdt commented Jan 4, 2018

Fair enough. I've sent you a collaborator invite, if you accept don't feel obliged to do anything though. And good luck with your exams!

I tried running Linux once, unfortunately it seems that many of the things I rely on tend to be Windows-only 😕

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants