How to use tapered edges in graphviz - graphviz

Tapered edges, which came out in September 2011, look pretty cool.
http://www.graphviz.org/News.php/
http://www.graphviz.org/pub/tmp/images/tapered-edge.png
I added style="tapered" to my edge options, which otherwise work fine:
edge [color="black", minlen="1.3", arrowsize="0.6", style="tapered"]
But now I get this error:
$ dot -Tsvg demo.dot -o dot.svg
Warning: gvrender_set_style: unsupported style tapered - ignoring
Warning: gvrender_set_style: unsupported style tapered - ignoring
Warning: gvrender_set_style: unsupported style tapered - ignoring
Warning: gvrender_set_style: unsupported style tapered - ignoring
Warning: gvrender_set_style: unsupported style tapered - ignoring
Warning: gvrender_set_style: unsupported style tapered - ignoring
Warning: gvrender_set_style: unsupported style tapered - ignoring
Warning: gvrender_set_style: unsupported style tapered - ignoring
Warning: gvrender_set_style: unsupported style tapered - ignoring
Warning: gvrender_set_style: unsupported style tapered - ignoring
Warning: gvrender_set_style: unsupported style tapered - ignoring
Warning: gvrender_set_style: unsupported style tapered - ignoring
Warning: gvrender_set_style: unsupported style tapered - ignoring
It appears there is a warning for every edge in my graph.
What is causing this, and how do I fix it? I'm running ubuntu 12.04.

You most certainly do not have the version of graphviz needed for tapered edges.
Try dot -v, if your graphviz version starts with 2.28 or less, tapered edges probably won't work. I get the same errors with a 2.28 version. Graphviz 2.29 however accepts the tapered style attribute.
Btw, once you a have an updated graphviz version working, you can use penwidth to change the thickness of the tapered edges.

Related

Warning: enumeration value ‘BUILT_IN_CILK_SYNC’ not handled in switch [-Wswitch]

I'm trying to install gcc on cygwyn using this tutorial. After this step $ make -j4 I'm facing lots of warnings:
^
../../gcc-4.9.2/gcc/asan.c:2012:11: warning: enumeration value ‘BUILT_IN_ACOS’ not handled in switch [-Wswitch]
../../gcc-4.9.2/gcc/asan.c:2012:11: warning: enumeration value ‘BUILT_IN_ACOSF’ not handled in switch [-Wswitch]
../../gcc-4.9.2/gcc/asan.c:2012:11: warning: enumeration value ‘BUILT_IN_ACOSH’ not handled in switch [-Wswitch]
../../gcc-4.9.2/gcc/asan.c:2012:11: warning: enumeration value ‘BUILT_IN_ACOSHF’ not handled in switch [-Wswitch]
../../gcc-4.9.2/gcc/asan.c:2012:11: warning: enumeration value ‘BUILT_IN_ACOSHL’ not handled in switch [-Wswitch]
Will they cause any problem? What are these?
the current gcc on cygwin is 5.4.0. You are wasting time to recompile 4.9.2 old version with 5.4.0 as compiler. The tutorial is of course obsolete – matzeri

How to make librtmp compile on Mac OS X

I am trying to build rtmpdump and librtmp on mac, however I cannot for the life of me work out why it isn't working. I am using my own built openssl:
$ openssl version
OpenSSL 1.1.0-pre3 (alpha) 15 Feb 2016
I have set the flags correctly (I think), but yet when I try and compile I get this:
$ make INC=-I/usr/local/include
gcc -Wall -I/usr/local/include -DRTMPDUMP_VERSION=\"v2.4\" -DUSE_OPENSSL -O2 -fPIC -c -o rtmp.o rtmp.c
In file included from rtmp.c:152:
./handshake.h:120:12: error: variable has incomplete type 'HMAC_CTX' (aka 'struct hmac_ctx_st')
HMAC_CTX ctx;
^
/usr/local/include/openssl/ossl_typ.h:145:16: note: forward declaration of 'struct hmac_ctx_st'
typedef struct hmac_ctx_st HMAC_CTX;
^
In file included from rtmp.c:152:
./handshake.h:125:3: warning: implicit declaration of function 'HMAC_CTX_init' is invalid in C99 [-Wimplicit-function-declaration]
HMAC_setup(ctx, secretKey, 128);
^
./handshake.h:72:35: note: expanded from macro 'HMAC_setup'
#define HMAC_setup(ctx, key, len) HMAC_CTX_init(&ctx); HMAC_Init_ex(&ctx, key, len, EVP_sha256(), 0)
^
./handshake.h:127:3: warning: implicit declaration of function 'HMAC_CTX_cleanup' is invalid in C99 [-Wimplicit-function-declaration]
HMAC_finish(ctx, digest, digestLen);
^
./handshake.h:74:67: note: expanded from macro 'HMAC_finish'
#define HMAC_finish(ctx, dig, dlen) HMAC_Final(&ctx, dig, &dlen); HMAC_CTX_cleanup(&ctx)
^
./handshake.h:269:12: error: variable has incomplete type 'HMAC_CTX' (aka 'struct hmac_ctx_st')
HMAC_CTX ctx;
^
/usr/local/include/openssl/ossl_typ.h:145:16: note: forward declaration of 'struct hmac_ctx_st'
typedef struct hmac_ctx_st HMAC_CTX;
^
rtmp.c:192:13: warning: comparison of constant 18446744073709551597 with expression of type 'uint32_t' (aka 'unsigned int') is always false [-Wtautological-constant-out-of-range-compare]
if (nSize > SIZE_MAX - RTMP_MAX_HEADER_SIZE)
~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3 warnings and 2 errors generated.
make[1]: *** [rtmp.o] Error 1
make: *** [librtmp/librtmp.a] Error 2
It looks like it might be a compatibility issue with the version of OpenSSL I'm using. Does anyone know how to fix this kind of issue, or any changes to OpenSSL that might be responsible?
OpenSSL 1.1.0-pre3 (alpha) 15 Feb 2016...
Does anyone know how to fix this kind of issue, or any changes to OpenSSL that might be responsible?
Broadly speaking, there appears to be two high level changes in OpenSSL 1.1.x that caused most of the problems. First was the changes to the build system. Second was the firmer posture with respect to private APIs. I think you're seeing an artifact of the second, the private APIs.
Generally speaking, 1.1.0-pre3 and 1.1.0-pre4 have a number of problems and mostly can't achieve a successful make test. The issues include configuration and build issues for 32-bit OS X PowerMac, 64-bit OS X PowerMac, 32-bit OS X, 64-bit OS X, 32-bit ARM, 64-bit ARM, OpenBSD 5.7, NetBSD 7.0, Cygwin, CentOS 5, CentOS 7 and i686. So many so that I've filed about 25 bugs in preparation for the upcoming Beta-1 scheduled to arrive Monday, 14 MAR 2016.
You should probably avoid 1.1.0-pre-N at the moment because its so unstable. You should be OK under x86_64 Linux, but anything else is a crap shoot at the moment. You should be able to pick it up again around Beta-2.
You will probably have better luck with the tip of Master after commits from Friday, 11 MAR 2016. That would be roughly commits 0d4d5ab and 4c1cf7e. You can get the latest with:
git clone git://git.openssl.org/openssl.git
Or, use 1.0.2 stable releases.

RubyGem Native Extension - can't find ntohl() in -lsocket

Here's a question where Google hasn't been very helpful thus far:
I'm installing a RubyGem on Linux Mint that uses native extension, so it's trying to compile them on my machine. As often happens, it returns an error stating that it doesn't have all the tools on the machine necessary to build the extension:
Building native extensions. This could take a while...
ERROR: Error installing sas-helper:
ERROR: Failed to build gem native extension.
/usr/bin/ruby1.9.1 extconf.rb
checking for expat.h... yes
checking for XML_ParserCreate() in -lexpat... yes
checking for XML_SetNotStandaloneHandler()... yes
checking for XML_SetParamEntityParsing()... yes
checking for XML_SetDoctypeDeclHandler()... yes
checking for XML_ParserReset()... yes
checking for XML_SetSkippedEntityHandler()... yes
checking for XML_GetFeatureList()... yes
checking for XML_UseForeignDTD()... yes
checking for XML_GetIdAttributeIndex()... yes
checking for ntohl() in -lsocket... no
creating Makefile
make
compiling xmlparser.c
xmlparser.c: In function ‘XMLParser_mark’:
xmlparser.c:185:16: warning: variable ‘parent’ set but not used [-Wunused-but-set-variable]
xmlparser.c: In function ‘iterExternalEntityRefHandler’:
xmlparser.c:372:9: warning: variable ‘ret’ set but not used [-Wunused-but-set-variable]
xmlparser.c: In function ‘myExternalEntityRefHandler’:
xmlparser.c:832:9: warning: variable ‘ret’ set but not used [-Wunused-but-set-variable]
xmlparser.c: In function ‘myStartCdataSectionHandler’:
xmlparser.c:860:14: warning: variable ‘parser’ set but not used [-Wunused-but-set-variable]
xmlparser.c: In function ‘myEndCdataSectionHandler’:
xmlparser.c:868:14: warning: variable ‘parser’ set but not used [-Wunused-but-set-variable]
xmlparser.c: In function ‘myNotStandaloneHandler’:
xmlparser.c:898:14: warning: variable ‘parser’ set but not used [-Wunused-but-set-variable]
xmlparser.c: In function ‘myEndDoctypeDeclHandler’:
xmlparser.c:939:14: warning: variable ‘parser’ set but not used [-Wunused-but-set-variable]
xmlparser.c: In function ‘XMLParser_parse’:
xmlparser.c:1783:2: error: format not a string literal and no format arguments [-Werror=format-security]
xmlparser.c:1832:5: error: format not a string literal and no format arguments [-Werror=format-security]
cc1: some warnings being treated as errors
make: *** [xmlparser.o] Error 1
I've looked on Google, and haven't found much of anything that looks relevant to this situation. It appears that I'm missing this ntohl() function, can anyone tell me in which Debian package I can find this function?
After some digging, I've found a solution!
You have to setup proper compiler flag: https://github.com/sparklemotion/nokogiri/issues/680#issuecomment-5830358
gem install xmlparser -- --with-cflags="-Wformat-security"
root#c6d50bebf05f:/var/lib/gems/2.0.0/gems# gem install xmlparser -- --with-cflags="-Wformat-security"
Building native extensions with: '--with-cflags=-Wformat-security'
This could take a while...
Successfully installed xmlparser-0.7.2.1
Parsing documentation for xmlparser-0.7.2.1
unable to convert "\xA0" from ASCII-8BIT to UTF-8 for /var/lib/gems/2.0.0/extensions/x86_64-linux/2.0.0/xmlparser-0.7.2.1/xmlparser.so, skipping
unable to convert "\xCD" from ASCII-8BIT to UTF-8 for README.ja, skipping
unable to convert "\xC0" from ASCII-8BIT to UTF-8 for ext/xmlparser.o, skipping
unable to convert "\xA0" from ASCII-8BIT to UTF-8 for ext/xmlparser.so, skipping
unable to convert "\xA0" from ASCII-8BIT to UTF-8 for lib/xmlparser.so, skipping
Installing ri documentation for xmlparser-0.7.2.1
1 gem installed
I guess the package is happycoders-libsocket: http://www.happycoders.org/software/libsocket.php
same issue as on Problems installing Nokogiri (1.5.2) on Ubuntu 12.10, quoting https://stackoverflow.com/users/65190/mike-dalessio:
Ubuntu 12.10 adopts Debian's hardening wrapper, which includes a set of default flags for GCC that cause this compilation error. We've worked around this in Nokogiri 1.5.4 and higher, so you'll need to either upgrade or find your own workaround.
See here for information on Debian hardening. http://wiki.debian.org/Hardening#DEB_BUILD_HARDENING_FORMAT_.28gcc.2BAC8-g.2B-.2B--Wformat-Wformat-security_-Werror.3Dformat-security.29
See here for details on the solution used by Team Nokogiri. https://github.com/sparklemotion/nokogiri/issues/680
... just copying the information here so the next guy coming along can stop the digging :)

Installing gcc 3.4.6 using gcc 4.2 on Mac OS X

I am trying to install gcc 3.4.6 on Mac OS X 10.6.8; To install gcc 3.4.6 I needed a compiler and somehow I was able to install gcc-4.2. Now using 4.2 I am trying to install 3.4.6 which throws an error as
./gcc.c:716: warning: string length ‘2483’ is greater than the length ‘509’ ISO C90 compilers are required to support
./gcc.c:723: warning: string length ‘636’ is greater than the length ‘509’ ISO C90 compilers are required to support
./gcc.c:906: warning: string length ‘529’ is greater than the length ‘509’ ISO C90 compilers are required to support
./gcc.c:924: warning: string length ‘608’ is greater than the length ‘509’ ISO C90 compilers are required to support
./gcc.c:1095: error: expected expression before ‘,’ token
./gcc.c:1506: warning: string length ‘833’ is greater than the length ‘509’ ISO C90 compilers are required to support
./gcc.c: In function ‘main’:
./gcc.c:6261: warning: format not a string literal and no format arguments
make[1]: *** [gcc.o] Error 1
make: *** [all-gcc] Error 2
Any help on why am getting this error and what is the solution is appreciated.
You can NOT using a new version gcc to compile a very old one because it will cause tons of syntax errors. Maybe you should find a precomipled version.

How can I skip the NSIS "components" page?

I'm using NSIS to create the installer (with the "Modern" UI) for a Java application that only has one installable component. It seems silly to show the user the "components" page in this scenario. How can I suppress that page? I tried commenting it out in my script as follows:
...
!insertmacro MUI_PAGE_LICENSE "..\..\..\src\main\nsis\Readme.txt"
;!insertmacro MUI_PAGE_COMPONENTS
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_INSTFILES
...
But that led to all sorts of scary warnings (although the installer does seem to work):
[MAKENSIS] warning: unknown variable/constant "mui.ComponentsPage.DescriptionText" detected, ignoring (macro:MUI_DESCRIPTION_BEGIN:4)
[MAKENSIS] warning: unknown variable/constant "mui.ComponentsPage.DescriptionText" detected, ignoring (macro:MUI_DESCRIPTION_BEGIN:5)
[MAKENSIS] warning: unknown variable/constant "mui.ComponentsPage.DescriptionText.Info" detected, ignoring (macro:MUI_DESCRIPTION_BEGIN:6)
[MAKENSIS] warning: unknown variable/constant "mui.ComponentsPage.DescriptionText" detected, ignoring (macro:MUI_DESCRIPTION_BEGIN:6)
[MAKENSIS] warning: unknown variable/constant "mui.ComponentsPage.DescriptionText" detected, ignoring (macro:MUI_DESCRIPTION_TEXT:6)
[MAKENSIS] warning: unknown variable/constant "mui.ComponentsPage.DescriptionText" detected, ignoring (macro:MUI_DESCRIPTION_TEXT:7)
[MAKENSIS] warning: unknown variable/constant "mui.ComponentsPage.DescriptionText" detected, ignoring (macro:MUI_DESCRIPTION_TEXT:8)
I found an NSIS wiki entry about skipping pages, but couldn't make head nor tail of it.
You need to remove the component description macro's from your script (MUI_FUNCTION_DESCRIPTION_BEGIN, MUI_DESCRIPTION_TEXT, MUI_FUNCTION_DESCRIPTION_END)

Resources