funkerhornsby writes

libupnpp.so.6.0.0 is compiled and installed. When compiling upplay 1.26 i get the following error: g++ -Wl,-O1 -o upplay .obj/mainw.o .obj/mw_connections.o .obj/mw_controls.o .obj/mw_cover.o .obj/mw_menubar.o .obj/trayicon.o .obj/mdatawidget.o .obj/playctlwidget.o .obj/playerwidget.o .obj/GUI_Playlist.o .obj/PlaylistItemDelegate.o .obj/GUI_PlaylistEntryBig.o .obj/GUI_PlaylistEntrySmall.o .obj/PlaylistItemModel.o .obj/ContextMenu.o .obj/PlaylistView.o .obj/confgui.o .obj/prefs.o .obj/sortprefs.o .obj/progresswidget.o .obj/songcastdlg.o .obj/soundslider.o .obj/volumewidget.o .obj/directslider.o .obj/CSettingsStorage.o .obj/Helper.o .obj/Style.o .obj/application.o .obj/cdbrowser.o .obj/dirbrowser.o .obj/randplayer.o .obj/rreaper.o .obj/audioscrobbler.o .obj/notifications.o .obj/playlist.o .obj/playlistavt.o .obj/playlistlocrd.o .obj/playlistohpl.o .obj/playlistohrd.o .obj/songcast.o .obj/upputils.o .obj/upplay.o .obj/ohpool.o .obj/moc_mainw.o .obj/moc_trayicon.o .obj/moc_mdatawidget.o .obj/moc_mdatawidgetif.o .obj/moc_playctlwidget.o .obj/moc_playctlwidgetif.o .obj/moc_playerhwidget.o .obj/moc_playervwidget.o .obj/moc_GUI_Playlist.o .obj/moc_GUI_PlaylistEntry.o .obj/moc_GUI_PlaylistEntryBig.o .obj/moc_GUI_PlaylistEntrySmall.o .obj/moc_PlaylistItemModel.o .obj/moc_ContextMenu.o .obj/moc_PlaylistView.o .obj/moc_confgui.o .obj/moc_prefs.o .obj/moc_sortprefs.o .obj/moc_progresswidget.o .obj/moc_progresswidgetif.o .obj/moc_renderchoose.o .obj/moc_songcastdlg.o .obj/moc_sourcechoose.o .obj/moc_soundslider.o .obj/moc_volumewidget.o .obj/moc_volumewidgetif.o .obj/moc_directslider.o .obj/moc_CSettingsStorage.o .obj/moc_application.o .obj/moc_cdbrowser.o .obj/moc_dirbrowser.o .obj/moc_randplayer.o .obj/moc_rreaper.o .obj/moc_audioscrobbler.o .obj/moc_notifications.o .obj/moc_playlist.o .obj/moc_playlistavt.o .obj/moc_playlistlocrd.o .obj/moc_playlistnull.o .obj/moc_playlistohpl.o .obj/moc_playlistohrcv.o .obj/moc_playlistohrd.o .obj/moc_avtadapt.o .obj/moc_ohifadapt.o .obj/moc_ohpladapt.o .obj/moc_ohrdadapt.o .obj/moc_songcast.o .obj/moc_avtransport_qo.o .obj/moc_cdirectory_qo.o .obj/moc_ohinfo_qo.o .obj/moc_ohplaylist_qo.o .obj/moc_ohproduct_qo.o .obj/moc_ohradio_qo.o .obj/moc_ohreceiver_qo.o .obj/moc_ohtime_qo.o .obj/moc_ohvolume_qo.o .obj/moc_renderingcontrol_qo.o .obj/qrc_upplay.o -L/usr/lib/qt4 -lupnpp -lQtWebKit -lQtScript -L/usr/lib/qt4 -lQtXml -lQtGui -lQtNetwork -lQtCore -lpthread .obj/cdbrowser.o: In function ‘CDBrowser::search(std::string const&, std::string const&, QPoint): cdbrowser.cpp:(.text+0x2146): undefined reference to`UPnPP::Logger::getTheLog(std::string const&) cdbrowser.cpp:(.text+0x217f): undefined reference to `UPnPP::Logger::getTheLog(std::string const&)’ cdbrowser.cpp:(.text+0x21f3): undefined reference to`UPnPP::Logger::getTheLog(std::string const&)' .obj/cdbrowser.o: In function ‘CDBrowser::simpleAdd(QAction*): cdbrowser.cpp:(.text+0x2488): undefined reference to`UPnPP::Logger::getTheLog(std::string const&) cdbrowser.cpp:(.text+0x24c5): undefined reference to `UPnPP::Logger::getTheLog(std::string const&)’ .obj/cdbrowser.o:cdbrowser.cpp:(.text+0x2550): more undefined references to`UPnPP::Logger::getTheLog(std::string const&)' follow collect2: Fehler: ld gab 1 als Ende-Status zurück Makefile:302: die Regel für Ziel „upplay“ scheiterte make: *\ [upplay] Fehler 1

medoc92 writes

What platform are you using?

Also, did you check if you maybe had an older libupnpp around and not using the right one ?

funkerhornsby writes

Am Freitag, 14. Oktober 2016, 05:31:43 schrieb Jean-Francois Dockes:

> What platform are you using?
>
> Also, did you check if you maybe had an older libupnpp around and not using the right one ?
>
> I use an actual stabil Gentoo Linux.
> Older version 1.2.4   1.2.3   1.2.2  compile and run

ls -la /usr/lib/libupnp* -rwxr-xr-x 1 root root 970 14. Okt 09:26 libupnpp.la lrwxrwxrwx 1 root root 17 14. Okt 09:26 libupnpp.so - > libupnpp.so.6.0.0 lrwxrwxrwx 1 root root 17 14. Okt 09:26 libupnpp.so.6 - > libupnpp.so.6.0.0 -rwxr-xr-x 1 root root 11120320 14. Okt 09:26 libupnpp.so.6.0.0 lrwxrwxrwx 1 root root 16 23. Apr 2015 libupnp.so - > libupnp.so.6.3.2 lrwxrwxrwx 1 root root 16 23. Apr 2015 libupnp.so.6 - > libupnp.so.6.3.2 -rwxr-xr-x 1 root root 174844 23. Apr 2015 libupnp.so.6.3.2

Dieter Herrmann

medoc92 writes

Weird… What does the following print ?

nm -D /usr/lib/libupnpp.so.6.0.0 | grep -i getthelog | c++filt

funkerhornsby writes

Am Samstag, 15. Oktober 2016, 04:59:36 schrieb Jean-Francois Dockes:

> nm -D /usr/lib/libupnpp.so.6.0.0 | grep -i getthelog | c++filt

nm -D /usr/lib/libupnpp.so.6.0.0 | grep -i getthelog | c++filt 0009c650 T Logger::getTheLog(std::basic_string<char, std::char_traits<char >, std::allocator<char > > const&)

Dieter Hermann

medoc92 writes

I have no idea what is happening. I just tried building libupnpp 0.15.1 and upplay 1.2.7 (from the tar distributions) on a clean Fedora system, and there were no issues (apart from missing packages I had to install).

Unfortunately, I have no gentoo system, so I can’t check what may be happening on gentoo.

Can you describe with a bit more detail how you extracted and built both packages ?

One thing I would try, if you made previous tries to build, is completely delete the upplay-1.2.7 directory (to get rid of all objects and qt temp files), recreate it from the tar and retry.

Otherwise, I’d try to build a minimal program with a call to log() and see what happens.

Something like:

#include <libupnpp/log.h >
int main(int argc, char **argv)
{
    LOGINFO("Hello world");
}

Then: c -o trylog -std=c11 trylog.cpp -lupnpp

and see what happens.

funkerhornsby writes

Am Samstag, 15. Oktober 2016, 09:07:29 schrieb Jean-Francois Dockes:

> I have no idea what is happening. I just tried building libupnpp 0.15.1 and upplay 1.2.7 (from the tar distributions) on a clean Fedora system, and there were no issues (apart from missing packages I had to install).
>
> Same error  ....
> cdbrowser.cpp:(.text+0x140): undefined reference to `UPnPP::Logger::getTheLog(std::string const&)'

eventually i have hint the output of: nm -D /usr/lib/libupnpp.so.6.0.0 | grep -i getthelog | c++filt

give: 0009c640 T Logger::getTheLog(std::basic_string<char, std::char_traits<char >, std::allocator<char > > const&) ^ ^^^

i think it should be like 0009c640 T Logger::getTheLog(std::basic_string<char >, std::char_traits<char >, std::allocator<char > const&) ^ ^^ but i have no idea where to edit

thanks for your reply Dieter Herrmann

medoc92 writes

Actually, I think that this is correct, the basic_string template does take 3 template parameters.

I really have no idea of what may be happening here, and I can’t reproduce the issue.

I don’t know much about gentoo. Might there be separate dirs for 32 and 64 bits libs? Maybe try:

find /usr -name 'libupnpp*'

funkerhornsby writes

Am Montag, 17. Oktober 2016, 10:32:32 schrieb Jean-Francois Dockes:

> Actually, I think that this is correct, the basic_string template does take 3 template parameters.
>
> I really have no idea of what may be happening here, and I can't reproduce the issue.
>
> I don't know much about gentoo. Might there be separate dirs for 32 and 64 bits libs? Maybe try:
>
>
 > find /usr -name 'libupnpp*'
 >
>
> 32bit system only ,

I didn’t mean the 3 template parameter, please have a closer look at the ' >' sign. After char there is a > missing and at the end there is an additional >

find /usr -name libupnpp* find: ‘/usr/portage/packages/x11-libs’: Keine Berechtigung find: ‘/usr/portage/packages/x11-drivers’: Keine Berechtigung find: ‘/usr/lib/mozilla/extensions’: Keine Berechtigung /usr/lib/libupnpp.so.6 /usr/lib/libupnpp.so /usr/lib/libupnpp.so.6.0.0 /usr/lib/libupnpp.la /usr/lib/pkgconfig/libupnpp.pc /usr/include/libupnpp /usr/local/include/libupnpp

Dieter Herrmann

medoc92 writes

I think that the template is ok. The first parameter is char not, the second std::char_traits<char > etc. There would be a closing > missing in your version. In any case, these are generated by the compiler and the demangler, so I see little chance of a bug there.

Maybe you could try the trylog build above with an additional -v option in hope of getting an indication of what goes wrong.

funkerhornsby writes

Am Dienstag, 18. Oktober 2016, 08:49:53 schrieb Jean-Francois Dockes:

> I think that the template is ok. The first parameter is char not, the second std::char_traits<char > etc.
> There would be a closing  > missing in your version. In any case, these are generated by the compiler and the demangler, so I see little chance of a bug there.
>
> Maybe you could  try the 'trylog' build above with an additional -v option in hope of getting an indication of what goes wrong.

I hope i have right done what you have suggested.

ACER-DH libupnpp-0.15.1 # c -v -o trylog -std=c11 trylog.cpp -lupnpp Es werden eingebaute Spezifikationen verwendet. COLLECT_GCC=/usr/i686-pc-linux-gnu/gcc-bin/4.9.3/c COLLECT_LTO_WRAPPER=/usr/libexec/gcc/i686-pc-linux-gnu/4.9.3/lto-wrapper Ziel: i686-pc-linux-gnu Konfiguriert mit: /var/tmp/portage/sys-devel/gcc-4.9.3/work/gcc-4.9.3/configure --host=i686-pc-linux-gnu --build=i686-pc-linux-gnu --prefix=/usr --bindir=/usr/i686-pc-linux-gnu/gcc-bin/4.9.3 --includedir=/usr/lib/gcc/i686-pc-linux-gnu/4.9.3/include --datadir=/usr/share/gcc-data/i686-pc-linux-gnu/4.9.3 --mandir=/usr/share/gcc-data/i686-pc-linux-gnu/4.9.3/man --infodir=/usr/share/gcc-data/i686-pc-linux-gnu/4.9.3/info --with-gxx-include-dir=/usr/lib/gcc/i686-pc-linux-gnu/4.9.3/include/g-v4 --with-python-dir=/share/gcc-data/i686-pc-linux-gnu/4.9.3/python --enable-languages=c,c,java,fortran --enable-obsolete --enable-secureplt --disable-werror --with-system-zlib --enable-nls --without-included-gettext --enable-checking=release --with-bugurl=https://bugs.gentoo.org/ --with-pkgversion=Gentoo 4.9.3 p1.5, pie-0.6.4 --enable-libstdcxx-time --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu --disable-multilib --disable-altivec --disable-fixed-point --with-arch=i686 --enable-targets=all --enable-libgomp --disable-libmudflap --disable-libssp --disable-libcilkrts --enable-vtable-verify --enable-libvtv --enable-lto --without-cloog --enable-libsanitizer Thread-Modell: posix gcc-Version 4.9.3 (Gentoo 4.9.3 p1.5, pie-0.6.4) COLLECT_GCC_OPTIONS=-v -o trylog -std=c11 -shared-libgcc -mtune=generic -march=i686 /usr/libexec/gcc/i686-pc-linux-gnu/4.9.3/cc1plus -quiet -v -D_GNU_SOURCE trylog.cpp -quiet -dumpbase trylog.cpp -mtune=generic -march=i686 -auxbase trylog -std=c11 -version -fstack-protector-strong -o /tmp/ccMzNkTx.s GNU C (Gentoo 4.9.3 p1.5, pie-0.6.4) Version 4.9.3 (i686-pc-linux-gnu) kompiliert von GNU-C-Version 4.9.3, GMP-Version 6.0.0, MPFR-Version 3.1.3-p4, MPC-Version 1.0.2. GGC-Heuristik: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 nicht vorhandenes Verzeichnis »/usr/lib/gcc/i686-pc-linux-gnu/4.9.3/../../../../i686-pc-linux-gnu/include« wird ignoriert #include "…" - Suche beginnt hier: #include <… > - Suche beginnt hier: /usr/lib/gcc/i686-pc-linux-gnu/4.9.3/include/g-v4 /usr/lib/gcc/i686-pc-linux-gnu/4.9.3/include/g-v4/i686-pc-linux-gnu /usr/lib/gcc/i686-pc-linux-gnu/4.9.3/include/g-v4/backward /usr/lib/gcc/i686-pc-linux-gnu/4.9.3/include /usr/local/include /usr/lib/gcc/i686-pc-linux-gnu/4.9.3/include-fixed /usr/include Ende der Suchliste. GNU C (Gentoo 4.9.3 p1.5, pie-0.6.4) Version 4.9.3 (i686-pc-linux-gnu) kompiliert von GNU-C-Version 4.9.3, GMP-Version 6.0.0, MPFR-Version 3.1.3-p4, MPC-Version 1.0.2. GGC-Heuristik: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 Compiler executable checksum: e3fdeb83707aab947888fb5b13f8384f COLLECT_GCC_OPTIONS=-v -o trylog -std=c11 -shared-libgcc -mtune=generic -march=i686 /usr/lib/gcc/i686-pc-linux-gnu/4.9.3/../../../../i686-pc-linux-gnu/bin/as -v --32 -o /tmp/ccUvrBmw.o /tmp/ccMzNkTx.s GNU assembler version 2.25.1 (i686-pc-linux-gnu) using BFD version (Gentoo 2.25.1 p1.1) 2.25.1 COMPILER_PATH=/usr/libexec/gcc/i686-pc-linux-gnu/4.9.3/:/usr/libexec/gcc/i686-pc-linux-gnu/4.9.3/:/usr/libexec/gcc/i686-pc-linux-gnu/:/usr/lib/gcc/i686-pc-linux-gnu/4.9.3/:/usr/lib/gcc/i686-pc-linux-gnu/:/usr/lib/gcc/i686-pc-linux-gnu/4.9.3/../../../../i686-pc-linux-gnu/bin/ LIBRARY_PATH=/usr/lib/gcc/i686-pc-linux-gnu/4.9.3/:/usr/lib/gcc/i686-pc-linux-gnu/4.9.3/../../../../i686-pc-linux-gnu/lib/../lib/:/usr/lib/gcc/i686-pc-linux-gnu/4.9.3/../../../../lib/:/lib/../lib/:/usr/lib/../lib/:/usr/lib/gcc/i686-pc-linux-gnu/4.9.3/../../../../i686-pc-linux-gnu/lib/:/usr/lib/gcc/i686-pc-linux-gnu/4.9.3/../../../:/lib/:/usr/lib/ COLLECT_GCC_OPTIONS=-v -o trylog -std=c11 -shared-libgcc -mtune=generic -march=i686 /usr/libexec/gcc/i686-pc-linux-gnu/4.9.3/collect2 -plugin /usr/libexec/gcc/i686-pc-linux-gnu/4.9.3/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/i686-pc-linux-gnu/4.9.3/lto-wrapper -plugin-opt=-fresolution=/tmp/cciCwdRu.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --eh-frame-hdr -m elf_i386 -dynamic-linker /lib/ld-linux.so.2 -o trylog /usr/lib/gcc/i686-pc-linux-gnu/4.9.3/../../../../lib/crt1.o /usr/lib/gcc/i686-pc-linux-gnu/4.9.3/../../../../lib/crti.o /usr/lib/gcc/i686-pc-linux-gnu/4.9.3/crtbegin.o -L/usr/lib/gcc/i686-pc-linux-gnu/4.9.3 -L/usr/lib/gcc/i686-pc-linux-gnu/4.9.3/../../../../i686-pc-linux-gnu/lib/../lib -L/usr/lib/gcc/i686-pc-linux-gnu/4.9.3/../../../../lib -L/lib/../lib -L/usr/lib/../lib -L/usr/lib/gcc/i686-pc-linux-gnu/4.9.3/../../../../i686-pc-linux-gnu/lib -L/usr/lib/gcc/i686-pc-linux-gnu/4.9.3/../../.. /tmp/ccUvrBmw.o -lupnpp -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/i686-pc-linux-gnu/4.9.3/crtend.o /usr/lib/gcc/i686-pc-linux-gnu/4.9.3/../../../../lib/crtn.o

ACER-DH libupnpp-0.15.1 # ls aclocal.m4 config.log configure.ac libtool libupnpp.pc.in Makefile.in trylog.cpp AUTHORS config.status COPYING libupnpp ltmain.sh make.txt compile config.sub depcomp libupnpp.la Makefile missing config.guess configure install-sh libupnpp.pc Makefile.am trylog

ACER-DH libupnpp-0.15.1 # nm -D trylog 0804b068 B bss_start U cxa_atexit 0804b068 D edata 0804b110 B _end 080490e4 T _fini w gmon_start U gxx_personality_v0 080488f0 T _init 080490fc R _IO_stdin_used w _ITM_deregisterTMCloneTable w _ITM_registerTMCloneTable w _Jv_RegisterClasses U libc_start_main w pthread_key_create w pthread_mutex_lock w pthread_mutex_unlock U stack_chk_fail U _Unwind_Resume U _ZN6Logger9getTheLogERKSs U _ZNSaIcEC1Ev U _ZNSaIcED1Ev U _ZNSolsEi U _ZNSolsEPFRSoS_E U _ZNSsC1EPKcRKSaIcE U _ZNSsD1Ev 08048fd8 W _ZNSt11unique_lockISt5mutexE4lockEv 08049020 W _ZNSt11unique_lockISt5mutexE6unlockEv U _ZNSt8ios_base4InitC1Ev U _ZNSt8ios_base4InitD1Ev U _ZSt20__throw_system_errori 0804b080 B _ZSt4cerr U _ZSt5flushIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6 U _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc

ACER-DH libupnpp-0.15.1 # ./trylog :3:trylog.cpp:4::Hello worldACER-DH libupnpp-0.15.1 # ACER-DH libupnpp-0.15.1 #

Dieter Herrmann

medoc92 writes

So the trylog link actually worked this time ! Something must have changed as you told me before that this did not work. Something in your shell environment ?

funkerhornsby writes

Am Dienstag, 18. Oktober 2016, 23:32:08 schrieb Jean-Francois Dockes:

> So the trylog link actually worked this time !
> Something must have changed as you told me before that this did not work. Something in your shell environment ?
>
> i havn't change anything. This was the first time i compiled trylog.
> I rebuild libupnpp and upplay; but still the same error.

Sorry DIeter Herrmann

medoc92 writes

Can you please copy the full upplay build log (not just the link line), maybe this will give me an idea, something in the compile flags or whatever…

funkerhornsby writes

Am Mittwoch, 19. Oktober 2016, 10:14:42 schrieb Jean-Francois Dockes:

> Can you please copy the full upplay build log (not just the link line), maybe this will give me an idea, something in the compile flags or whatever...
>
> see the attachments

i did a make > build.log I hope this was correct ??

Dieter Herrmann

medoc92 writes

Sorry, could not connect yesterday. Maybe I am not looking at the right place, but I don’t see any attachment actually…

funkerhornsby writes

Am Mittwoch, 19. Oktober 2016, 10:14:42 schrieb Jean-Francois Dockes:

> Can you please copy the full upplay build log (not just the link line), maybe this will give me an idea, something in the compile flags or whatever...
>
> again, but now i zipped the files

medoc92 writes

Sorry, but I still can’t see any attachment there. Either I’m being really dense or something is not right with github. Could you please email me either with a screenshot of where the attachment can be found, or with the compressed log itself if not too big, or with a link to a storage place somewhere ?

funkerhornsby writes

medoc92 writes

Thanks, got them this time. Unfortunately, and once more, I can see nothing special in there. The trace seem absolutely similar to what I have here.

I am assuming that you did run "sudo make install" after building libupnpp ? Sorry for the question, but I’ll try anything at this point…

I’d try it myself, but gentoo is too much of a hassle to install.

I see that a Google search for "gentoo upmpdcli" does find a number of gentoo "overlays" for building libupnpp / upmpdcli. Did you try to use these ?

funkerhornsby writes

Am Freitag, 28. Oktober 2016, 09:20:46 schrieb Jean-Francois Dockes:

> Thanks, got them this time. Unfortunately, and once more, I can see nothing special in there. The trace seem absolutely similar to what I have here.
>
> I am assuming that you did run "sudo make install" after building libupnpp ? Sorry for the question, but I'll try anything at this point...
> is ok, yes i did a sudo make install.

ls -la /usr/lib/libupnpp*

-rwxr-xr-x 1 root root 992 21. Okt 16:40 libupnpp.la lrwxrwxrwx 1 root root 17 21. Okt 16:40 libupnpp.so - > libupnpp.so.6.0.0 lrwxrwxrwx 1 root root 17 21. Okt 16:40 libupnpp.so.6 - > libupnpp.so.6.0.0 -rwxr-xr-x 1 root root 11124964 21. Okt 16:40 libupnpp.so.6.0.0

> I'd try it myself, but gentoo is too much of a hassle to install.
>
> I see that a Google search for "gentoo upmpdcli" does find a number of gentoo "overlays" for building libupnpp / upmpdcli. Did you try to use these ?
> NO i never used this overlay ebuild, i downloaded and build from your homepage. The gentoo overlay stays with version libupnpp 14.1.
> I had no problems with versions before 15.0 ......

again as question; when i do : nm -D /usr/lib/libupnpp.so.6.0.0 | grep -i getthelog | c++filt

i get : 0009c640 T Logger::getTheLog(std::basic_string<char, std::char_traits<char >, std::allocator<char > > const&)

for me there is a abnormality with the ' >' sign.

for my understanding it should be 0009c640 T Logger::getTheLog(std::basic_string<char >, std::char_traits<char >, std::allocator<char > const&)

Thx Dieter Herrmann

medoc92 writes

No, it’s the template which has three type parameters, not the getTheLog() method (which only has one parameter of type const std::string& ). std::basic_string is a template type with three parameters: std::basic_string<p1, p2, p3 >

where, in the case of the common std::string, p1 is char, p2 is std::char_traits<char > (another template type), and p3 is std::allocator<char > (ditto).

medoc92 writes

Unable to reproduce