With # USE='lash' emerge media-sound/fluidsynth: [ 97%] Building C object src/CMakeFiles/libfluidsynth.dir/bindings/fluid_filerenderer.c.o In file included from /var/tmp/portage/media-sound/fluidsynth-1.1.6/work/fluidsynth-1.1.6/src/synth/fluid_event_queue.h:24:0, from /var/tmp/portage/media-sound/fluidsynth-1.1.6/work/fluidsynth-1.1.6/src/synth/fluid_synth.h:35, from /var/tmp/portage/media-sound/fluidsynth-1.1.6/work/fluidsynth-1.1.6/src/bindings/fluid_filerenderer.c:27: /var/tmp/portage/media-sound/fluidsynth-1.1.6/work/fluidsynth-1.1.6/src/utils/fluid_sys.h: In function 'new_fluid_cond_mutex': /var/tmp/portage/media-sound/fluidsynth-1.1.6/work/fluidsynth-1.1.6/src/utils/fluid_sys.h:161:3: warning: 'g_thread_init' is deprecated (declared at /usr/include/glib-2.0/glib/deprecated/gthread.h:259) [-Wdeprecated-declarations] /var/tmp/portage/media-sound/fluidsynth-1.1.6/work/fluidsynth-1.1.6/src/utils/fluid_sys.h:162:3: warning: 'g_mutex_new' is deprecated (declared at /usr/include/glib-2.0/glib/deprecated/gthread.h:271) [-Wdeprecated-declarations] Linking C shared library libfluidsynth.so CMakeFiles/libfluidsynth.dir/bindings/fluid_lash.c.o: In function `fluid_lash_create_thread': fluid_lash.c:(.text+0x314): undefined reference to `pthread_create' collect2: ld returned 1 exit status make[2]: *** [src/libfluidsynth.so.1.5.2] Error 1 make[1]: *** [src/CMakeFiles/libfluidsynth.dir/all] Error 2 make: *** [all] Error 2
Created attachment 325454 [details] emerge --info
Please attach the entire build log to this bug report.
Created attachment 325546 [details] MAKEOPTS='-j1' emerge media-sound/fluidsynth
Portage ebuild use the cmake build system. When merging fluidsynth with it, I get the same error as described here. If I change into ${S} and run configure and make, it success. The autotools stuffs are marked as obsoletes. On the other hand, the cmake stuffs are marked as experimental. Maybe a good move, as it succeed to compile and install fluidsynth, would be that the ebuild use the autotools stuffs.
(In reply to comment #4) > Portage ebuild use the cmake build system. When merging fluidsynth with it, > I get the same error as described here. > > If I change into ${S} and run configure and make, it success. > > The autotools stuffs are marked as obsoletes. On the other hand, the cmake > stuffs are marked as experimental. Maybe a good move, as it succeed to > compile and install fluidsynth, would be that the ebuild use the autotools > stuffs. no plans in moving backwards with something as simple as missing -pthread and gnome/gtk+/glib specific -D.*DEPRECATED flags that need to be patched out from the build system (that was an educated guess based on the warnings/errors posted here)
added append-flags -pthread to the ebuild, no sign of gnome specific DEPRECATED flags, might be inherited from the system