Opened 10 years ago

Closed 7 years ago

#44696 closed defect (fixed)

util-linux missing the 'column' command

Reported by: splaisan (Stephane Plaisance) Owned by: macports-tickets@…
Priority: Normal Milestone:
Component: ports Version: 2.3.1
Keywords: Cc: ryandesign (Ryan Carsten Schmidt), soulyeller@…
Port: util-linux

Description (last modified by ryandesign (Ryan Carsten Schmidt))

I do not have anymore 'column' (I do not know about other missing executables but I need that one and it is not present after install I uninstalled and reinstalled without more success and without error messages

# my current version

util-linux @2.22.2 (devel)
Variants:             universal

Description:          util-linux contains miscellaneous utility programs to handle file systems, consoles, partitions, and messages. This port contains ONLY
                      those parts of util-linux that run on Darwin.
Homepage:             http://freecode.com/projects/util-linux

Extract Dependencies: xz
Library Dependencies: gettext, ncurses
Platforms:            darwin
License:              GPL-2+
Maintainers:          nomaintainer@macports.org

Any help is very welcome

Change History (8)

comment:1 Changed 10 years ago by ryandesign (Ryan Carsten Schmidt)

Description: modified (diff)
Port: util-linux added

The description says "This port contains ONLY those parts of util-linux that run on Darwin." Maybe "column" does not run on Darwin.

comment:2 Changed 10 years ago by ryandesign (Ryan Carsten Schmidt)

In the case of column, the reason why the port doesn't install it may be that it is already part of OS X. Don't you have /usr/bin/column on your system? I do.

comment:3 Changed 10 years ago by splaisan (Stephane Plaisance)

I indeed had /usr/bin/column on a time machine from July which I restored (tanks for that) but it is now gone (maybe deleted by some later installation!) This is not explaining why the port package does not reinstall it and I am probably missing other exe from this same package

I also tried ./configure from the util-linux-2.25 source but this too fails with PYTHON related issues I cannot solve. If someone can feed me with a solution for the build, I would be very grateful but I know this is not really the aim of this place.

where it starts to fail in ./configure I have python2.7 perfectly running on this machine

configure: WARNING: non-linux system; not building libmount
configure: WARNING: libmount disabled; not building mount
configure: WARNING: non-linux system; not building losetup
configure: WARNING: libmount disabled; not building fsck
configure: WARNING: non-linux system; not building partx
configure: WARNING: libmount disabled; not building findmnt
configure: WARNING: libmount disabled; not building mountpoint
configure: WARNING: non-linux system; not building fallocate
configure: WARNING: non-linux system; not building unshare
checking for unshare... no
configure: WARNING: non-linux system; not building nsenter
checking for setns... no
checking for capng_apply in -lcap-ng... no
configure: WARNING: non-linux system; not building setpriv
configure: WARNING: non-linux system; not building eject
checking for crc32 in -lz... yes
configure: WARNING: non-linux system; not building fdformat
configure: WARNING: ioperm iopl function or Linux not found; not building hwclock
configure: WARNING: non-linux system; not building fstrim
configure: WARNING: non-linux system; not building swapon
configure: WARNING: non-linux system; not building lsblk
configure: WARNING: non-linux system; not building lscpu
configure: WARNING: non-linux system; not building chcpu
configure: WARNING: non-linux system; not building wdctl
configure: WARNING: non-linux system; not building blockdev
configure: WARNING: non-linux system; not building prlimit
configure: WARNING: non-linux system; not building lslocks
configure: WARNING: non-linux system; not building switch_root
checking for syscall pivot_root... no
configure: WARNING: Unable to detect syscall pivot_root.
configure: WARNING: pivot_root syscall not found; not building pivot_root
configure: WARNING: non-linux system; not building readprofile
configure: WARNING: non-linux system; not building dmesg
configure: WARNING: non-linux system; not building ctrlaltdel
configure: WARNING: non-linux system; not building fsfreeze
configure: WARNING: non-linux system; not building blkdiscard
configure: WARNING: non-linux system; not building ldattach
configure: WARNING: non-linux system; not building rtcwake
configure: WARNING: non-linux system; not building setarch
configure: WARNING: non-linux system; not building kill
configure: WARNING: non-linux system; not building raw
checking for LIBUSER... no
configure: WARNING: PAM header file not found; not building chfn_chsh
configure: WARNING: PAM header file not found; not building login
configure: WARNING: PAM header file not found; not building su
configure: WARNING: PAM header file not found; not building runuser
configure: WARNING: non-linux system; not building setterm
checking for syscall ioprio_set... no
configure: WARNING: Unable to detect syscall ioprio_set.
configure: WARNING: ioprio_set syscall not found; not building ionice
configure: WARNING: cpu_set_t type not found; not building taskset
checking for SYSTEMD... no
checking for SYSTEMD_DAEMON... no
checking for SYSTEMD_JOURNAL... no
Package systemd was not found in the pkg-config search path.
Perhaps you should add the directory containing `systemd.pc'
to the PKG_CONFIG_PATH environment variable
No package 'systemd' found
checking for a Python interpreter with version >= 2... python
checking for python... /Library/Frameworks/Python.framework/Versions/2.7/bin/python
checking for python version... 2.7
checking for python platform... darwin
checking for python script directory... ${prefix}/lib/python2.7/site-packages
checking for python extension module directory... ${exec_prefix}/lib/python2.7/site-packages
checking for PYTHON... no
configure: error: Package requirements (python-2.7) were not met:

No package 'python-2.7' found

Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

Alternatively, you may set the environment variables PYTHON_CFLAGS
and PYTHON_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.

comment:4 in reply to:  3 Changed 10 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: ryandesign@… soulyeller@… added

Replying to stephane.plaisance@…:

I indeed had /usr/bin/column on a time machine from July which I restored (tanks for that) but it is now gone (maybe deleted by some later installation!)

/usr/bin/column is on all OS X machines I have access to, from version 10.4 through 10.9. If it is missing on your system, then your OS X installation is incomplete and you should restore this file from your backups or reinstall OS X.

This is not explaining why the port package does not reinstall it and I am probably missing other exe from this same package

Certainly, no port would install anything in /usr; ports install in /opt/local (or whatever your MacPorts prefix is). Further, the util-linux port has never installed the column program. My guess was that the submitter of the port elected not to install that utility because OS X already includes it. However that does not explain why the port does install the colcrt program, which OS X also already includes.

soulyeller, when you submitted this port, how did you select which programs to have this port install?

comment:5 Changed 10 years ago by splaisan (Stephane Plaisance)

Thanks Ryan, I do know where mac ports are installed and scanned my all tree to find any column without success so I did not have any copy of it (no I do, thanks to my time machine).

Why not installing all (OSX compatible) apps and let the user adapt his PATH and aliases to use the one he wishes? I know other ports that do not care about apps already being present which allows users to get a more recent second version in /opt/local/bin (and sometime more complete version) of softs that come old in OSX /usr/bin. I hope Soulyeller can fix the installer dependency problem (and maybe add back more apps?)

Thanks in advance

comment:6 in reply to:  5 Changed 10 years ago by ryandesign (Ryan Carsten Schmidt)

soulyeller responded by email, saying:

I have forgotten the exact reason. But when I try to configure the package on my mac at that time, the compile won't work (or the test for the compiled binary does not pass) because the mac is missing some header files from the system.

Because this package was originally designed for Linux not Mac (util-linux not util-bsd/util-mac) So, what I did is to remove part of the executable so that the compilation for the who package can be done...

I did this manually and it is possible that I left out some executables that can be generated...

comment:7 Changed 10 years ago by ryandesign (Ryan Carsten Schmidt)

Replying to stephane.plaisance@…:

Why not installing all (OSX compatible) apps and let the user adapt his PATH and aliases to use the one he wishes? I know other ports that do not care about apps already being present which allows users to get a more recent second version in /opt/local/bin (and sometime more complete version) of softs that come old in OSX /usr/bin.

The question is: are the versions of the various programs contained in util-linux later versions of the same software already in OS X, or are they different implementations with differences in their interfaces? This question comes up a lot with other software, since OS X includes BSD versions of many utilities (such as awk and sed), which are different from the GNU utilities of the same name, and installing GNU utilities of the same names on an OS X system causes serious breakage of other software, which is why we don't do that in MacPorts (we prefix GNU versions with "g", as in gawk and gsed). It's not just a question of a user needing to edit their PATH for their own convenience outside of MacPorts; it's a question of whether having a more full-featured util-linux installed has the potential to cause other unrelated MacPorts ports to fail to build. We would want to avoid such a situation.

I hope Soulyeller can fix the installer dependency problem (and maybe add back more apps?)

Which installer dependency problem are you talking about? The util-linux port, such as it is, installs fine for me.

comment:8 Changed 7 years ago by kurthindenburg (Kurt Hindenburg)

Resolution: fixed
Status: newclosed

In 456e011/macports-ports:

util-linux: update to 2.29.1

Add column binary; add self as maintainer; add licenses
Portfile format changes - sort binaries installed

closes #44696

Note: See TracTickets for help on using tickets.