singa-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Moaz Reyad (JIRA)" <>
Subject [jira] [Created] (SINGA-272) singa::logging classes are missing from
Date Sat, 19 Nov 2016 14:18:58 GMT
Moaz Reyad created SINGA-272:

             Summary: singa::logging classes are missing from 
                 Key: SINGA-272
             Project: Singa
          Issue Type: Bug
         Environment: Linux (Ubuntu)
            Reporter: Moaz Reyad

When I try to compile a C++ file like

#include "singa/io/encoder.h"
#include "singa/io/decoder.h"

#include <iostream>
#include <sstream>
#include <algorithm>

using namespace std;
using singa::Shape;
using singa::Tensor;

int main()
	cout << "Testing..." << endl;

  singa::CSVEncoder encoder;
  singa::CSVDecoder decoder;

  singa::DecoderConf decoder_conf;

 float in_data[] = {1.23f, 4.5f, 5.1f, 3.33f, 0.44f};
  std::string in_str = "2, 1.23, 4.5, 5.1, 3.33, 0.44";
  int in_label = 2;
  size_t size = 5;

  std::vector<Tensor> input;
  Tensor data(Shape{size}, singa::kFloat32), label(Shape{1}, singa::kInt);
  data.CopyDataFromHostPtr<float>(in_data, size);
  label.CopyDataFromHostPtr<int>(&in_label, 1);

  std::string value = encoder.Encode(input);
  in_str.erase(std::remove(in_str.begin(), in_str.end(), ' '), in_str.end());

  std::vector<Tensor> output = decoder.Decode(value);
  const auto* out_data =<float>();
  const auto* out_label =<int>();

	return 0;

I get this error:

$ g++ ./test.cpp -l singa
/tmp/cc46xzSI.o: In function `singa::Block::data() const':
test.cpp:(.text._ZNK5singa5Block4dataEv[_ZNK5singa5Block4dataEv]+0x4b): undefined reference
to `singa::logging::LogMessageFatal::LogMessageFatal(char const*, int)'
test.cpp:(.text._ZNK5singa5Block4dataEv[_ZNK5singa5Block4dataEv]+0x7f): undefined reference
to `singa::logging::LogMessageFatal::~LogMessageFatal()'
test.cpp:(.text._ZNK5singa5Block4dataEv[_ZNK5singa5Block4dataEv]+0xba): undefined reference
to `singa::logging::LogMessageFatal::~LogMessageFatal()'
collect2: error: ld returned 1 exit status

I think singa::logging classes are not linked correctly in during installation.

The workaround is to do:

$g++ -DUSE_GLOG ./test.cpp -l singa -l glog

But it is better if is built with singa::logging classes.

This message was sent by Atlassian JIRA

View raw message