Opened 9 years ago

Closed 9 years ago

Last modified 9 years ago

#33833 closed defect (fixed)

libiodbc: expected declaration specifiers or '...' before 'u_short'

Reported by: ryandesign (Ryan Schmidt) Owned by: nerdling (Jeremy Lavergne)
Priority: Normal Milestone:
Component: ports Version: 2.0.4
Keywords: Cc: cjones051073 (Chris Jones), Angelo.Graziosi@…, dhuffkc@…, lee@…, drkp (Dan Ports), reakinator@…, iwharry@…, xl64100@…, nitin0301@…
Port: libiodbc

Description

libiodbc is failing to build for me on Snow Leopard with Xcode 3.2.6:

../../iodbcinst/unicode.h:116: error: expected declaration specifiers or '...' before 'u_short'

Attachments (1)

libiodbc.main.log.bz2 (12.7 KB) - added by ryandesign (Ryan Schmidt) 9 years ago.

Download all attachments as: .zip

Change History (21)

Changed 9 years ago by ryandesign (Ryan Schmidt)

Attachment: libiodbc.main.log.bz2 added

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

Cc: jonesc@… Angelo.Graziosi@… added

Has duplicate #33840, and also a report emailed to myself and Jeremy privately by Angelo Graziosi.

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

Cc: dhuffkc@… added

Has duplicate #33850.

comment:3 Changed 9 years ago by ryandesign (Ryan Schmidt)

Cc: lee@… added

Has duplicate #33852.

comment:4 Changed 9 years ago by nerdling (Jeremy Lavergne)

Status: newassigned

Until I patch this, please remember you reactivate the previous version of libiodbc.

First find out what versions you already have installed via MacPorts:

port installed libiodbc

Then install libiodbc, specifying that version:

sudo port install libiodbc @3.52.7_0

comment:5 Changed 9 years ago by drkp (Dan Ports)

Cc: dports@… added

Cc Me!

comment:6 Changed 9 years ago by dhuffkc@…

I have a fresh install of Lion and XCode 4.3. I get "None of the specified ports are installed." for libiodbc.

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

For anyone experiencing this issue wanting to temporarily use an earlier version of the port instead, read wiki:howto/InstallingOlderPort.

comment:8 in reply to:  7 Changed 9 years ago by dhuffkc@…

Replying to ryandesign@…:

For anyone experiencing this issue wanting to temporarily use an earlier version of the port instead, read wiki:howto/InstallingOlderPort.

Outstanding! Thanks for the pointer.

comment:9 Changed 9 years ago by reakinator@…

Cc: reakinator@… added

Cc Me!

comment:10 in reply to:  7 Changed 9 years ago by reakinator@…

Replying to ryandesign@…:

For anyone experiencing this issue wanting to temporarily use an earlier version of the port instead, read wiki:howto/InstallingOlderPort.

Hi, just wanted to say I followed these instructions and installed libiodbc @3.52.7_0 and then was able to continue installation. However, I later had to fix a different broken dependency (oxygen-icons) and once I did and tried to resume, I get the following error related to libiodbc again:

$ sudo port install kdevelop
--->  Computing dependencies for libiodbc
--->  Building libiodbc
Error: Target org.macports.build returned: shell command failed (see log for details)
Log for libiodbc is at: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_devel_libiodbc/libiodbc/main.log
Error: Unable to upgrade port: 1
Error: Unable to execute port: upgrade kdelibs4 failed

Any ideas on how to diagnose this? I can paste the log somewhere if it helps.

comment:11 Changed 9 years ago by ryandesign (Ryan Schmidt)

Please use WikiFormatting when writing in Trac.

You can attach logs to this ticket, if you believe they will be helpful (i.e. if they relate to the bug in this ticket, but the log is different from the one already attached here). But the output you showed above shows that this was not a clean attempt, so "sudo port clean libiodbc" first.

comment:12 Changed 9 years ago by iwharry@…

Cc: iwharry@… added

Cc Me!

comment:13 in reply to:  11 ; Changed 9 years ago by reakinator@…

Replying to ryandesign@…:

Please use WikiFormatting when writing in Trac.

You can attach logs to this ticket, if you believe they will be helpful (i.e. if they relate to the bug in this ticket, but the log is different from the one already attached here). But the output you showed above shows that this was not a clean attempt, so "sudo port clean libiodbc" first.

Sorry about that, noted for the future.

The problem isn't really related to this bug report, it is related to the workaround involving installed the previous port version, then continuing on installed the kdevelop depencies - eventually macports looks for the latest version again, tries to update kdelibs4 (thereby updating libiodbc to the latest, non working version), and again I'm stuck.

Is there a missing step on that wiki you linked explaining how to make macports use the older version of a port?

comment:14 in reply to:  13 Changed 9 years ago by xl64100@…

Same here when trying to install kde4-kile :

$ sudo port install kde4-kile                                                                                                                   
--->  Computing dependencies for kde4-kile
--->  Dependencies to be installed: kate kdelibs4 soprano libiodbc raptor2 redland rasqal mhash strigi ffmpeg XviD dirac cppunit libtheora libvpx yasm schroedinger orc speex texi2html x264 virtuoso gawk oxygen-icons okular chmlib djvulibre ebook-tools convertlit libtommath libzip libspectre qimageblitz
--->  Fetching archive for libiodbc
--->  Attempting to fetch libiodbc-3.52.8_0.darwin_11.x86_64.tbz2 from http://packages.macports.org/libiodbc
--->  Fetching libiodbc
--->  Verifying checksum(s) for libiodbc
--->  Extracting libiodbc
--->  Configuring libiodbc
--->  Building libiodbc
Error: Target org.macports.build returned: shell command failed (see log for details)
Error: Failed to install libiodbc
Log for libiodbc is at: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_devel_libiodbc/libiodbc/main.log
Error: The following dependencies were not installed: kate kdelibs4 soprano libiodbc raptor2 redland rasqal mhash strigi ffmpeg XviD dirac cppunit libtheora libvpx yasm schroedinger orc speex texi2html x264 virtuoso gawk oxygen-icons okular chmlib djvulibre ebook-tools convertlit libtommath libzip libspectre qimageblitz
Error: Status 1 encountered during processing.

When i look into the log, it's still the u_short problem.

Can't install libiodbc @3.52.7_0 because macport only knows the 3.52.8 version.

XL.

comment:15 Changed 9 years ago by xl64100@…

Cc: xl64100@… added

Cc Me!

comment:16 in reply to:  15 Changed 9 years ago by xl64100@…

A workaround can be to go into libiodbc build directory and replace u_short by short into all files in iodbcinst

comment:17 Changed 9 years ago by ryandesign (Ryan Schmidt)

Resolution: fixed
Status: assignedclosed

u_short is declared in <sys/types.h>, which is included by iodbc.h, which is included by all the other files that use u_short—except for unicode.h.

After fixing that, the build fails with:

make[2]: *** No rule to make target `../iodbcadm/libiodbcadm.la', needed by `iodbcadm-gtk'.  Stop.
make[2]: *** Waiting for unfinished jobs....

Retrying a few more times without cleaning eventually succeeds, which means this is a parallel build failure; turning off parallel building lets the build succeed from the beginning.

Fixed both issues in r91539. Verified the build now succeeds on Snow Leopard x86_64 and Leopard i386.

comment:18 Changed 9 years ago by cjones051073 (Chris Jones)

Just FTR, works for me, OS X 10.7, Xcode 4.2

thanks !

Chris

comment:19 in reply to:  17 Changed 9 years ago by nitin0301@…

Hi,

I've tried installing kate for several time in last few days. I am getting the following error:

--->  Computing dependencies for kate
--->  Dependencies to be installed: kdelibs4 soprano libiodbc raptor2 redland rasqal mhash strigi ffmpeg XviD dirac cppunit lame libogg libsdl libtheora libvorbis libvpx yasm openjpeg jbigkit lcms2 schroedinger orc speex texi2html x264 virtuoso gawk oxygen-icons
--->  Building libiodbc
Error: Target org.macports.build returned: shell command failed (see log for details)
Error: Failed to install libiodbc
Log for libiodbc is at: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_devel_libiodbc/libiodbc/main.log
Error: The following dependencies were not installed: kdelibs4 soprano libiodbc raptor2 redland rasqal mhash strigi ffmpeg XviD dirac cppunit lame libogg libsdl libtheora libvorbis libvpx yasm openjpeg jbigkit lcms2 schroedinger orc speex texi2html x264 virtuoso gawk oxygen-icons
Error: Status 1 encountered during processing.

This indeed shows that the error is in the installation of "libiodbc". I am sorry but my less than normal understanding of linux system limits my understanding of the solution reported here. Do i need to install/uninstall/clean/edit some specific files? If yes, then how shall i do it? Where can I find this? Or do i need to uninstall something and try doing the installation of kate again?

Thanks.

Nitin

Replying to ryandesign@…:

u_short is declared in <sys/types.h>, which is included by iodbc.h, which is included by all the other files that use u_short—except for unicode.h.

After fixing that, the build fails with:

make[2]: *** No rule to make target `../iodbcadm/libiodbcadm.la', needed by `iodbcadm-gtk'.  Stop.
make[2]: *** Waiting for unfinished jobs....

Retrying a few more times without cleaning eventually succeeds, which means this is a parallel build failure; turning off parallel building lets the build succeed from the beginning.

Fixed both issues in r91539. Verified the build now succeeds on Snow Leopard x86_64 and Leopard i386.

comment:20 Changed 9 years ago by ryandesign (Ryan Schmidt)

Cc: nitin0301@… added

nitin0301, please remember to use WikiFormatting when writing in Trac, and to Cc yourself if you want to receive responses.

This ticket was closed 6 days ago. Please "sudo port clean libiodbc" and try again, and if you still experience difficulties, file a new ticket.

Note: See TracTickets for help on using tickets.