Skip to content
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

What incompetent human being did package this? #166

Open
zilti opened this issue Jan 2, 2018 · 5 comments
Open

What incompetent human being did package this? #166

zilti opened this issue Jan 2, 2018 · 5 comments

Comments

@zilti
Copy link

zilti commented Jan 2, 2018

  • uses npm to distribute native code
  • put Makefile.am in a folder "autocrap"
  • ignores if there's already a scrypt installation on the system
  • fails to show the configure error in NPM
@zilti
Copy link
Author

zilti commented Jan 2, 2018

gmake: Entering directory '/usr/pkg/lib/node_modules/storjshare-daemon/node_modules/scrypt/build'
  SOLINK_MODULE(target) Release/obj.target/copied_files.node
  COPY Release/copied_files.node
  CC(target) Release/obj.target/scrypt_wrapper/src/util/memlimit.o
  CC(target) Release/obj.target/scrypt_wrapper/src/scryptwrapper/keyderivation.o
In file included from ../src/scryptwrapper/keyderivation.c:30:0:
../scrypt/scrypt-1.2.0/libcperciva/util/sysendian.h:8:17: error: redefinition of 'libcperciva_be16enc'
 #define be16enc libcperciva_be16enc
                 ^
../scrypt/scrypt-1.2.0/libcperciva/util/sysendian.h:8:17: note: previous definition of 'libcperciva_be16enc' was here
 #define be16enc libcperciva_be16enc
                 ^
../scrypt/scrypt-1.2.0/libcperciva/util/sysendian.h:29:1: note: in expansion of macro 'be16enc'
 be16enc(void * pp, uint16_t x)
 ^
../scrypt/scrypt-1.2.0/libcperciva/util/sysendian.h:10:17: error: redefinition of 'libcperciva_be32enc'
 #define be32enc libcperciva_be32enc
                 ^
../scrypt/scrypt-1.2.0/libcperciva/util/sysendian.h:10:17: note: previous definition of 'libcperciva_be32enc' was here
 #define be32enc libcperciva_be32enc
                 ^
../scrypt/scrypt-1.2.0/libcperciva/util/sysendian.h:47:1: note: in expansion of macro 'be32enc'
 be32enc(void * pp, uint32_t x)
 ^
../scrypt/scrypt-1.2.0/libcperciva/util/sysendian.h:12:17: error: redefinition of 'libcperciva_be64enc'
 #define be64enc libcperciva_be64enc
                 ^
../scrypt/scrypt-1.2.0/libcperciva/util/sysendian.h:12:17: note: previous definition of 'libcperciva_be64enc' was here
 #define be64enc libcperciva_be64enc
                 ^
../scrypt/scrypt-1.2.0/libcperciva/util/sysendian.h:69:1: note: in expansion of macro 'be64enc'
 be64enc(void * pp, uint64_t x)
 ^
../scrypt/scrypt-1.2.0/libcperciva/util/sysendian.h:14:17: error: redefinition of 'libcperciva_le16enc'
 #define le16enc libcperciva_le16enc
                 ^
../scrypt/scrypt-1.2.0/libcperciva/util/sysendian.h:14:17: note: previous definition of 'libcperciva_le16enc' was here
 #define le16enc libcperciva_le16enc
                 ^
../scrypt/scrypt-1.2.0/libcperciva/util/sysendian.h:92:1: note: in expansion of macro 'le16enc'
 le16enc(void * pp, uint16_t x)
 ^
../scrypt/scrypt-1.2.0/libcperciva/util/sysendian.h:16:17: error: redefinition of 'libcperciva_le32enc'
 #define le32enc libcperciva_le32enc
                 ^
../scrypt/scrypt-1.2.0/libcperciva/util/sysendian.h:16:17: note: previous definition of 'libcperciva_le32enc' was here
 #define le32enc libcperciva_le32enc
                 ^
../scrypt/scrypt-1.2.0/libcperciva/util/sysendian.h:110:1: note: in expansion of macro 'le32enc'
 le32enc(void * pp, uint32_t x)
 ^
../scrypt/scrypt-1.2.0/libcperciva/util/sysendian.h:18:17: error: redefinition of 'libcperciva_le64enc'
 #define le64enc libcperciva_le64enc
                 ^
../scrypt/scrypt-1.2.0/libcperciva/util/sysendian.h:18:17: note: previous definition of 'libcperciva_le64enc' was here
 #define le64enc libcperciva_le64enc
                 ^
../scrypt/scrypt-1.2.0/libcperciva/util/sysendian.h:132:1: note: in expansion of macro 'le64enc'
 le64enc(void * pp, uint64_t x)
 ^
../scrypt/scrypt-1.2.0/libcperciva/util/sysendian.h:7:17: error: redefinition of 'libcperciva_be16dec'
 #define be16dec libcperciva_be16dec
                 ^
../scrypt/scrypt-1.2.0/libcperciva/util/sysendian.h:7:17: note: previous definition of 'libcperciva_be16dec' was here
 #define be16dec libcperciva_be16dec
                 ^
../scrypt/scrypt-1.2.0/libcperciva/util/sysendian.h:21:1: note: in expansion of macro 'be16dec'
 be16dec(const void * pp)
 ^
../scrypt/scrypt-1.2.0/libcperciva/util/sysendian.h:9:17: error: redefinition of 'libcperciva_be32dec'
 #define be32dec libcperciva_be32dec
                 ^
../scrypt/scrypt-1.2.0/libcperciva/util/sysendian.h:9:17: note: previous definition of 'libcperciva_be32dec' was here
 #define be32dec libcperciva_be32dec
                 ^
../scrypt/scrypt-1.2.0/libcperciva/util/sysendian.h:38:1: note: in expansion of macro 'be32dec'
 be32dec(const void * pp)
 ^
../scrypt/scrypt-1.2.0/libcperciva/util/sysendian.h:11:17: error: redefinition of 'libcperciva_be64dec'
 #define be64dec libcperciva_be64dec
                 ^
../scrypt/scrypt-1.2.0/libcperciva/util/sysendian.h:11:17: note: previous definition of 'libcperciva_be64dec' was here
 #define be64dec libcperciva_be64dec
                 ^
../scrypt/scrypt-1.2.0/libcperciva/util/sysendian.h:58:1: note: in expansion of macro 'be64dec'
 be64dec(const void * pp)
 ^
../scrypt/scrypt-1.2.0/libcperciva/util/sysendian.h:13:17: error: redefinition of 'libcperciva_le16dec'
 #define le16dec libcperciva_le16dec
                 ^
../scrypt/scrypt-1.2.0/libcperciva/util/sysendian.h:13:17: note: previous definition of 'libcperciva_le16dec' was here
 #define le16dec libcperciva_le16dec
                 ^
../scrypt/scrypt-1.2.0/libcperciva/util/sysendian.h:84:1: note: in expansion of macro 'le16dec'
 le16dec(const void * pp)
 ^
../scrypt/scrypt-1.2.0/libcperciva/util/sysendian.h:15:17: error: redefinition of 'libcperciva_le32dec'
 #define le32dec libcperciva_le32dec
                 ^
../scrypt/scrypt-1.2.0/libcperciva/util/sysendian.h:15:17: note: previous definition of 'libcperciva_le32dec' was here
 #define le32dec libcperciva_le32dec
                 ^
../scrypt/scrypt-1.2.0/libcperciva/util/sysendian.h:101:1: note: in expansion of macro 'le32dec'
 le32dec(const void * pp)
 ^
../scrypt/scrypt-1.2.0/libcperciva/util/sysendian.h:17:17: error: redefinition of 'libcperciva_le64dec'
 #define le64dec libcperciva_le64dec
                 ^
../scrypt/scrypt-1.2.0/libcperciva/util/sysendian.h:17:17: note: previous definition of 'libcperciva_le64dec' was here
 #define le64dec libcperciva_le64dec
                 ^
../scrypt/scrypt-1.2.0/libcperciva/util/sysendian.h:121:1: note: in expansion of macro 'le64dec'
 le64dec(const void * pp)
 ^
scrypt_wrapper.target.mk:94: recipe for target 'Release/obj.target/scrypt_wrapper/src/scryptwrapper/keyderivation.o' failed
gmake: *** [Release/obj.target/scrypt_wrapper/src/scryptwrapper/keyderivation.o] Error 1
gmake: Leaving directory '/usr/pkg/lib/node_modules/storjshare-daemon/node_modules/scrypt/build'

@fanatid
Copy link

fanatid commented Jan 2, 2018

@zilti nobody can not know all things in the world.
You always can send PR or fork project. Also you always free to use/not use this project.
Probably @barrysteyn created this in free time and we all should say "thank you" to him.

@BrandonZacharie
Copy link

BrandonZacharie commented Jan 4, 2018

uses npm to distribute native code

Anyone who wishes to publish an NPM module that relies on native code such that it performs calls in "C land" (i.e. heapdump, fs-extra, sharp, bluebird, etc.).

put Makefile.am in a folder "autocrap"

Ask Colin Percival, the original author of Scrypt; everything under the scrypt-1.2.0 directory is from him and not the author of this module.

ignores if there's already a scrypt installation on the system

This module doesn't use the scrypt from the CLI. See my first response.

fails to show the configure error in NPM

I'm not sure what's going on there. My understanding is that NPM prints whatever comes out of stdout/stderr. What do you see being discarded?

@zilti
Copy link
Author

zilti commented Jan 4, 2018

That's funny - I don't see an autocrap folder on https://github.com/Tarsnap/scrypt.

Anyway, I've sent you the correction necessary to make it work properly. Also, I want to excuse for my overly rude "contribution" here. It was a damn long day, I had a huge bucket of problems with all kinds of things, and then what I needed required Node.js plus a few things that just didn't want to build.

@barrysteyn
Copy link
Owner

barrysteyn commented Jan 4, 2018 via email

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

No branches or pull requests

4 participants