Opened 6 years ago
Closed 6 years ago
#58283 closed defect (fixed)
VLC @3.0.6_1 fails to build against libssh2 1.8.1 due to missing defines
Reported by: | jonnyflash-owlgod | Owned by: | RJVB (René Bertin) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.5.4 |
Keywords: | Cc: | ||
Port: | VLC |
Description (last modified by jonnyflash-owlgod)
Attempting install of VLC on iMac Late 2015, macOS 10.14.2, Xcode 10.1 build version 10B61
:error:configure Failed to configure VLC: configure failure: command execution failed :debug:configure Error code: NONE :debug:configure Backtrace: configure failure: command execution failed :debug:configure while executing :debug:configure "$procedure $targetname"
Attachments (2)
Change History (16)
comment:1 Changed 6 years ago by kencu (Ken)
Cc: | rjvbertin@… removed |
---|---|
Description: | modified (diff) |
Owner: | set to RJVB |
Status: | new → assigned |
comment:2 follow-ups: 4 5 Changed 6 years ago by kencu (Ken)
comment:3 Changed 6 years ago by jonnyflash-owlgod
Description: | modified (diff) |
---|
comment:4 Changed 6 years ago by jonnyflash-owlgod
Replying to kencu:
Replying to jonnyflash-owlgod:
;
I've run sudo port -v self update ]]] and it states {{{ ---> MacPorts base is already the latest version
This is what I got with a standard build:
:info:build Exit code: 2 :error:build Failed to build VLC: command execution failed :debug:build Error code: CHILDSTATUS 62837 2 :debug:build Backtrace: command execution failed :debug:build while executing :debug:build "system {*}$notty {*}$nice $fullcmdstring" :debug:build invoked from within :debug:build "command_exec build" :debug:build (procedure "portbuild::build_main" line 8) :debug:build invoked from within :debug:build "$procedure $targetname"
Hi,
To have any hope of helping you, we'll need to see the log that was generated during your failed build attempt as well.
Also -- if you're really still running MacPorts 2.5.2, you should update to the current version (
sudo port -v selfupdate
) and then upgrade your ports first.
Changed 6 years ago by jonnyflash-owlgod
comment:5 Changed 6 years ago by jonnyflash-owlgod
Replying to kencu:
main.log attached.
Hi,
To have any hope of helping you, we'll need to see the log that was generated during your failed build attempt as well.
Also -- if you're really still running MacPorts 2.5.2, you should update to the current version (
sudo port -v selfupdate
) and then upgrade your ports first.
comment:6 Changed 6 years ago by jonnyflash-owlgod
Version: | 2.5.2 → 2.5.4 |
---|
comment:7 Changed 6 years ago by kencu (Ken)
So this is the error:
:info:build access/sftp.c:310:14: error: use of undeclared identifier 'LIBSSH2_HOSTKEY_TYPE_ECDSA_256' :info:build case LIBSSH2_HOSTKEY_TYPE_ECDSA_256: :info:build ^ :info:build access/sftp.c:311:42: error: use of undeclared identifier 'LIBSSH2_KNOWNHOST_KEY_ECDSA_256' :info:build knownhost_fingerprint_algo = LIBSSH2_KNOWNHOST_KEY_ECDSA_256; :info:build ^ :info:build access/sftp.c:314:14: error: use of undeclared identifier 'LIBSSH2_HOSTKEY_TYPE_ECDSA_384' :info:build case LIBSSH2_HOSTKEY_TYPE_ECDSA_384: :info:build ^ :info:build access/sftp.c:315:42: error: use of undeclared identifier 'LIBSSH2_KNOWNHOST_KEY_ECDSA_384' :info:build knownhost_fingerprint_algo = LIBSSH2_KNOWNHOST_KEY_ECDSA_384; :info:build ^ :info:build access/sftp.c:318:14: error: use of undeclared identifier 'LIBSSH2_HOSTKEY_TYPE_ECDSA_521' :info:build case LIBSSH2_HOSTKEY_TYPE_ECDSA_521: :info:build ^ :info:build access/sftp.c:319:42: error: use of undeclared identifier 'LIBSSH2_KNOWNHOST_KEY_ECDSA_521' :info:build knownhost_fingerprint_algo = LIBSSH2_KNOWNHOST_KEY_ECDSA_521; :info:build ^
Those constants are supposedly guarded to prevent this kind of error, in sftp.c
:
309 #if LIBSSH2_VERSION_NUM >= 0x010801 310 case LIBSSH2_HOSTKEY_TYPE_ECDSA_256: 311 knownhost_fingerprint_algo = LIBSSH2_KNOWNHOST_KEY_ECDSA_256; 312 break; 313 314 case LIBSSH2_HOSTKEY_TYPE_ECDSA_384: 315 knownhost_fingerprint_algo = LIBSSH2_KNOWNHOST_KEY_ECDSA_384; 316 break; 317 318 case LIBSSH2_HOSTKEY_TYPE_ECDSA_521: 319 knownhost_fingerprint_algo = LIBSSH2_KNOWNHOST_KEY_ECDSA_521; 320 break; 321 #endif
And I confirm that when I try to build vlc
on my Mojave system, I get the same error. So something is amiss, indeed.
comment:8 Changed 6 years ago by kencu (Ken)
Those defines were added to libssh2
11 months ago <https://github.com/libssh2/libssh2/blame/master/include/libssh2.h> but for whatever reason, they are not in the libssh2.h
we have installed at present, which is version 1.8.1, the latest release. So...why not?
comment:9 Changed 6 years ago by kencu (Ken)
I just bumped libssh2 locally to 1.8.2, and it's not defined there either. Looks like vlc
was overly optimistic in when that define would be available.
Probably best to change the guard in sftp.c
to 0x010901
for now, and let them wait it out. I'll try that.
comment:10 Changed 6 years ago by kencu (Ken)
Yep, that did it:
$ port -v installed vlc The following ports are currently installed: VLC @3.0.6_1+quartz (active) platform='darwin 18' archs='x86_64' date='2019-03-31T23:11:16-0700'
I upload the patch for you, until Rene gets around to it. Or maybe I'll PR it a bit later on.
Changed 6 years ago by kencu (Ken)
Attachment: | patch-vlc-fix-libssh2.diff added |
---|
comment:11 Changed 6 years ago by kencu (Ken)
So if you know how to apply a patch, go right ahead. IF you don't and you want to get this done, go into your vlc
build directory like this:
cd `port work vlc` cd v*
and then edit the file in question yourself like this, using bbedit or your favourite text editor:
bbedit modules/access/sftp.c
and change that number (line 309) from Ox010801
to Ox010901
Save the file. Go out of the build directory, and away you go with your build:
cd / sudo port -v install vlc
and if you have any luck at all, you should get a clean build like I just did.
comment:12 Changed 6 years ago by kencu (Ken)
Summary: | VLC fails to configure when running with trace → VLC @3.0.6_1 fails to build against libssh2 1.8.1 due to missing defines |
---|
comment:13 Changed 6 years ago by kencu (Ken)
comment:14 Changed 6 years ago by ken-cunningham-webuse
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Hi,
To have any hope of helping you, we'll need to see the log that was generated during your failed build attempt as well.
Also -- if you're really still running MacPorts 2.5.2, you should update to the current version (
sudo port -v selfupdate
) and then upgrade your ports first.