Giter Club home page Giter Club logo

Comments (7)

hexdump0815 avatar hexdump0815 commented on June 14, 2024 1

thanks a lot for the quick response - your fix looks good and compiles well on arm: the symbols are correct and i guess that it will load now ... will test for real tomorrow

from potatochips.

hexdump0815 avatar hexdump0815 commented on June 14, 2024

some updates:

  • tried it with g++ 7.5.0 as well - same result
  • tried to compile with -std=c++11 (as changing this once work somewhere else) - same result
  • example file where i get the problem is src/SCC.cpp
$ nm -g build/src/SCC.cpp.o | grep _ZN15WaveTableEditorIaE11ColorBorderE
00000000 u _ZN15WaveTableEditorIaE11ColorBorderE
  • other files affected: SCC.cpp, GBS.cpp, 106.cpp, TURBO_GRAFX_16.cpp - i.e. everything with a WaveTableEditor
  • compile warnings look similar between armv7l (where it does not work) and arrch64 (where it works) - so likely no obvious code error anywhere
  • comapring the nm output of armv7l (where it does not work) and arrch64 (where it works) - first aarch64 then armv7l:
aarch64$ nm -g plugin.so | grep WaveTableEditor
000000000003b4e0 W _ZN15WaveTableEditorIaE10onDragMoveERKN4rack5event8DragMoveE
000000000003b610 W _ZN15WaveTableEditorIaE4drawERKN4rack6widget6Widget8DrawArgsE
000000000003b820 W _ZN15WaveTableEditorIaE8onButtonERKN4rack5event6ButtonE
000000000003b4a0 W _ZN15WaveTableEditorIaED0Ev
000000000003b480 W _ZN15WaveTableEditorIaED1Ev
000000000003b480 W _ZN15WaveTableEditorIaED2Ev
0000000000032e40 W _ZN15WaveTableEditorIhE10onDragMoveERKN4rack5event8DragMoveE
0000000000032f70 W _ZN15WaveTableEditorIhE4drawERKN4rack6widget6Widget8DrawArgsE
00000000000332c0 W _ZN15WaveTableEditorIhE8onButtonERKN4rack5event6ButtonE
0000000000032c30 W _ZN15WaveTableEditorIhED0Ev
0000000000032c10 W _ZN15WaveTableEditorIhED1Ev
0000000000032c10 W _ZN15WaveTableEditorIhED2Ev
000000000009acd8 V _ZTI15WaveTableEditorIaE
0000000000099d50 V _ZTI15WaveTableEditorIhE
000000000007dde0 V _ZTS15WaveTableEditorIaE
000000000007d6b8 V _ZTS15WaveTableEditorIhE
000000000009aee8 V _ZTV15WaveTableEditorIaE
000000000009a738 V _ZTV15WaveTableEditorIhE

armv7l$ nm -g plugin.so | grep WaveTableEditor
0002b358 W _ZN15WaveTableEditorIaE10onDragMoveERKN4rack5event8DragMoveE
00060790 u _ZN15WaveTableEditorIaE11ColorBorderE
0002b47c W _ZN15WaveTableEditorIaE4drawERKN4rack6widget6Widget8DrawArgsE
0002b668 W _ZN15WaveTableEditorIaE8onButtonERKN4rack5event6ButtonE
0002b330 W _ZN15WaveTableEditorIaED0Ev
0002b310 W _ZN15WaveTableEditorIaED1Ev
0002b310 W _ZN15WaveTableEditorIaED2Ev
0002402c W _ZN15WaveTableEditorIhE10onDragMoveERKN4rack5event8DragMoveE
000602a8 u _ZN15WaveTableEditorIhE11ColorBorderE
00024150 W _ZN15WaveTableEditorIhE4drawERKN4rack6widget6Widget8DrawArgsE
00024448 W _ZN15WaveTableEditorIhE8onButtonERKN4rack5event6ButtonE
00023ee4 W _ZN15WaveTableEditorIhED0Ev
00023ec4 W _ZN15WaveTableEditorIhED1Ev
00023ec4 W _ZN15WaveTableEditorIhED2Ev
0007689c V _ZTI15WaveTableEditorIaE
000760c4 V _ZTI15WaveTableEditorIhE
000606f8 V _ZTS15WaveTableEditorIaE
000600d4 V _ZTS15WaveTableEditorIhE
000769a4 V _ZTV15WaveTableEditorIaE
000765cc V _ZTV15WaveTableEditorIhE

from potatochips.

Kautenja avatar Kautenja commented on June 14, 2024

Hey thanks for bringing this to my attention. I hadn't tried to compile for ARM, so hadn't come across this. I patched a fix in the master branch, but haven't tried to compile for ARM. I believe the problem was due to my usage of class level static constexpr variables, which have now been removed. Let me know if there are still compilations issues.

from potatochips.

hexdump0815 avatar hexdump0815 commented on June 14, 2024

i can confirm that works for real now - closing the issue

thanks a lot and best wishes - hexdump

from potatochips.

Kautenja avatar Kautenja commented on June 14, 2024

Awesome! happy to help get things working on ARM. How do you go about compiling VCV Rack for ARM? I use Travis CI to run tests on each commit on GitHub and they have an ARM platform, but I ran into some compilation issues from the Rack SDK. Namely, it appears that

  1. --arch=nocona is invalid in the rack makefile (and should either be omitted for ARM or else set to the appropriate ARM architecture like armv7) when I try compiling on my raspberry pi
  2. when I manually resolve (1) I get blocked by fatal error: pmmintrin.h: No such file or directory and have not found a solution

If you could share the details about how you get VCV Rack compiled for ARM architectures that would be awesome! Then my test platform would guarantee the ARM builds are passing when I make new commits (very useful for future projects).

from potatochips.

hexdump0815 avatar hexdump0815 commented on June 14, 2024

to compile vcvrack and the plugins on arm i have a bunch of patches to make it compile nicely here in this repo: https://github.com/hexdump0815/vcvrack-dockerbuild-v1 ... i do all the builds in a docker container (to have a well defined environment) via some script also in that repo, there are also other scripts to setup everything for compilation etc. ... for translating the intel sse etc. simd instructions (where used) to arm neon i'm using the simde project ... with all this i have vcvrack and all open source plugins i could find so far (currently 165!) compiling perfectly on both 32bit and 64bit arm ... as far as i can see nearly all of them are also working perfectly fine - i of course cannot really test all the resulting 1750 modules i have in there currently :)

p.s.: in case you want to play around wih vcvrack on your raspberry pi, you might have a look at my sonaremin project: https://github.com/hexdump0815/sonaremin which is a ready run vcvrack system for various arm systems - one just needs to write the corresponding image to an sd card, maybe some minimal config adjustments are required and then it will boot directly into a fully working vcvrack ... documentation is sadly lacking a bit ... there is even a headless mode where the sonaremin will start vcvrack with a predefined patch

from potatochips.

Kautenja avatar Kautenja commented on June 14, 2024

Oh sweet I'll snag the docker environments and build against those, thanks! Also, Sonaremin looks gnarly :O I'll definitely be playing around with that this week.

from potatochips.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.