zmq +nss: fatal error: prlink.h: No such file or directory
/opt/local/include/nss/seccomon.h:17:10: fatal error: prtypes.h: No such file or directory
17 | #include "prtypes.h"
| ^~~~~~~~~~~
compilation terminated.
/opt/local/include/nss/secport.h:13:10: fatal error: prlink.h: No such file or directory
13 | #include "prlink.h"
| ^~~~~~~~~~
compilation terminated.
In file included from /opt/local/include/nss/seccomon.h:27,
from /opt/local/include/nss/nss.h:34,
from /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_zmq/zmq/work/libzmq-4.3.4/src/ctx.cpp:56:
/opt/local/include/nss/secport.h:77: error: ‘PLArenaPool’ does not name a type
/opt/local/include/nss/secport.h:78: error: ‘PRUint32’ does not name a type
/opt/local/include/nss/secport.h:96: error: expected initializer before ‘*’ token
/opt/local/include/nss/secport.h:97: warning: ‘PORT_FreeArena’ initialized and declared ‘extern’
/opt/local/include/nss/secport.h:97: error: variable or field ‘PORT_FreeArena’ declared void
/opt/local/include/nss/secport.h:97: error: ‘PLArenaPool’ was not declared in this scope
/opt/local/include/nss/secport.h:97: error: ‘arena’ was not declared in this scope
/opt/local/include/nss/secport.h:97: error: ‘PRBool’ was not declared in this scope
/opt/local/include/nss/secport.h:105: warning: ‘PORT_ArenaAlloc’ initialized and declared ‘extern’
/opt/local/include/nss/secport.h:105: error: ‘PLArenaPool’ was not declared in this scope
/opt/local/include/nss/secport.h:105: error: ‘arena’ was not declared in this scope
/opt/local/include/nss/secport.h:105: error: expected primary-expression before ‘size’
/opt/local/include/nss/secport.h:105: error: initializer expression list treated as compound expression
/opt/local/include/nss/secport.h:106: warning: ‘PORT_ArenaZAlloc’ initialized and declared ‘extern’
/opt/local/include/nss/secport.h:106: error: ‘PLArenaPool’ was not declared in this scope
/opt/local/include/nss/secport.h:106: error: ‘arena’ was not declared in this scope
/opt/local/include/nss/secport.h:106: error: expected primary-expression before ‘size’
/opt/local/include/nss/secport.h:106: error: initializer expression list treated as compound expression
/opt/local/include/nss/secport.h:107: warning: ‘PORT_ArenaGrow’ initialized and declared ‘extern’
/opt/local/include/nss/secport.h:107: error: ‘PLArenaPool’ was not declared in this scope
/opt/local/include/nss/secport.h:107: error: ‘arena’ was not declared in this scope
/opt/local/include/nss/secport.h:107: error: expected primary-expression before ‘void’
/opt/local/include/nss/secport.h:108: error: expected primary-expression before ‘oldsize’
/opt/local/include/nss/secport.h:108: error: expected primary-expression before ‘newsize’
/opt/local/include/nss/secport.h:108: error: initializer expression list treated as compound expression
/opt/local/include/nss/secport.h:109: warning: ‘PORT_ArenaMark’ initialized and declared ‘extern’
/opt/local/include/nss/secport.h:109: error: ‘PLArenaPool’ was not declared in this scope
/opt/local/include/nss/secport.h:109: error: ‘arena’ was not declared in this scope
/opt/local/include/nss/secport.h:110: warning: ‘PORT_ArenaRelease’ initialized and declared ‘extern’
/opt/local/include/nss/secport.h:110: error: variable or field ‘PORT_ArenaRelease’ declared void
/opt/local/include/nss/secport.h:110: error: ‘PLArenaPool’ was not declared in this scope
/opt/local/include/nss/secport.h:110: error: ‘arena’ was not declared in this scope
/opt/local/include/nss/secport.h:110: error: expected primary-expression before ‘void’
/opt/local/include/nss/secport.h:111: warning: ‘PORT_ArenaZRelease’ initialized and declared ‘extern’
/opt/local/include/nss/secport.h:111: error: variable or field ‘PORT_ArenaZRelease’ declared void
/opt/local/include/nss/secport.h:111: error: ‘PLArenaPool’ was not declared in this scope
/opt/local/include/nss/secport.h:111: error: ‘arena’ was not declared in this scope
/opt/local/include/nss/secport.h:111: error: expected primary-expression before ‘void’
/opt/local/include/nss/secport.h:112: warning: ‘PORT_ArenaUnmark’ initialized and declared ‘extern’
/opt/local/include/nss/secport.h:112: error: variable or field ‘PORT_ArenaUnmark’ declared void
/opt/local/include/nss/secport.h:112: error: ‘PLArenaPool’ was not declared in this scope
/opt/local/include/nss/secport.h:112: error: ‘arena’ was not declared in this scope
/opt/local/include/nss/secport.h:112: error: expected primary-expression before ‘void’
/opt/local/include/nss/secport.h:113: warning: ‘PORT_ArenaStrdup’ initialized and declared ‘extern’
/opt/local/include/nss/secport.h:113: error: ‘PLArenaPool’ was not declared in this scope
/opt/local/include/nss/secport.h:113: error: ‘arena’ was not declared in this scope
/opt/local/include/nss/secport.h:113: error: expected primary-expression before ‘const’
/opt/local/include/nss/secport.h:113: error: initializer expression list treated as compound expression
/opt/local/include/nss/secport.h:202: error: ISO C++ forbids declaration of ‘PRBool’ with no type
/opt/local/include/nss/secport.h:202: error: typedef ‘PRBool’ is initialized (use __typeof__ instead)
/opt/local/include/nss/secport.h:202: error: ‘PR_CALLBACK’ was not declared in this scope
/opt/local/include/nss/secport.h:202: error: ‘PORTCharConversionWSwapFunc’ was not declared in this scope
/opt/local/include/nss/secport.h:207: error: ISO C++ forbids declaration of ‘PRBool’ with no type
/opt/local/include/nss/secport.h:207: error: typedef ‘PRBool’ is initialized (use __typeof__ instead)
/opt/local/include/nss/secport.h:207: error: ‘PR_CALLBACK’ was not declared in this scope
/opt/local/include/nss/secport.h:207: error: ‘PORTCharConversionFunc’ was not declared in this scope
/opt/local/include/nss/secport.h:214: error: variable or field ‘PORT_SetUCS4_UTF8ConversionFunction’ declared void
/opt/local/include/nss/secport.h:214: error: ‘PORTCharConversionFunc’ was not declared in this scope
/opt/local/include/nss/secport.h:215: error: variable or field ‘PORT_SetUCS2_ASCIIConversionFunction’ declared void
/opt/local/include/nss/secport.h:215: error: ‘PORTCharConversionWSwapFunc’ was not declared in this scope
/opt/local/include/nss/secport.h:216: error: ‘PRBool’ does not name a type
/opt/local/include/nss/secport.h:219: error: ‘PRBool’ does not name a type
/opt/local/include/nss/secport.h:223: error: variable or field ‘PORT_SetUCS2_UTF8ConversionFunction’ declared void
/opt/local/include/nss/secport.h:223: error: ‘PORTCharConversionFunc’ was not declared in this scope
/opt/local/include/nss/secport.h:224: error: ‘PRBool’ does not name a type
/opt/local/include/nss/secport.h:229: error: ‘PRBool’ does not name a type
/opt/local/include/nss/secport.h:233: error: ‘PRBool’ does not name a type
/opt/local/include/nss/secport.h:242: error: ‘PRBool’ does not name a type
/opt/local/include/nss/secport.h:252: error: ‘PRBool’ does not name a type
/opt/local/include/nss/secport.h:295: error: expected constructor, destructor, or type conversion before ‘*’ token
In file included from /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_zmq/zmq/work/libzmq-4.3.4/src/ctx.cpp:56:
/opt/local/include/nss/nss.h:97: error: ‘PRBool’ does not name a type
/opt/local/include/nss/nss.h:120: error: ‘PRBool’ does not name a type
/opt/local/include/nss/nss.h:138: error: ‘PRBool’ does not name a type
/opt/local/include/nss/nss.h:231: error: ‘PRUint32’ has not been declared
/opt/local/include/nss/nss.h:235: error: ‘PRUint32’ has not been declared
/opt/local/include/nss/nss.h:253: error: ‘PRUint32’ has not been declared
/opt/local/include/nss/nss.h:308: error: ‘PRInt32’ was not declared in this scope
/opt/local/include/nss/nss.h:308: error: ‘PRInt32’ was not declared in this scope
/opt/local/include/nss/nss.h:308: error: initializer expression list treated as compound expression
/opt/local/include/nss/nss.h:309: error: ‘PRInt32’ was not declared in this scope
/opt/local/include/nss/nss.h:309: error: ‘PRInt32’ was not declared in this scope
/opt/local/include/nss/nss.h:309: error: ‘value’ was not declared in this scope
/opt/local/include/nss/nss.h:309: error: initializer expression list treated as compound expression
Some of these will be fixed via adding #define __STDC_FORMAT_MACROS 1
, but that does not solve the problem.
Change History (4)
Description: |
modified (diff)
|
Cc: |
michaelld added
|
Owner: |
set to stromnov
|
Port: |
zmq added; nss removed
|
Status: |
new →
assigned
|
Summary: |
nss headers are broken →
zmq +nss: fatal error: prlink.h: No such file or directory
|
Resolution: |
→ fixed
|
Status: |
assigned →
closed
|
This seems like a defect in the +nss variant you recently added to the zmq port. The portfile manually adds
-I${prefix}/include/nss
but fails to add-I${prefix}/include/nspr
(that's where prtypes.h is).pkg-config nss --cflags
knows about both paths.After fixing that, the build of zmq +nss still fails at link time when it can't find libssl3.dylib, because as with the headers it's not looking in the right directory.
pkg-config nss --libs
shows the correct flags to use for linking.The build system should be handling this all for us, so I suspect it's something the developers of zmq should fix in their cmake files. I've filed a bug report with them.