Hi all,
I just tried to do a cmake build on win64 and (what did I expect?) it didn't work...
I followed the instructions at [1] but when linking libinkscape_base.dll I got the following errors:
[ 99%] Linking CXX shared library ..\lib\libinkscape_base.dll CMakeFiles\inkscape_base.dir/objects.a(demangle.cpp.obj):demangle.cpp:(.text+0x278): undefined reference to `strdup' CMakeFiles\inkscape_base.dir/objects.a(xslt.cpp.obj):xslt.cpp:(.text+0x78b): undefined reference to `close' CMakeFiles\inkscape_base.dir/objects.a(script.cpp.obj):script.cpp:(.text+0x2a): undefined reference to `close' CMakeFiles\inkscape_base.dir/objects.a(script.cpp.obj):script.cpp:(.text+0x33): undefined reference to `unlink' CMakeFiles\inkscape_base.dir/objects.a(script.cpp.obj):script.cpp:(.text+0x166): undefined reference to `close' CMakeFiles\inkscape_base.dir/objects.a(script.cpp.obj):script.cpp:(.text+0x16f): undefined reference to `unlink' CMakeFiles\inkscape_base.dir/objects.a(script.cpp.obj):script.cpp:(.text+0x38e3): undefined reference to `close' CMakeFiles\inkscape_base.dir/objects.a(script.cpp.obj):script.cpp:(.text+0x38ed): undefined reference to `unlink' CMakeFiles\inkscape_base.dir/objects.a(script.cpp.obj):script.cpp:(.text+0x3d19): undefined reference to `close' CMakeFiles\inkscape_base.dir/objects.a(script.cpp.obj):script.cpp:(.text+0x3d23): undefined reference to `unlink' CMakeFiles\inkscape_base.dir/objects.a(script.cpp.obj):script.cpp:(.text+0x4998): undefined reference to `close' CMakeFiles\inkscape_base.dir/objects.a(emf-inout.cpp.obj):emf-inout.cpp:(.text+0xf21): undefined reference to `strdup' CMakeFiles\inkscape_base.dir/objects.a(emf-inout.cpp.obj):emf-inout.cpp:(.text+0xf82): undefined reference to `strdup' CMakeFiles\inkscape_base.dir/objects.a(emf-inout.cpp.obj):emf-inout.cpp:(.text+0x1356): undefined reference to `strdup' CMakeFiles\inkscape_base.dir/objects.a(emf-inout.cpp.obj):emf-inout.cpp:(.text+0x13e5): undefined reference to `strdup' CMakeFiles\inkscape_base.dir/objects.a(emf-inout.cpp.obj):emf-inout.cpp:(.text+0x18c3): undefined reference to `strdup' CMakeFiles\inkscape_base.dir/objects.a(emf-inout.cpp.obj):emf-inout.cpp:(.text+0x1c04): more undefined references to `strdup' follow CMakeFiles\inkscape_base.dir/objects.a(print.cpp.obj):print.cpp:(.text+0x296): undefined reference to `close' CMakeFiles\inkscape_base.dir/objects.a(print.cpp.obj):print.cpp:(.text+0x707): undefined reference to `unlink' CMakeFiles\inkscape_base.dir/objects.a(ink-comboboxentry-action.cpp.obj):ink-comboboxentry-action.cpp:(.text+0x17): undefined reference to `strdup' CMakeFiles\inkscape_base.dir/objects.a(color-profile.cpp.obj):color-profile.cpp:(.text+0x2193): undefined reference to `read' CMakeFiles\inkscape_base.dir/objects.a(color-profile.cpp.obj):color-profile.cpp:(.text+0x21d3): undefined reference to `close' CMakeFiles\inkscape_base.dir/objects.a(inkscape.cpp.obj):inkscape.cpp:(.text+0xcfa): undefined reference to `unlink' CMakeFiles\inkscape_base.dir/objects.a(prefix.cpp.obj):prefix.cpp:(.text+0x1b8): undefined reference to `strdup' CMakeFiles\inkscape_base.dir/objects.a(prefix.cpp.obj):prefix.cpp:(.text+0x348): undefined reference to `strdup' CMakeFiles\inkscape_base.dir/objects.a(prefix.cpp.obj):prefix.cpp:(.text+0x359): undefined reference to `strdup' CMakeFiles\inkscape_base.dir/objects.a(prefix.cpp.obj):prefix.cpp:(.text+0x4a2): undefined reference to `strdup' CMakeFiles\inkscape_base.dir/objects.a(prefix.cpp.obj):prefix.cpp:(.text+0x1a7): undefined reference to `strdup' CMakeFiles\inkscape_base.dir/objects.a(prefix.cpp.obj):prefix.cpp:(.text+0x328): more undefined references to `strdup' follow CMakeFiles\inkscape_base.dir/objects.a(winmain.cpp.obj):winmain.cpp:(.text+0x13): undefined reference to `fileno' CMakeFiles\inkscape_base.dir/objects.a(winmain.cpp.obj):winmain.cpp:(.text+0x23): undefined reference to `fileno' CMakeFiles\inkscape_base.dir/objects.a(winmain.cpp.obj):winmain.cpp:(.text+0xad): undefined reference to `fileno' CMakeFiles\inkscape_base.dir/objects.a(winmain.cpp.obj):winmain.cpp:(.text+0xb9): undefined reference to `dup2' CMakeFiles\inkscape_base.dir/objects.a(winmain.cpp.obj):winmain.cpp:(.text+0xdd): undefined reference to `fileno' CMakeFiles\inkscape_base.dir/objects.a(winmain.cpp.obj):winmain.cpp:(.text+0xe9): undefined reference to `dup2' CMakeFiles\inkscape_base.dir/objects.a(sp-filter.cpp.obj):sp-filter.cpp:(.text+0x42f): undefined reference to `strdup' CMakeFiles\inkscape_base.dir/objects.a(sp-filter.cpp.obj):sp-filter.cpp:(.text+0x4e2): undefined reference to `strdup' CMakeFiles\inkscape_base.dir/objects.a(sp-offset.cpp.obj):sp-offset.cpp:(.text+0x238a): undefined reference to `strdup' CMakeFiles\inkscape_base.dir/objects.a(sp-offset.cpp.obj):sp-offset.cpp:(.text+0x29d7): undefined reference to `strdup' ../lib/lib2geom_LIB.a(bezier-clipping.cpp.obj):bezier-clipping.cpp:(.text.startup+0x6f): undefined reference to `nextafter' E:/Temp/Inkscape/build/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/5.3.0/../../../../x86_64-w64-mingw32/lib/../lib/libmingwex.a(lib64_libmingwex_a-mingw_vfprintf.o):mingw_vfprintf.c:(.text+0x11): undefined reference to `_lock_file' E:/Temp/Inkscape/build/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/5.3.0/../../../../x86_64-w64-mingw32/lib/../lib/libmingwex.a(lib64_libmingwex_a-mingw_vfprintf.o):mingw_vfprintf.c:(.text+0x33): undefined reference to `_unlock_file' E:/Temp/Inkscape/build/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/5.3.0/../../../../x86_64-w64-mingw32/lib/../lib/libmingwex.a(lib64_libmingwex_a-mingw_vprintf.o):mingw_vprintf.c:(.text+0x16): undefined reference to `_lock_file' E:/Temp/Inkscape/build/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/5.3.0/../../../../x86_64-w64-mingw32/lib/../lib/libmingwex.a(lib64_libmingwex_a-mingw_vprintf.o):mingw_vprintf.c:(.text+0x44): undefined reference to `_unlock_file' collect2.exe: error: ld returned 1 exit status src\CMakeFiles\inkscape_base.dir\build.make:18858: recipe for target 'lib/libinkscape_base.dll' failed mingw32-make[2]: *** [lib/libinkscape_base.dll] Error 1 CMakeFiles\Makefile2:369: recipe for target 'src/CMakeFiles/inkscape_base.dir/all' failed mingw32-make[1]: *** [src/CMakeFiles/inkscape_base.dir/all] Error 2 Makefile:126: recipe for target 'all' failed mingw32-make: *** [all] Error 2
I assume there's an issue with linking to the standard library, but since I have no experience with CMake at all I don't have the slightest idea where to start... Anybody knows what might cause the issue and maybe even has a solution?
Best Regards, Eduard
[1] http://wiki.inkscape.org/wiki/index.php/Compiling_Inkscape_on_Windows_64-bit...
On Thu, May 26, 2016, at 04:19 PM, Eduard Braun wrote:
Hi all, I just tried to do a cmake build on win64 and (what did I expect?) it didn't work... I followed the instructions at [1] but when linking libinkscape_base.dll I got the following errors: [ 99%] Linking CXX shared library ..\lib\libinkscape_base.dll CMakeFi- les\inkscape_base.dir/objects.a(demangle.cpp.obj):demangle.cpp:(.text- +0x278): undefined reference to `strdup' CMakeFiles\inkscape_base.di- r/objects.a(xslt.cpp.obj):xslt.cpp:(.text+0x78b): undefined
Looks familiar. I'd used the batch files and a clean rebuild recently to get things going. I'll check on details shortly.
-- Jon A. Cruz jon@...18...
On Fri, May 27, 2016 at 01:19:17AM +0200, Eduard Braun wrote:
Hi all,
I just tried to do a cmake build on win64 and (what did I expect?) it didn't work...
I followed the instructions at [1] but when linking libinkscape_base.dll I got the following errors:
[ 99%] Linking CXX shared library ..\lib\libinkscape_base.dll CMakeFiles\inkscape_base.dir/objects.a(demangle.cpp.obj):demangle.cpp:(.text+0x278): undefined reference to `strdup' CMakeFiles\inkscape_base.dir/objects.a(xslt.cpp.obj):xslt.cpp:(.text+0x78b): undefined reference to `close' CMakeFiles\inkscape_base.dir/objects.a(script.cpp.obj):script.cpp:(.text+0x2a): undefined reference to `close' CMakeFiles\inkscape_base.dir/objects.a(script.cpp.obj):script.cpp:(.text+0x33): undefined reference to `unlink' CMakeFiles\inkscape_base.dir/objects.a(script.cpp.obj):script.cpp:(.text+0x166): undefined reference to `close' CMakeFiles\inkscape_base.dir/objects.a(script.cpp.obj):script.cpp:(.text+0x16f): undefined reference to `unlink' CMakeFiles\inkscape_base.dir/objects.a(script.cpp.obj):script.cpp:(.text+0x38e3): undefined reference to `close' CMakeFiles\inkscape_base.dir/objects.a(script.cpp.obj):script.cpp:(.text+0x38ed): undefined reference to `unlink' CMakeFiles\inkscape_base.dir/objects.a(script.cpp.obj):script.cpp:(.text+0x3d19): undefined reference to `close' CMakeFiles\inkscape_base.dir/objects.a(script.cpp.obj):script.cpp:(.text+0x3d23): undefined reference to `unlink' CMakeFiles\inkscape_base.dir/objects.a(script.cpp.obj):script.cpp:(.text+0x4998): undefined reference to `close' CMakeFiles\inkscape_base.dir/objects.a(emf-inout.cpp.obj):emf-inout.cpp:(.text+0xf21): undefined reference to `strdup' CMakeFiles\inkscape_base.dir/objects.a(emf-inout.cpp.obj):emf-inout.cpp:(.text+0xf82): undefined reference to `strdup' CMakeFiles\inkscape_base.dir/objects.a(emf-inout.cpp.obj):emf-inout.cpp:(.text+0x1356): undefined reference to `strdup' CMakeFiles\inkscape_base.dir/objects.a(emf-inout.cpp.obj):emf-inout.cpp:(.text+0x13e5): undefined reference to `strdup' CMakeFiles\inkscape_base.dir/objects.a(emf-inout.cpp.obj):emf-inout.cpp:(.text+0x18c3): undefined reference to `strdup' CMakeFiles\inkscape_base.dir/objects.a(emf-inout.cpp.obj):emf-inout.cpp:(.text+0x1c04): more undefined references to `strdup' follow CMakeFiles\inkscape_base.dir/objects.a(print.cpp.obj):print.cpp:(.text+0x296): undefined reference to `close' CMakeFiles\inkscape_base.dir/objects.a(print.cpp.obj):print.cpp:(.text+0x707): undefined reference to `unlink' CMakeFiles\inkscape_base.dir/objects.a(ink-comboboxentry-action.cpp.obj):ink-comboboxentry-action.cpp:(.text+0x17): undefined reference to `strdup' CMakeFiles\inkscape_base.dir/objects.a(color-profile.cpp.obj):color-profile.cpp:(.text+0x2193): undefined reference to `read' CMakeFiles\inkscape_base.dir/objects.a(color-profile.cpp.obj):color-profile.cpp:(.text+0x21d3): undefined reference to `close' CMakeFiles\inkscape_base.dir/objects.a(inkscape.cpp.obj):inkscape.cpp:(.text+0xcfa): undefined reference to `unlink' CMakeFiles\inkscape_base.dir/objects.a(prefix.cpp.obj):prefix.cpp:(.text+0x1b8): undefined reference to `strdup' CMakeFiles\inkscape_base.dir/objects.a(prefix.cpp.obj):prefix.cpp:(.text+0x348): undefined reference to `strdup' CMakeFiles\inkscape_base.dir/objects.a(prefix.cpp.obj):prefix.cpp:(.text+0x359): undefined reference to `strdup' CMakeFiles\inkscape_base.dir/objects.a(prefix.cpp.obj):prefix.cpp:(.text+0x4a2): undefined reference to `strdup' CMakeFiles\inkscape_base.dir/objects.a(prefix.cpp.obj):prefix.cpp:(.text+0x1a7): undefined reference to `strdup' CMakeFiles\inkscape_base.dir/objects.a(prefix.cpp.obj):prefix.cpp:(.text+0x328): more undefined references to `strdup' follow CMakeFiles\inkscape_base.dir/objects.a(winmain.cpp.obj):winmain.cpp:(.text+0x13): undefined reference to `fileno' CMakeFiles\inkscape_base.dir/objects.a(winmain.cpp.obj):winmain.cpp:(.text+0x23): undefined reference to `fileno' CMakeFiles\inkscape_base.dir/objects.a(winmain.cpp.obj):winmain.cpp:(.text+0xad): undefined reference to `fileno' CMakeFiles\inkscape_base.dir/objects.a(winmain.cpp.obj):winmain.cpp:(.text+0xb9): undefined reference to `dup2' CMakeFiles\inkscape_base.dir/objects.a(winmain.cpp.obj):winmain.cpp:(.text+0xdd): undefined reference to `fileno' CMakeFiles\inkscape_base.dir/objects.a(winmain.cpp.obj):winmain.cpp:(.text+0xe9): undefined reference to `dup2' CMakeFiles\inkscape_base.dir/objects.a(sp-filter.cpp.obj):sp-filter.cpp:(.text+0x42f): undefined reference to `strdup' CMakeFiles\inkscape_base.dir/objects.a(sp-filter.cpp.obj):sp-filter.cpp:(.text+0x4e2): undefined reference to `strdup' CMakeFiles\inkscape_base.dir/objects.a(sp-offset.cpp.obj):sp-offset.cpp:(.text+0x238a): undefined reference to `strdup' CMakeFiles\inkscape_base.dir/objects.a(sp-offset.cpp.obj):sp-offset.cpp:(.text+0x29d7): undefined reference to `strdup' ../lib/lib2geom_LIB.a(bezier-clipping.cpp.obj):bezier-clipping.cpp:(.text.startup+0x6f): undefined reference to `nextafter' E:/Temp/Inkscape/build/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/5.3.0/../../../../x86_64-w64-mingw32/lib/../lib/libmingwex.a(lib64_libmingwex_a-mingw_vfprintf.o):mingw_vfprintf.c:(.text+0x11): undefined reference to `_lock_file' E:/Temp/Inkscape/build/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/5.3.0/../../../../x86_64-w64-mingw32/lib/../lib/libmingwex.a(lib64_libmingwex_a-mingw_vfprintf.o):mingw_vfprintf.c:(.text+0x33): undefined reference to `_unlock_file' E:/Temp/Inkscape/build/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/5.3.0/../../../../x86_64-w64-mingw32/lib/../lib/libmingwex.a(lib64_libmingwex_a-mingw_vprintf.o):mingw_vprintf.c:(.text+0x16): undefined reference to `_lock_file' E:/Temp/Inkscape/build/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/5.3.0/../../../../x86_64-w64-mingw32/lib/../lib/libmingwex.a(lib64_libmingwex_a-mingw_vprintf.o):mingw_vprintf.c:(.text+0x44): undefined reference to `_unlock_file' collect2.exe: error: ld returned 1 exit status src\CMakeFiles\inkscape_base.dir\build.make:18858: recipe for target 'lib/libinkscape_base.dll' failed mingw32-make[2]: *** [lib/libinkscape_base.dll] Error 1 CMakeFiles\Makefile2:369: recipe for target 'src/CMakeFiles/inkscape_base.dir/all' failed mingw32-make[1]: *** [src/CMakeFiles/inkscape_base.dir/all] Error 2 Makefile:126: recipe for target 'all' failed mingw32-make: *** [all] Error 2
I assume there's an issue with linking to the standard library, but since I have no experience with CMake at all I don't have the slightest idea where to start... Anybody knows what might cause the issue and maybe even has a solution?
Btw we have an intro to cmake, for anyone new to cmake:
http://wiki.inkscape.org/wiki/index.php/Working_with_CMake
Best Regards, Eduard
[1] http://wiki.inkscape.org/wiki/index.php/Compiling_Inkscape_on_Windows_64-bit...
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic patterns at an interface-level. Reveals which users, apps, and protocols are consuming the most bandwidth. Provides multi-vendor support for NetFlow, J-Flow, sFlow and other flows. Make informed decisions using capacity planning reports. https://ad.doubleclick.net/ddm/clk/305295220;132659582;e
Inkscape-devel mailing list Inkscape-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-devel
participants (3)
-
Bryce Harrington
-
Eduard Braun
-
Jon A. Cruz