prometheus / prometheus/node_exporter

can't compile on Solaris/SmartOS

Open
#1,477 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Go
Stars
13.8k
Forks
2.7k
Avg merge
1d 23h
Merged PRs (30d)
8

Description

Host operating system: output of uname -a

SunOS myhostname 5.11 joyent_20190815T002608Z i86pc i386 i86pc Solaris

node_exporter version: output of node_exporter --version

N/A

node_exporter command line flags

N/A

Are you running node_exporter in Docker?

no

What did you do that produced an error?

cd ~/go/src/github.com/prometheus/node_exporter
[root@myhostname ~/go/src/github.com/prometheus/node_exporter]# time make

or
cd ~/go/src/github.com/prometheus/node_exporter
[root@myhostname ~/go/src/github.com/prometheus/node_exporter]# go build node_exporter.go

What did you expect to see?

cd ~/go/src/github.com/prometheus/node_exporter
ls -l node_exporter

What did you see instead?

[root@myhostname ~/go/src/github.com/prometheus/node_exporter]# time make

checking code style
checking license header
running check for unused/missing packages in go.mod
GO111MODULE=on go mod tidy
warning: ignoring symlink /root/go/src/github.com/prometheus/node_exporter/collector/fixtures/proc/self
warning: ignoring symlink /root/go/src/github.com/prometheus/node_exporter/collector/fixtures/sys/bus/cpu/devices/cpu0
warning: ignoring symlink /root/go/src/github.com/prometheus/node_exporter/collector/fixtures/sys/bus/cpu/devices/cpu1
warning: ignoring symlink /root/go/src/github.com/prometheus/node_exporter/collector/fixtures/sys/bus/cpu/devices/cpu2
warning: ignoring symlink /root/go/src/github.com/prometheus/node_exporter/collector/fixtures/sys/bus/cpu/devices/cpu3
warning: ignoring symlink /root/go/src/github.com/prometheus/node_exporter/collector/fixtures/sys/bus/node/devices/node0
warning: ignoring symlink /root/go/src/github.com/prometheus/node_exporter/collector/fixtures/sys/bus/node/devices/node1
warning: ignoring symlink /root/go/src/github.com/prometheus/node_exporter/collector/fixtures/sys/class/hwmon/hwmon0
warning: ignoring symlink /root/go/src/github.com/prometheus/node_exporter/collector/fixtures/sys/class/hwmon/hwmon1
warning: ignoring symlink /root/go/src/github.com/prometheus/node_exporter/collector/fixtures/sys/class/hwmon/hwmon2
warning: ignoring symlink /root/go/src/github.com/prometheus/node_exporter/collector/fixtures/sys/class/hwmon/hwmon3
warning: ignoring symlink /root/go/src/github.com/prometheus/node_exporter/collector/fixtures/sys/class/net/eth0
warning: ignoring symlink /root/go/src/github.com/prometheus/node_exporter/collector/fixtures/sys/devices/platform/applesmc.768/hwmon/hwmon2/device
warning: ignoring symlink /root/go/src/github.com/prometheus/node_exporter/collector/fixtures/sys/devices/platform/coretemp.0/hwmon/hwmon0/device
warning: ignoring symlink /root/go/src/github.com/prometheus/node_exporter/collector/fixtures/sys/devices/platform/coretemp.1/hwmon/hwmon1/device
warning: ignoring symlink /root/go/src/github.com/prometheus/node_exporter/collector/fixtures/sys/devices/system/node/node0/cpu0
warning: ignoring symlink /root/go/src/github.com/prometheus/node_exporter/collector/fixtures/sys/devices/system/node/node0/cpu1
warning: ignoring symlink /root/go/src/github.com/prometheus/node_exporter/collector/fixtures/sys/devices/system/node/node1/cpu2
warning: ignoring symlink /root/go/src/github.com/prometheus/node_exporter/collector/fixtures/sys/devices/system/node/node1/cpu3
warning: ignoring symlink /root/go/src/github.com/prometheus/node_exporter/collector/fixtures/sys/fs/bcache/deaddd54-c735-46d5-868e-f331c5fd7c74/bdev0
warning: ignoring symlink /root/go/src/github.com/prometheus/node_exporter/collector/fixtures/sys/fs/bcache/deaddd54-c735-46d5-868e-f331c5fd7c74/cache0
go: finding github.com/prometheus/procfs v0.0.0-20190529155944-65bdadfa96ae
go: downloading github.com/prometheus/procfs v0.0.0-20190529155944-65bdadfa96ae
running check for unused packages in vendor/
GO111MODULE=on go mod vendor
warning: ignoring symlink /root/go/src/github.com/prometheus/node_exporter/collector/fixtures/proc/self
warning: ignoring symlink /root/go/src/github.com/prometheus/node_exporter/collector/fixtures/sys/bus/cpu/devices/cpu0
warning: ignoring symlink /root/go/src/github.com/prometheus/node_exporter/collector/fixtures/sys/bus/cpu/devices/cpu1
warning: ignoring symlink /root/go/src/github.com/prometheus/node_exporter/collector/fixtures/sys/bus/cpu/devices/cpu2
warning: ignoring symlink /root/go/src/github.com/prometheus/node_exporter/collector/fixtures/sys/bus/cpu/devices/cpu3
warning: ignoring symlink /root/go/src/github.com/prometheus/node_exporter/collector/fixtures/sys/bus/node/devices/node0
warning: ignoring symlink /root/go/src/github.com/prometheus/node_exporter/collector/fixtures/sys/bus/node/devices/node1
warning: ignoring symlink /root/go/src/github.com/prometheus/node_exporter/collector/fixtures/sys/class/hwmon/hwmon0
warning: ignoring symlink /root/go/src/github.com/prometheus/node_exporter/collector/fixtures/sys/class/hwmon/hwmon1
warning: ignoring symlink /root/go/src/github.com/prometheus/node_exporter/collector/fixtures/sys/class/hwmon/hwmon2
warning: ignoring symlink /root/go/src/github.com/prometheus/node_exporter/collector/fixtures/sys/class/hwmon/hwmon3
warning: ignoring symlink /root/go/src/github.com/prometheus/node_exporter/collector/fixtures/sys/class/net/eth0
warning: ignoring symlink /root/go/src/github.com/prometheus/node_exporter/collector/fixtures/sys/devices/platform/applesmc.768/hwmon/hwmon2/device
warning: ignoring symlink /root/go/src/github.com/prometheus/node_exporter/collector/fixtures/sys/devices/platform/coretemp.0/hwmon/hwmon0/device
warning: ignoring symlink /root/go/src/github.com/prometheus/node_exporter/collector/fixtures/sys/devices/platform/coretemp.1/hwmon/hwmon1/device
warning: ignoring symlink /root/go/src/github.com/prometheus/node_exporter/collector/fixtures/sys/devices/system/node/node0/cpu0
warning: ignoring symlink /root/go/src/github.com/prometheus/node_exporter/collector/fixtures/sys/devices/system/node/node0/cpu1
warning: ignoring symlink /root/go/src/github.com/prometheus/node_exporter/collector/fixtures/sys/devices/system/node/node1/cpu2
warning: ignoring symlink /root/go/src/github.com/prometheus/node_exporter/collector/fixtures/sys/devices/system/node/node1/cpu3
warning: ignoring symlink /root/go/src/github.com/prometheus/node_exporter/collector/fixtures/sys/fs/bcache/deaddd54-c735-46d5-868e-f331c5fd7c74/bdev0
warning: ignoring symlink /root/go/src/github.com/prometheus/node_exporter/collector/fixtures/sys/fs/bcache/deaddd54-c735-46d5-868e-f331c5fd7c74/cache0
building binaries
GO111MODULE=on /root/go/bin/promu --config .promu-cgo.yml build --prefix /root/go/src/github.com/prometheus/node_exporter
node_exporter
github.com/sirupsen/logrus
vendor/github.com/sirupsen/logrus/terminal_check_notappengine.go:13:10: undefined: isTerminal
!! command failed: build -o /root/go/src/github.com/prometheus/node_exporter/node_exporter -ldflags -X github.com/prometheus/common/version.Version=0.18.1 -X github.com/prometheus/common/version.Revision=3db77732e925c08f675d7404a8c46466b2ece83e -X github.com/prometheus/common/version.Branch=master -X github.com/prometheus/common/version.BuildUser=root@aac55317-6c2f-618d-a2bf-f30c46b61c10 -X github.com/prometheus/common/version.BuildDate=20190909-13:54:22 -mod=vendor -a -tags 'netgo static_build' github.com/prometheus/node_exporter: exit status 2
make: *** [Makefile.common:202: common-build] Error 1

real 0m15.538s
user 0m39.502s
sys 0m15.106s

or

[root@myhostname ~/go/src/github.com/prometheus node_exporter]# go build node_exporter.go
# github.com/prometheus/node_exporter/vendor/github.com/sirupsen/logrus
vendor/github.com/sirupsen/logrus/terminal_check_notappengine.go:13:10: undefined: isTerminal

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the failure with make or go build node_exporter.go on Solaris/SmartOS, then inspect vendor/github.com/sirupsen/logrus/terminal_check_notappengine.go and the build path in Makefile.common. Determine why isTerminal is undefined on this platform; done means the node_exporter binary builds successfully on Solaris/SmartOS.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
build-system, operating-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.