Giter Site home page Giter Site logo

any.h broken on OSX/64bit about gem HOT 16 CLOSED

umlaeute avatar umlaeute commented on June 29, 2024
any.h broken on OSX/64bit

from gem.

Comments (16)

umlaeute avatar umlaeute commented on June 29, 2024

TODO

  • build a 32bit version of Gem on OSX-10.9
  • build a 64bit/linux version using clang++

from gem.

umlaeute avatar umlaeute commented on June 29, 2024

there is a new gem::any implementation (originally submitted in the master branch, but now retracted to the any branch as

  • it needs much more testing
  • is likely to break each and every pre-compiled plugin

from gem.

umlaeute avatar umlaeute commented on June 29, 2024

so i did some further tests, and it seems that:

  • 32bit binaries on OSX/mavericks work with the original any.h implementation
  • using clang++ on linux/64 produces a working binary with the original any.h implementation
$ clang++ --version
Debian clang version 3.5.0-svn213451-1 (trunk) (based on LLVM 3.5.0)
Target: x86_64-pc-linux-gnu
Thread model: posix

so this leaves us with only OSX/64bit (which versions?) that do not work

from gem.

umlaeute avatar umlaeute commented on June 29, 2024

seems that the hack in commit 5d93cf9 fixed this issue (or rather: worked around it)

from gem.

avilleret avatar avilleret commented on June 29, 2024

the workaround in 5d93cf9 doesn't work
At least, building Gem from that point on 10.10.1 doesn't work.
So I think we should reopen this and mark #92 as duplicate

from gem.

umlaeute avatar umlaeute commented on June 29, 2024

could you please provide the full compiler specs?

from gem.

avilleret avatar avilleret commented on June 29, 2024

$ g++ --version
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 6.0 (clang-600.0.54) (based on LLVM 3.5svn)
Target: x86_64-apple-darwin14.0.0
Thread model: posix

NOTE : by merging master into any (see https://github.com/avilleret/Gem/tree/any)
I'm able to build 32bit and 64bit with working Pixes

from gem.

umlaeute avatar umlaeute commented on June 29, 2024

good to know that the any branch got this working.
i'm not entirely sure about the reasons why i decided to not merge it back-then (probably to keep binary compatibility)

from gem.

umlaeute avatar umlaeute commented on June 29, 2024

checking the logs, it seems that i actually reverted these changes back then...there must be a reason for this

from gem.

avilleret avatar avilleret commented on June 29, 2024

I saw that, but don't understand the reason
afair, you revert with note "need more testing"
then I do, it seems to work , at least more than master :-)

from gem.

avilleret avatar avilleret commented on June 29, 2024

Pd crashes when loading pix_film
I'll do more testing later...

from gem.

avilleret avatar avilleret commented on June 29, 2024

here is a backtrace : https://gist.github.com/avilleret/bcefe62e4ee6a72cbffa

to reproduce, build Gem 64bit from https://github.com/avilleret/Gem/tree/any and then open Pd and load Gem, make a new patch, add a pix_film object, pd crashes here

from gem.

avilleret avatar avilleret commented on June 29, 2024

ubuntu 64bit also suffer form this issue, here is a bactrace :
https://gist.github.com/avilleret/b555a73245571c74dd56

from gem.

umlaeute avatar umlaeute commented on June 29, 2024

which probably explains why i reverted the changes...

from gem.

avilleret avatar avilleret commented on June 29, 2024

with a fresh build from 5a11cfb
on macos Sierra 10.12.6 (running in VirtualBox)
and the following patch :

diff --git a/src/Pixes/pix_noise.cpp b/src/Pixes/pix_noise.cpp
index 151a98d..6681c3a 100644
--- a/src/Pixes/pix_noise.cpp
+++ b/src/Pixes/pix_noise.cpp
@@ -78,6 +78,15 @@ void pix_noise :: render(GemState *state)
                generateNoise();
        }
        state->set(GemState::_PIX,&m_pixBlock);
+
+    pixBlock pix;
+    pixBlock*pixPtr=&pix;
+    GemState _state;
+    _state.set(GemState::_PIX, pixPtr) ;
+    if(!_state.get(GemState::_PIX, pixPtr))
+      error("oops");
+    else
+      post("ok dude, eveything's fine !");
 }

and the following g++

$ g++ --version
Configured with: --prefix=/Library/Developer/CommandLineTools/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 9.0.0 (clang-900.0.38)
Target: x86_64-apple-darwin16.7.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin

and I got lots of

ok dude, eveything's fine !

in the Pd console.

So my guess is that everything is working.
If you need some more test, let me know.

from gem.

umlaeute avatar umlaeute commented on June 29, 2024

great. let's assume the problem has been fixed :-)

from gem.

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.