Opened 11 months ago

Last modified 11 months ago

#67581 assigned defect

viennacl fails to link on 10.6.8 Rosetta

Reported by: barracuda156 Owned by: stromnov (Andrey Stromnov)
Priority: Normal Milestone:
Component: ports Version: 2.8.1
Keywords: snowleopard, rosetta, powerpc Cc: mascguy (Christopher Nielsen)
Port: viennacl

Description (last modified by mascguy (Christopher Nielsen))

:info:build [100%] Linking CXX shared library libviennacl.dylib
:info:build cd .../viennacl/work/build/libviennacl && /opt/local/bin/cmake -E cmake_link_script CMakeFiles/viennacl.dir/link.txt --verbose=ON
:info:build /usr/bin/g++-4.2 -pipe -Os -DNDEBUG -arch ppc -mmacosx-version-min=10.6 -dynamiclib -Wl,-headerpad_max_install_names -L/opt/local/lib -Wl,-headerpad_max_install_names -o libviennacl.dylib -install_name /opt/local/lib/libviennacl.dylib CMakeFiles/viennacl.dir/src/backend.cpp.o CMakeFiles/viennacl.dir/src/blas1.cpp.o CMakeFiles/viennacl.dir/src/blas1_host.cpp.o CMakeFiles/viennacl.dir/src/blas1_opencl.cpp.o CMakeFiles/viennacl.dir/src/blas2.cpp.o CMakeFiles/viennacl.dir/src/blas2_host.cpp.o CMakeFiles/viennacl.dir/src/blas2_opencl.cpp.o CMakeFiles/viennacl.dir/src/blas3.cpp.o CMakeFiles/viennacl.dir/src/blas3_host.cpp.o CMakeFiles/viennacl.dir/src/blas3_opencl.cpp.o  -Wl,-rpath,/opt/local/lib -Wl,-framework,OpenCL 
:info:build ld: warning: in /System/Library/Frameworks//OpenCL.framework/OpenCL, missing required architecture ppc in file
:info:build Undefined symbols:
:info:build   "_clGetProgramInfo", referenced from:
:info:build       viennacl::ocl::context::add_program(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)in blas1.cpp.o
:info:build   "_clRetainCommandQueue", referenced from:
:info:build       viennacl::ocl::handle_inc_dec_helper<_cl_command_queue*>::inc(_cl_command_queue*&)in blas1.cpp.o
:info:build   "_clEnqueueNDRangeKernel", referenced from:
:info:build       void viennacl::ocl::enqueue<viennacl::ocl::kernel>(viennacl::ocl::kernel&, viennacl::ocl::command_queue const&)in blas1.cpp.o
:info:build   "_clGetKernelInfo", referenced from:
:info:build       viennacl::ocl::context::add_program(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)in blas1.cpp.o
:info:build   "_clEnqueueWriteBuffer", referenced from:
:info:build       viennacl::backend::opencl::memory_write(viennacl::ocl::handle<_cl_mem*>&, unsigned long, unsigned long, void const*, bool)in blas1.cpp.o
:info:build   "_clCreateBuffer", referenced from:
:info:build       viennacl::ocl::context::create_memory_without_smart_handle(unsigned long long, unsigned int, void*) constin blas1.cpp.o
:info:build   "_clEnqueueReadBuffer", referenced from:
:info:build       viennacl::backend::opencl::memory_read(viennacl::ocl::handle<_cl_mem*> const&, unsigned long, unsigned long, void*, bool)in blas1.cpp.o
:info:build   "_clRetainContext", referenced from:
:info:build       viennacl::ocl::handle_inc_dec_helper<_cl_context*>::inc(_cl_context*&)in blas1.cpp.o
:info:build   "_clCreateProgramWithSource", referenced from:
:info:build       viennacl::ocl::context::add_program(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)in blas1.cpp.o
:info:build   "_clCreateCommandQueue", referenced from:
:info:build       viennacl::ocl::context::add_queue(_cl_device_id*)    in blas1.cpp.o
:info:build   "_clGetProgramBuildInfo", referenced from:
:info:build       viennacl::ocl::context::add_program(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)in blas1.cpp.o
:info:build   "_clGetDeviceIDs", referenced from:
:info:build       viennacl::ocl::platform::devices(unsigned long long)in blas1.cpp.o
:info:build   "_clGetPlatformIDs", referenced from:
:info:build       viennacl::ocl::platform::platform(unsigned long)in blas1.cpp.o
:info:build   "_clCreateKernelsInProgram", referenced from:
:info:build       viennacl::ocl::context::add_program(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)in blas1.cpp.o
:info:build   "_clEnqueueTask", referenced from:
:info:build       void viennacl::ocl::enqueue<viennacl::ocl::kernel>(viennacl::ocl::kernel&, viennacl::ocl::command_queue const&)in blas1.cpp.o
:info:build   "_clRetainMemObject", referenced from:
:info:build       viennacl::ocl::handle_inc_dec_helper<_cl_mem*>::inc(_cl_mem*&)in blas1.cpp.o
:info:build   "_clSetKernelArg", referenced from:
:info:build       void viennacl::ocl::kernel::arg<_cl_mem*>(unsigned int, viennacl::ocl::handle<_cl_mem*> const&)in blas1.cpp.o
:info:build   "_clCreateContext", referenced from:
:info:build       viennacl::ocl::context::init_new()   in blas1.cpp.o
:info:build   "_clGetDeviceInfo", referenced from:
:info:build       viennacl::ocl::device::driver_version() constin blas1.cpp.o
:info:build   "_clBuildProgram", referenced from:
:info:build       viennacl::ocl::context::add_program(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)in blas1.cpp.o
:info:build   "_clCreateProgramWithBinary", referenced from:
:info:build       viennacl::ocl::context::add_program(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)in blas1.cpp.o
:info:build   "_clReleaseMemObject", referenced from:
:info:build       viennacl::ocl::handle_inc_dec_helper<_cl_mem*>::dec(_cl_mem*&)in blas1.cpp.o

:info:build ld: symbol(s) not found
:info:build collect2: ld returned 1 exit status
:info:build make[2]: *** [libviennacl/libviennacl.dylib] Error 1

Change History (5)

comment:1 Changed 11 months ago by mascguy (Christopher Nielsen)

Sergey, it would be better to try to summarize the issue in the description - with a (much smaller) subset of the log - and provide the full detail in an attachment.

These are not fun to scroll through, when they come through as notifications to everyone...

comment:2 Changed 11 months ago by mascguy (Christopher Nielsen)

Description: modified (diff)

comment:3 Changed 11 months ago by mascguy (Christopher Nielsen)

Description: modified (diff)

comment:4 Changed 11 months ago by mascguy (Christopher Nielsen)

In a more summarized form, it's much easier to see the bigger picture. And indeed, the following could be the culprit:

ld: warning: in /System/Library/Frameworks//OpenCL.framework/OpenCL, missing required architecture ppc in file

That might explain why the OpenCL symbols aren't being found.

Last edited 11 months ago by mascguy (Christopher Nielsen) (previous) (diff)

comment:5 Changed 11 months ago by mascguy (Christopher Nielsen)

Cc: mascguy added
Note: See TracTickets for help on using tickets.