Skip to content

Linker error attempting to use lib in Odin Lang. #659

@Muzz

Description

@Muzz

Hi Crew.

I'm trying to get this lib running in the odin ecosystem, and write some bindings, but i'm really struggling trying to even import my compiled libs correctly.

Is there specific cmake settings i am supposed to be using for such a case?

I'm not sure if this is an odin problem, or a cblosc2 problem, as this is outside of my experience level.

Errors are below..

LINK : warning LNK4098: defaultlib 'MSVCRT' conflicts with use of other libs; use /NODEFAULTLIB:library
LINK : warning LNK4217: symbol '_errno' defined in 'libucrt.lib(errno.obj)' is imported by 'libblosc2.lib(blosc2.obj)' in function 'blosc2_create_cctx'
LINK : warning LNK4217: symbol '_errno' defined in 'libucrt.lib(errno.obj)' is imported by 'libblosc2.lib(blosc2-stdio.obj)' in function 'blosc2_stdio_mmap_open'
LINK : warning LNK4217: symbol 'calloc' defined in 'libucrt.lib(calloc.obj)' is imported by 'libblosc2.lib(lz4hc.obj)' in function 'LZ4_wildCopy8'
LINK : warning LNK4217: symbol 'calloc' defined in 'libucrt.lib(calloc.obj)' is imported by 'libblosc2.lib(frame.obj)' in function 'frame_from_schunk'
LINK : warning LNK4217: symbol 'calloc' defined in 'libucrt.lib(calloc.obj)' is imported by 'libblosc2.lib(blosc2.obj)' in function 'blosc2_compress'
LINK : warning LNK4217: symbol 'calloc' defined in 'libucrt.lib(calloc.obj)' is imported by 'libblosc2.lib(schunk.obj)' in function 'blosc2_schunk_get_slice_buffer'
LINK : warning LNK4217: symbol 'calloc' defined in 'libucrt.lib(calloc.obj)' is imported by 'libblosc2.lib(b2nd.obj)' in function 'extend_shape'
LINK : warning LNK4286: symbol 'calloc' defined in 'libucrt.lib(calloc.obj)' is imported by 'libblosc2.lib(lz4.obj)'
LINK : warning LNK4286: symbol 'free' defined in 'libucrt.lib(free.obj)' is imported by 'libblosc2.lib(bitshuffle-sse2.obj)'
LINK : warning LNK4286: symbol 'free' defined in 'libucrt.lib(free.obj)' is imported by 'libblosc2.lib(bitshuffle-generic.obj)'
LINK : warning LNK4286: symbol 'free' defined in 'libucrt.lib(free.obj)' is imported by 'libblosc2.lib(sframe.obj)'
LINK : warning LNK4286: symbol 'free' defined in 'libucrt.lib(free.obj)' is imported by 'libblosc2.lib(lz4.obj)'
LINK : warning LNK4217: symbol 'free' defined in 'libucrt.lib(free.obj)' is imported by 'libblosc2.lib(lz4hc.obj)' in function 'LZ4_saveDictHC'
LINK : warning LNK4217: symbol 'free' defined in 'libucrt.lib(free.obj)' is imported by 'libblosc2.lib(frame.obj)' in function 'blosc2_frame_get_offsets'
LINK : warning LNK4286: symbol 'free' defined in 'libucrt.lib(free.obj)' is imported by 'libblosc2.lib(bitshuffle-avx2.obj)'
LINK : warning LNK4217: symbol 'free' defined in 'libucrt.lib(free.obj)' is imported by 'libblosc2.lib(blosc2.obj)' in function 'blosc2_create_cctx'
LINK : warning LNK4217: symbol 'free' defined in 'libucrt.lib(free.obj)' is imported by 'libblosc2.lib(schunk.obj)' in function 'blosc2_schunk_copy'
LINK : warning LNK4217: symbol 'free' defined in 'libucrt.lib(free.obj)' is imported by 'libblosc2.lib(blosc2-stdio.obj)' in function '_print_last_error'
LINK : warning LNK4217: symbol 'free' defined in 'libucrt.lib(free.obj)' is imported by 'libblosc2.lib(b2nd.obj)' in function 'b2nd_full'
LINK : warning LNK4286: symbol 'malloc' defined in 'libucrt.lib(malloc.obj)' is imported by 'libblosc2.lib(bitshuffle-sse2.obj)'
LINK : warning LNK4286: symbol 'malloc' defined in 'libucrt.lib(malloc.obj)' is imported by 'libblosc2.lib(bitshuffle-generic.obj)'
LINK : warning LNK4286: symbol 'malloc' defined in 'libucrt.lib(malloc.obj)' is imported by 'libblosc2.lib(sframe.obj)'
LINK : warning LNK4286: symbol 'malloc' defined in 'libucrt.lib(malloc.obj)' is imported by 'libblosc2.lib(lz4.obj)'
LINK : warning LNK4217: symbol 'malloc' defined in 'libucrt.lib(malloc.obj)' is imported by 'libblosc2.lib(lz4hc.obj)' in function 'LZ4_initStreamHC'
LINK : warning LNK4217: symbol 'malloc' defined in 'libucrt.lib(malloc.obj)' is imported by 'libblosc2.lib(frame.obj)' in function 'blosc2_frame_get_offsets'
LINK : warning LNK4286: symbol 'malloc' defined in 'libucrt.lib(malloc.obj)' is imported by 'libblosc2.lib(bitshuffle-avx2.obj)'
LINK : warning LNK4217: symbol 'malloc' defined in 'libucrt.lib(malloc.obj)' is imported by 'libblosc2.lib(blosc2.obj)' in function 'blosc2_set_maskout'
LINK : warning LNK4217: symbol 'malloc' defined in 'libucrt.lib(malloc.obj)' is imported by 'libblosc2.lib(schunk.obj)' in function 'blosc2_schunk_to_buffer'
LINK : warning LNK4217: symbol 'malloc' defined in 'libucrt.lib(malloc.obj)' is imported by 'libblosc2.lib(blosc2-stdio.obj)' in function '_print_last_error'
LINK : warning LNK4217: symbol 'malloc' defined in 'libucrt.lib(malloc.obj)' is imported by 'libblosc2.lib(b2nd.obj)' in function 'array_new'
LINK : warning LNK4286: symbol '__acrt_iob_func' defined in 'libucrt.lib(_file.obj)' is imported by 'libblosc2.lib(sframe.obj)'
LINK : warning LNK4286: symbol '__acrt_iob_func' defined in 'libucrt.lib(_file.obj)' is imported by 'libblosc2.lib(shuffle.obj)'
LINK : warning LNK4217: symbol '__acrt_iob_func' defined in 'libucrt.lib(_file.obj)' is imported by 'libblosc2.lib(trunc-prec.obj)' in function '__local_stdio_printf_options'
LINK : warning LNK4286: symbol '__acrt_iob_func' defined in 'libucrt.lib(_file.obj)' is imported by 'libblosc2.lib(stune.obj)'
LINK : warning LNK4217: symbol '__acrt_iob_func' defined in 'libucrt.lib(_file.obj)' is imported by 'libblosc2.lib(frame.obj)' in function 'frame_fill_special'
LINK : warning LNK4217: symbol '__acrt_iob_func' defined in 'libucrt.lib(_file.obj)' is imported by 'libblosc2.lib(blosc2.obj)' in function 'blosc1_set_compressor'
LINK : warning LNK4286: symbol '__acrt_iob_func' defined in 'libucrt.lib(_file.obj)' is imported by 'libblosc2.lib(schunk.obj)'
LINK : warning LNK4286: symbol '__acrt_iob_func' defined in 'libucrt.lib(_file.obj)' is imported by 'libblosc2.lib(blosc2-stdio.obj)'
LINK : warning LNK4217: symbol '__acrt_iob_func' defined in 'libucrt.lib(_file.obj)' is imported by 'libblosc2.lib(b2nd.obj)' in function 'b2nd_open_offset'
LINK : warning LNK4286: symbol '__stdio_common_vfprintf' defined in 'libucrt.lib(output.obj)' is imported by 'libblosc2.lib(sframe.obj)'
LINK : warning LNK4286: symbol '__stdio_common_vfprintf' defined in 'libucrt.lib(output.obj)' is imported by 'libblosc2.lib(shuffle.obj)'
LINK : warning LNK4217: symbol '__stdio_common_vfprintf' defined in 'libucrt.lib(output.obj)' is imported by 'libblosc2.lib(trunc-prec.obj)' in function 'truncate_precision32'
LINK : warning LNK4286: symbol '__stdio_common_vfprintf' defined in 'libucrt.lib(output.obj)' is imported by 'libblosc2.lib(stune.obj)'
LINK : warning LNK4217: symbol '__stdio_common_vfprintf' defined in 'libucrt.lib(output.obj)' is imported by 'libblosc2.lib(frame.obj)' in function 'frame_update_chunk'
LINK : warning LNK4217: symbol '__stdio_common_vfprintf' defined in 'libucrt.lib(output.obj)' is imported by 'libblosc2.lib(blosc2.obj)' in function '_vfprintf_l'
LINK : warning LNK4286: symbol '__stdio_common_vfprintf' defined in 'libucrt.lib(output.obj)' is imported by 'libblosc2.lib(schunk.obj)'
LINK : warning LNK4286: symbol '__stdio_common_vfprintf' defined in 'libucrt.lib(output.obj)' is imported by 'libblosc2.lib(blosc2-stdio.obj)'
LINK : warning LNK4217: symbol '__stdio_common_vfprintf' defined in 'libucrt.lib(output.obj)' is imported by 'libblosc2.lib(b2nd.obj)' in function 'extend_shape'
LINK : warning LNK4217: symbol '__stdio_common_vsprintf' defined in 'libucrt.lib(output.obj)' is imported by 'libblosc2.lib(blosc2.obj)' in function '_vsnprintf_l'
LINK : warning LNK4217: symbol '__stdio_common_vsprintf' defined in 'libucrt.lib(output.obj)' is imported by 'libblosc2.lib(b2nd.obj)' in function 'b2nd_full'
LINK : warning LNK4286: symbol '__stdio_common_vsprintf' defined in 'libucrt.lib(output.obj)' is imported by 'libblosc2.lib(frame.obj)'
LINK : warning LNK4286: symbol '__stdio_common_vsprintf' defined in 'libucrt.lib(output.obj)' is imported by 'libblosc2.lib(sframe.obj)'
LINK : warning LNK4217: symbol 'exit' defined in 'libucrt.lib(exit.obj)' is imported by 'libblosc2.lib(blosc2.obj)' in function 'die'
LINK : warning LNK4217: symbol '_get_osfhandle' defined in 'libucrt.lib(osfinfo.obj)' is imported by 'libblosc2.lib(blosc2-stdio.obj)' in function 'blosc2_stdio_mmap_open'
LINK : warning LNK4217: symbol 'fclose' defined in 'libucrt.lib(fclose.obj)' is imported by 'libblosc2.lib(blosc2-stdio.obj)' in function 'blosc2_stdio_close'
LINK : warning LNK4217: symbol '_fileno' defined in 'libucrt.lib(fileno.obj)' is imported by 'libblosc2.lib(blosc2-stdio.obj)' in function 'blosc2_stdio_truncate'
LINK : warning LNK4217: symbol 'fwrite' defined in 'libucrt.lib(fwrite.obj)' is imported by 'libblosc2.lib(blosc2-stdio.obj)' in function 'blosc2_stdio_write'
LINK : warning LNK4217: symbol 'qsort' defined in 'libucrt.lib(qsort.obj)' is imported by 'libblosc2.lib(b2nd.obj)' in function 'orthogonal_selection'
LINK : warning LNK4217: symbol 'qsort' defined in 'libucrt.lib(qsort.obj)' is imported by 'libblosc2.lib(frame.obj)' in function 'sw32_'
blosc2_test-blosc2-1f7d7a00a60.obj : error LNK2019: unresolved external symbol blosc2_cbuffer_validate referenced in function blosc2.validate_compressed_buffer
libblosc2.lib(blosc2.obj) : error LNK2019: unresolved external symbol __imp__strdup referenced in function blosc2_get_complib_info
OLDNAMES.lib(strdup.obi) : error LNK2001: unresolved external symbol __imp__strdup
libblosc2.lib(blosc2.obj) : error LNK2019: unresolved external symbol __imp_strerror referenced in function init_threadpool
libblosc2.lib(blosc2-stdio.obj) : error LNK2001: unresolved external symbol __imp_strerror
libblosc2.lib(blosc2.obj) : error LNK2019: unresolved external symbol __imp__aligned_free referenced in function my_free
libblosc2.lib(blosc2.obj) : error LNK2019: unresolved external symbol __imp__aligned_malloc referenced in function my_malloc
libblosc2.lib(blosc2.obj) : error LNK2019: unresolved external symbol __imp_fgets referenced in function get_libpath
libblosc2.lib(blosc2.obj) : error LNK2019: unresolved external symbol __imp__pclose referenced in function get_libpath
libblosc2.lib(blosc2.obj) : error LNK2019: unresolved external symbol __imp__popen referenced in function get_libpath
libblosc2.lib(blosc2.obj) : error LNK2019: unresolved external symbol __imp_strtol referenced in function blosc2_create_cctx
libblosc2.lib(sframe.obj) : error LNK2001: unresolved external symbol __imp_getenv
libblosc2.lib(shuffle.obj) : error LNK2001: unresolved external symbol __imp_getenv
libblosc2.lib(trunc-prec.obj) : error LNK2001: unresolved external symbol __imp_getenv
libblosc2.lib(stune.obj) : error LNK2001: unresolved external symbol __imp_getenv
libblosc2.lib(frame.obj) : error LNK2001: unresolved external symbol __imp_getenv
libblosc2.lib(blosc2.obj) : error LNK2001: unresolved external symbol __imp_getenv
libblosc2.lib(schunk.obj) : error LNK2001: unresolved external symbol __imp_getenv
libblosc2.lib(blosc2-stdio.obj) : error LNK2001: unresolved external symbol __imp_getenv
libblosc2.lib(b2nd.obj) : error LNK2001: unresolved external symbol __imp_getenv
libblosc2.lib(blosc2.obj) : error LNK2019: unresolved external symbol __imp_nan referenced in function set_nans
libblosc2.lib(blosc2.obj) : error LNK2019: unresolved external symbol __imp_nanf referenced in function set_nans
libblosc2.lib(blosc2.obj) : error LNK2019: unresolved external symbol __imp__beginthreadex referenced in function pthread_create
libblosc2.lib(blosc2.obj) : error LNK2019: unresolved external symbol __imp__wassert referenced in function blosc_c
libblosc2.lib(fastcopy.obj) : error LNK2001: unresolved external symbol __imp__wassert
libblosc2.lib(schunk.obj) : error LNK2019: unresolved external symbol __imp_strdup referenced in function blosc2_vlmeta_add
libblosc2.lib(b2nd.obj) : error LNK2001: unresolved external symbol __imp_strdup
OLDNAMES.lib(strdup.obi) : error LNK2001: unresolved external symbol __imp_strdup
libblosc2.lib(schunk.obj) : error LNK2019: unresolved external symbol __imp_realloc referenced in function blosc2_schunk_append_chunk
libblosc2.lib(b2nd.obj) : error LNK2001: unresolved external symbol __imp_realloc
libblosc2.lib(frame.obj) : error LNK2001: unresolved external symbol __imp_realloc
libblosc2.lib(schunk.obj) : error LNK2019: unresolved external symbol __imp__mkdir referenced in function blosc2_schunk_new
libblosc2.lib(schunk.obj) : error LNK2019: unresolved external symbol __imp__stat64i32 referenced in function stat
libblosc2.lib(blosc2-stdio.obj) : error LNK2019: unresolved external symbol __imp__chsize_s referenced in function blosc2_stdio_truncate
libblosc2.lib(blosc2-stdio.obj) : error LNK2019: unresolved external symbol __imp_fopen referenced in function blosc2_stdio_open
libblosc2.lib(blosc2-stdio.obj) : error LNK2019: unresolved external symbol __imp_fread referenced in function blosc2_stdio_read
libblosc2.lib(blosc2-stdio.obj) : error LNK2019: unresolved external symbol __imp__fseeki64 referenced in function blosc2_stdio_size
libblosc2.lib(blosc2-stdio.obj) : error LNK2019: unresolved external symbol __imp__ftelli64 referenced in function blosc2_stdio_size
libblosc2.lib(frame.obj) : error LNK2019: unresolved external symbol __imp__stat64 referenced in function frame_from_file_offset
libblosc2.lib(shuffle-avx2.obj) : error LNK2019: unresolved external symbol __imp_lldiv referenced in function shuffle16_tiled_avx2
libblosc2.lib(sframe.obj) : error LNK2019: unresolved external symbol __imp_remove referenced in function sframe_delete_chunk
E:\code\OPaint\particle_painter\blosc2_test.exe : fatal error LNK1120: 26 unresolved externals

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions