Sunday, 2015-05-31

*** tytel has quit IRC00:37
*** tytel has joined #lv200:38
*** tytel has joined #lv200:38
*** Magnus_RM has joined #lv200:47
*** tytel has quit IRC00:48
*** ricardocrudo has quit IRC01:13
*** o0o0o has joined #lv201:49
*** aombk has joined #lv201:59
*** aombk has quit IRC02:01
*** Magnus_RM has quit IRC02:08
*** aombk has joined #lv203:16
*** drobilla has joined #lv203:56
*** drobilla has quit IRC04:23
*** artfwo has quit IRC06:41
*** ventosus has joined #lv207:52
*** edogawa has joined #lv208:07
*** ricardocrudo has joined #lv208:21
edogawargareus: trying to build the new x42 plugins, i'm not sure how to resolve the fftw3 custom build thing09:47
edogawathe build service has no net access, so your static build via script and curl is no option09:48
edogawai guess branching and modifying the distro package will be easiest, do i need to link statically then, or just require my modified fftw3 package?09:50
* edogawa thought updating would be a matter of minutes, argh ;(09:51
edogawai'm afk now though, back in a few hours09:56
edogawaoh i see, i'll have to build and package static libs, hm10:00
*** Magnus_RM has joined #lv211:40
*** ventosus has left #lv213:06
*** gianMOD has joined #lv213:29
*** falktx has joined #lv213:29
*** NickSB2 has quit IRC13:35
*** gianMOD has quit IRC13:47
*** artfwo has joined #lv214:14
*** edogawa_ has joined #lv214:25
*** edogawa has quit IRC14:28
*** edogawa_ is now known as edogawa14:28
*** artfwo has quit IRC16:02
*** gianMOD has joined #lv216:14
*** artfwo has joined #lv216:19
*** flexus has joined #lv216:19
*** falktx has quit IRC16:37
*** o0o0o has quit IRC16:46
rgareusedogawa: hop over to https://github.com/FFTW/fftw3/issues/16  and tell 'em to hurry up :)16:50
rgareusedogawa: static builds are tricky there are a few details to do right.  https://github.com/x42/meters.lv2/blob/master/static_fft.sh16:51
rgareus -fvisibility=hidden is vital16:51
gianMODrgareus: why do you have linker flags (-Wl) in CFLAGS?16:58
gianMODwhen building fftw static it will only generate *.a files, which won't call the linker16:59
gianMODoh this is falktx typing btw ;)17:00
rgareusgianMOD: because fftw configure is weird.17:10
rgareuswithout those options, the statically linked plugin would use the planner cache system-wide libfftw anyway.17:15
rgareus^^^ ...the planner cache *OF THE* system-wide libfftw...17:16
rgareusglib has a similar issue, some parts have a  __attribute__ ((visibility ("default"))  or __declspec(dllexport)  which overrides -fvisibility=hidden17:19
gianMODI'd agree if it was in LDFLAGS17:25
gianMODbut those CFLAGS do nothing regarding includes or defines in the compiler afaik17:25
gianMOD*that CFLAG17:25
rgareusLDFLAGS is not used as no linking is done.17:25
gianMODso how does that flag change anything?17:26
rgareusno idea why it makes a different, it really should not.  but it does17:26
rgareusI hazard a guess that the object files in fftw.a do actually include some linked code.17:27
gianMODI don't think that's possible17:27
rgareussome asm code maybe.17:27
gianMODbut are those flags passed into the code? and how?17:28
rgareusI wanted to find out why at some point. but the fftw build output weights about half a ton.17:28
gianMODwill it add some new macro?17:28
rgareusgianMOD: that is a good guess, indeed.17:29
rgareusgianMOD: it could actually be configure that makes the difference in that case17:29
gianMODin any case, I think that flag only matters if libfftw3-dev is installed17:30
gianMODright?17:30
rgareusthe system I tested it on indeed has libfftw3-dev installed.17:30
gianMODon my plugin builds I only have fftw3-static package (via ppas)17:30
* gianMOD should add some build-conflicts to make sure17:31
rgareusthe actual build-host has not, but I didn't test/debug it there17:31
*** ventosus has joined #lv217:32
rgareusactually the problem is rather small these days.  it was only really calf (doing plans in run()).  proper plugins use the worker thread (which in most hosts is single-threaded) or the GUI thread (also single threaded)17:37
rgareusso the only problem is    LV2 worker + GUI  concurrency17:37
rgareusand old LADSPA plugins.17:37
gianMODUIs should be run in separate processes17:45
gianMODlv2 allows it, I wish more hosts took advantage of it17:45
gianMODyou can still do embed with an out-of-process UI17:45
gianMODon X11 that is17:45
rgareusnope. there are perfectly valid use cases for instance access17:49
rgareusin any case the host itself may also use fftw (in its GUI)17:49
*** falktx has joined #lv217:50
gianMODthere are perfectly valid use cases for out-of-process UIs too :)17:50
rgareusardour for example does use fftw for both  plugin analysis or region/range spectral analysis17:50
gianMODbbl17:50
rgareusright, if the plugin does not use instance access.  the GUI can run anywhere.17:50
rgareusLV2 GUI at least (not so much AU or VST)17:51
rgareusdifferent question; which LV2 hosts do support LV2UI_Show_Interface ?17:54
*** gianMOD has quit IRC17:55
rgareusedogawa: just package as you did the last version.17:56
rgareusedogawa: so far the only distro that accepts static lib builds is KXStudio.17:58
*** NickSB2 has joined #lv218:11
*** yann-kaelig has quit IRC18:43
*** flexus has quit IRC19:14
edogawargareus: i see... struggling with getting the configure options right, this whole afternoon, i think i give up and see what the actual error was (it didn't succeed in building the rpm for some reason, i may haver been led astray by the fftw3 messages)19:33
edogawag++: error: /usr/lib64/libfftw3f.a: No such file or directory19:35
edogawathe distro package doesn't provide static libs, that's why i started the fftw3 branch, how the heck did the previous version link correctly?19:36
edogawa[   95s] g++ -fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -I. `pkg-config --cflags glu` -DHAVE_IDLE_IFACE `pkg-config --cflags cairo pango` `pkg-config --cflags fftw3f` -fmessage-length=0 -grecord-gcc-switches -O2 -19:37
edogawaWall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -DHAVE_LV2_1_8 -fPIC -msse -msse2 -mfpmath=sse -ffast-math -fomit-frame-pointer -O3 -fno-finite-math-only -DNDEBUG -DVERSION="\"0.4.0\"" `pkg-config --cflags lv2`  \19:37
edogawa[   95s]   -DUINQHACK="14330807892703" \19:37
edogawa[   95s]   -DPLUGIN_SOURCE="\"gui/fil4.c\"" \19:37
edogawa[   95s]   -o build/fil4UI_gl.so ../robtk/ui_gl.c \19:37
edogawa[   95s]   ../robtk/pugl/pugl_x11.c \19:37
edogawa[   95s]    \19:37
edogawa[   95s]   -shared -Wl,-Bstatic -Wl,-Bdynamic -Wl,--as-needed  -lX11 `pkg-config  --libs cairo pango pangocairo glu gl` `pkg-config --variable=libdir fftw3f`/libfftw3f.a19:37
edogawa(sry for paste)19:37
edogawawhole buildlog here https://build.opensuse.org/build/home:edogawa/openSUSE_13.2/x86_64/x42-plugins/_log19:43
*** ventosus has left #lv219:44
rgareusedogawa: try       make FFTW_LIBS="-lfftw3f"19:52
rgareusthough it should no be needed19:53
rgareus  FFTW_LIBS=`pkg-config --variable=libdir fftw3f`/libfftw3f.a19:53
rgareus  ifeq ($(shell test -f $(FFTWA) || echo no), no)19:53
rgareus    FFTW_LIBS=`pkg-config --libs fftw3f`19:53
rgareus  endif19:53
rgareusfirst thing: check if   `pkg-config --variable=libdir fftw3f`/libfftw3f.a     exists. if not, use pkg-config --libs fftw3f19:54
rgareusaa crap.  typo in the makefile   it should be    test -f $(FFTW_LIBS)19:55
rgareusedogawa: only fil4.lv2's Makefile is affected19:57
edogawargareus: doesn't exist, i read the fftw3.spec and it erases %_libdir/*.*a in %install19:57
edogawargareus: thanks19:58
edogawargareus: so how to proceed, do you roll another tarball?19:59
rgareusedogawa: I'll do that19:59
edogawacool19:59
rgareusedogawa: the fix will be http://pastebin.com/Xy2phHi620:00
rgareusedogawa: can you try easily if that fixes the issue?20:01
rgareussince FFTWA is unset   the test should fail20:02
edogawargareus: yeah, i upload the tarball, change the version string in spec and wait for the build to fail or succeed20:02
edogawaah a patch20:02
edogawasry i'm distraced a bit20:02
edogawadistracted20:03
edogawaadding a patch is a bit more involved, but not too much20:03
edogawapfft, wouldn't sed be quicker, inlined in the rpm spec %prep section20:04
rgareusedogawa: that patch applied to fil4's makefile20:05
edogawargareus: i'm on it, gimme say 20 mins20:06
edogawaquicker, even - you cn watch the build live https://build.opensuse.org/package/live_build_log/home:edogawa/x42-plugins/openSUSE_13.2/x86_6420:10
rgareus42-plugins-FFTW3.diff: No such file or directory20:13
edogawai'm sloppy, sorry20:14
edogawaah, stupid typo in patch filename20:15
edogawain a minute or 2 just refresh the link20:15
rgareusn/p20:16
rgareusedogawa: it'll also not apply to x42-plugins as is (fil4 subdir is missing)20:16
edogawait builds again, no big workload20:16
edogawargareus: i changed makefile manually and used the rpm gendiff script20:17
rgareusedogawa: does it build locally?20:17
edogawathat's quick and easy, recursive and generates a unified diff20:17
edogawargareus: didn't try yet ;)20:18
edogawargareus: success20:19
edogawahttps://build.opensuse.org/package/show/home:edogawa/x42-plugins20:20
rgareusedogawa: thanks. I'll apply that patch and roll a new release20:20
edogawargareus: cool20:20
rgareusedogawa: the package description is somewhat out of date20:22
rgareus" collection of LV2 plugins, and currently consists of"     3 plugins are missing20:22
rgareusedogawa: there's a list in the x42-plugins tar ball20:25
rgareusedogawa: instead of the two freefont patches you could simply change the spec file20:29
rgareusedogawa: call  make FONTFILE=/usr/share/fonts/gnu-free/FreeSansBold.ttf20:29
rgareusin line 77 and 81 of x42-plugins.spec20:30
*** falktx has quit IRC20:31
*** gianMOD has joined #lv220:37
edogawargareus: oh thanks again, i'll do all that (actually i updated description both in project and spec today but seems i still missed these three, sorry and i'll check that list)20:37
rgareusthe file is called plugin.list20:45
rgareusit also includes robtk (you can ignore that)20:45
edogawargareus: hm i didn't find missing plugins but anyway i reordered them alphabetically now (and don't mention robtk) robtk20:48
rgareusedogawa: http://rg42.org/misc/x42-plugins/x42-plugins-20150531.tar.xz is out (with the makefile fix)20:49
edogawargareus: heh :)20:50
rgareusedogawa: there should be 11 plugins20:50
rgareusaah there are now.20:50
edogawai had 12 lines before, xfade was listed twice20:51
edogawamaybe project description on that OBS page was out of sync, it's a separate thing20:51
rgareusedogawa: looks like it.  fil4 was not listed. now it is.20:52
rgareusanyway that build is fine.  all that 20150531 changes is adding x42-plugins.FFTW3.diff20:52
rgareusand well, that build uses  libfftw3f.so as provided by the distro.  so it's not 100% safe.20:53
rgareusdebian does the same though.20:53
rgareushacking around this (special static builds) is not something *generic* distros should really do.  hopefully fftw will fix it upstream soonish.20:55
edogawaok, understood20:55
rgareusfalktx does work around this, but KXStudio is not a generic distro.20:55
rgareusI don't know what policy opensuse has.20:57
edogawame neither, i just remember the SYSLIBS=0 discussion for the ardour2 rpm, they just refused to do that21:01
edogawawaste of bandwidth, manpower and diskspace, and possibly insecure, were the arguments iirc21:02
*** gianMOD has quit IRC21:08
*** edogawa has quit IRC22:19
*** ricardocrudo has quit IRC22:58

Generated by irclog2html.py 2.13.0 by Marius Gedminas - find it at mg.pov.lt!