Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Not working on Ubuntu 18.04 #59

Open
surjit opened this issue Nov 3, 2018 · 17 comments
Open

Not working on Ubuntu 18.04 #59

surjit opened this issue Nov 3, 2018 · 17 comments

Comments

@surjit
Copy link

surjit commented Nov 3, 2018

I have compiled shc from source on Ubuntu 18.04, it does not work as it suppose to work
but its working fine on Ubuntu 16.04

Thanks,

@catb0t
Copy link

catb0t commented Nov 3, 2018

What do you mean by "it does not work as it is supposed to work"?

@surjit
Copy link
Author

surjit commented Nov 3, 2018

it suppose to work as it works on Ubuntu 16.04

--- sample.sh --
#!/bin/bash
echo " sample.sh output"
-- end sample.sh --

shc -f sample.sh

./sample.sh.x suppose to display "sample.sh output", but it does not, even terminal does not exists, have to press ctrl+c to terminate

Thanks,

@intika
Copy link
Contributor

intika commented Nov 12, 2018

can you check with the last version and with the H flag

@techdev5521
Copy link

I can confirm this same behavior.

When I try to compile sysinfo.sh (see below), I only get a stalled output when running sysinfo.sh.x

#!/bin/bash

# sysinfo.sh
# Print identifying information and info for running services

#############
# Variables #
#############

USER=$(whoami)
HOST=$(hostname)

INTERNAL_IP=$(ip addr | grep eno1 | tail -1 | awk '{print $2}' | awk -F / '{print $1}')
EXTERNAL_IP=$(curl -s ipv4.icanhazip.com)

# Print current user and hostname
echo ${USER}@${HOST}

# Print internal and external IP addresses
echo Internal IP: ${INTERNAL_IP}
echo External IP: ${EXTERNAL_IP}
$ shc -f sysinfo.sh
$ ls -l
-rwxrwxr-x 1 user user   462 Sep 13 12:50 sysinfo.sh
-rwx-wx--x 1 user user 11400 Nov 13 18:41 sysinfo.sh.x
-rw-rw-r-- 1 user user 11943 Nov 13 18:41 sysinfo.sh.x.c
$ ./sysinfo.sh.x
(Hangs...)

System Information

$ lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 18.04.1 LTS
Release:	18.04
Codename:	bionic

shc Information

$ shc -h
shc Version 3.8.9b, Generic Script Compiler
shc Copyright (c) 1994-2015 Francisco Rosales <frosal@fi.upm.es>
shc Usage: shc [-e date] [-m addr] [-i iopt] [-x cmnd] [-l lopt] [-rvDTCAh] -f script
...

@neurobin
Copy link
Owner

neurobin commented Nov 14, 2018

The version is now 4.0.0 and way different than the original 3.8.9b.

The latest stable release is 3.9.8

@rajbasnet0007
Copy link

Same Problem occured when i am executing sysinfo.sh.x in ubuntu 18.04 but same file is executing in ubuntu 16.04

@metalcated
Copy link

Yes I can confirm the same. What I did notice is that the GNU Library is 2 different versions which generally is expected between 2 major release version of any OS distro. On 2 most current patch set of Ubuntu:

16.04 (most recent patch set): libc-dev-bin / 2.23-0ubuntu11
18.04 (most recent patch set): libc-dev-bin / 2.27-3ubuntu1

Thanks

@nama08
Copy link

nama08 commented May 29, 2019

Yes I can confirm the same. What I did notice is that the GNU Library is 2 different versions which generally is expected between 2 major release version of any OS distro. On 2 most current patch set of Ubuntu:

16.04 (most recent patch set): libc-dev-bin / 2.23-0ubuntu11
18.04 (most recent patch set): libc-dev-bin / 2.27-3ubuntu1

Thanks

Hi,

So did you managed to make it work? I am in same situation on Ubuntu 18.x.

@metalcated
Copy link

Yes I can confirm the same. What I did notice is that the GNU Library is 2 different versions which generally is expected between 2 major release version of any OS distro. On 2 most current patch set of Ubuntu:
16.04 (most recent patch set): libc-dev-bin / 2.23-0ubuntu11
18.04 (most recent patch set): libc-dev-bin / 2.27-3ubuntu1
Thanks

Hi,

So did you managed to make it work? I am in same situation on Ubuntu 18.x.

Sorry, no I was not able to make this work. The fix from my point of view would be to make shc work with the new version of the GNU Library.

Thanks

@metalcated
Copy link

metalcated commented May 31, 2019

can you check with the last version and with the H flag

Not sure if anyone else tried this, but I did and I receive the following executing an shc encoded script:

Operation not permitted
Killed

Thanks

@metalcated
Copy link

Okay... hold the phone here. So with version 4.0.2, I encoded a couple scripts as such:

./shc-4.0.2/src/shc -v -r -f script_name.sh

Then ran the .x with success on the same 18.04 patch set of Ubuntu (libc-dev-bin / 2.27-3ubuntu1).

Did anything other than typos change since 4.0.1?
274e98d

Thanks

@nama08
Copy link

nama08 commented May 31, 2019

Nothing worked for me as I am stuck at "make" and hence can't compile the script.

Shall we downgrade to 16.x if shc works fine with previous releases?

@joglomedia
Copy link

The version is now 4.0.0 and way different than the original 3.8.9b.

The latest stable release is 3.9.8

Hi, what's the difference between shc released by Francisco Rosales and your version?

With these setup, I can confirm that shc is working fine on my environment (LM 19 Tara based on Ubuntu 18.04 Bionic)

Environment informations

$ lsb_release -a
No LSB modules are available.
Distributor ID: LinuxMint
Description: Linux Mint 19 Tara
Release: 19
Codename: tara

$ uname -a
Linux masedi-X450CC 4.15.0-20-generic #21-Ubuntu SMP Tue Apr 24 06:16:15 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

$ shc -h
shc Version 4.0.3, Generic Shell Script Compiler
shc GNU GPL Version 3 Md Jahidul Hamid jahidulhamid@yahoo.com

@rouben
Copy link

rouben commented Dec 21, 2019

Can you run your compiled executables that hang with strace to see which syscall they hang on?

@nama08
Copy link

nama08 commented Dec 21, 2019

I succeeded to compile the program under 16.04 as it fails on 18.0x.

@Shocker
Copy link

Shocker commented Dec 12, 2020

When compiled with debug flag you can see it's stuck in an endless loop:

argc=2
argv[0]=./my_script.x
argv[1]=1
argv[2]=<null>
getenv(xe9a6c2731f6572fa)=<null>
shll=/bin/sh
argc=5
argv[0]=./my_script.x
argv[1]=-c
argv[2]=exec './my_script.x' "$@"
argv[3]=./my_script.x
argv[4]=1
argv[5]=<null>
shll=main
argc=2
argv[0]=./my_script.x
argv[1]=1
argv[2]=<null>
getenv(xe9e10f35be4f92fa)=<null>
shll=/bin/sh
argc=5
argv[0]=./my_script.x
argv[1]=-c
argv[2]=exec './my_script.x' "$@"
argv[3]=./my_script.x
argv[4]=1
argv[5]=<null>
shll=main
argc=2
argv[0]=./my_script.x
argv[1]=1
argv[2]=<null>
getenv(xe9bcbcbd79aff2fa)=<null>
shll=/bin/sh
argc=5
argv[0]=./my_script.x
argv[1]=-c
argv[2]=exec './my_script.x' "$@"
argv[3]=./my_script.x
argv[4]=1
argv[5]=<null>
shll=main
argc=2
argv[0]=./my_script.x
argv[1]=1
argv[2]=<null>
getenv(xe9bc67704bbe12fa)=<null>
shll=/bin/sh
argc=5
argv[0]=./my_script.x
argv[1]=-c
argv[2]=exec './my_script.x' "$@"
argv[3]=./my_script.x
argv[4]=1
argv[5]=<null>
shll=main
argc=2
argv[0]=./my_script.x
argv[1]=1
argv[2]=<null>
getenv(xe9e1a6323aa732fa)=<null>
shll=/bin/sh
..........
and so on

@Nour963
Copy link

Nour963 commented Apr 13, 2021

The version is now 4.0.0 and way different than the original 3.8.9b.

The latest stable release is 3.9.8

I'm still having the same issue on ubuntu 18.04.
I don't know if anyone already noticed it, but if you download the 4.0.0 from the link of this reply, and read the content of README.md file, they are including a way to download shc version 4.0.0 from a PPA

sudo add-apt-repository ppa:neurobin/ppa
sudo apt update
sudo apt install -y shc


dpkg -s shc 

returns Version: 4.0.1-1

I reran and tested SHC on ubuntu 18.04, and the executable file finally worked as expected.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests